Posts Tagged ‘python’
Monxcleyr Productions is in for Ludum Dare 25′s Jam!
Our tools of the trade:
Language/IDE: Python 2.7, Pyscripter/Notepad++
Libraries: Pygame, Possibly our #HJ Engine and Py2exe to create Windows builds
Graphics: Photoshop, Paint.net
And we’ll be creating timelapses with Chronolapse to upload later.
This is fairly unrelated to Ludum Dare, but it will involve me coding a game, and I I’d just see if any of you were interested in trying it when it’s done or have any ideas for me.
The general idea is that I’ve got an assignment for history about the Federation (the Federation of Australia) and it’s a creative assignment so I can write a computer game as my assignment. My plan is to create a game where you have to run a certain distance and there’s some power-ups and obstacles. Hurdles would slow you down if you don’t jump over them (they will have text in them which say things which impended Australia from federating) and there’d be true/false icons which you could either jump to collect if it’s true or not collect if it’s false. The idea would be to teach people about the Federation (my classmates and I will be playing each other’s games) so I would be putting facts about Federation in it in the power-ups and the hurdles.
If you have any suggestions, that would be appreciated.
I just realized that I didn’t make a post-mortem! Well, I knew I hadn’t, but it’s been on my to-do list since the competition ended and there’s only about an hour left, so.. here goes!
I made a nice little arcade-inspired shmup called Neurochronic Alien Fighter: Evolution!, a game where you fight aliens as they fly towards you where you slowly become more powerful as you adapt to fighting them while they also adapt to fight better against you.
At least, that was the plan. Unfortunately, my implementation of the evolution mechanics (that had the aliens mate with one another while offscreen) made all the enemies go from multicolored creatures with strengths and weaknesses into gray generic blobs! And while that made intriguing social commentary, the gameplay definitely suffered. It reminded me of a quote by Jony Ive about the problem with focus groups: “They just ensure that you don’t offend anyone, and produce bland inoffensive products.”
With only a few hours left, I had to remove the evolution mechanics, and quickly write up a replacement: using power-ups that slowly evolve both you and the enemy over time into your most powerful versions. I sacrificed the better use of the theme for better gameplay, because I refuse to make a game that isn’t fun.
As you can probably guess, I put most of my effort tweaking the game mechanics. The game turned out very fun and addicting!
A huge mistake that I made in this competition was essentially attempting to make my game *and* learn a game engine at the same time. I had played around with pygame several months ago, and Python is a fast language to code scripts in, so I figured it would be a perfect choice for LD! In reality, it turned out to take up around a few hours total of my time to figure things out, which otherwise would not be a problem, but with only 48 hours to work with, was a big mistake.
Another downside with the engine was that I found out that pygame doesn’t support using the GPU, so even something as simple as scrolling backgrounds is difficult for it. I’ve been told I should use pyglet as a replacement library, but I haven’t looked into it yet. I will appreciate comments on here/twitter if anyone has any information about this.
Overall, my first LD was an amazing experience and I’ll definitely make an attempt to join in more often!
Finally I found some time to make a post-mortem for “Watercolor Wheel Evolution“:
What went well:
- Letting my daughter with her now 3 years doing the art. She did incredibly well, had fun doing this (as every time she can make some watercolor pictures), and was really impressed with the result in the game. Seeing her self painted creatures move along the screen put a really big smile on her face. Is there a better way to give your child some insight into your game-making hobby?
- Being in the jam – not only due to the teamwork but to have this extra day. This is quite valuable with wife and two children at home.
- Fixing late bugs. Wow, it is quite scary everytime what strange bugs will appear if your game is almost finished and the deadline approaching. But I could fix them.
- Noticing the progress I’ve made since my first LD one year ago. This is one of the greatest aspects of this time restricted jams. You really get a hang on efficient techniques for creating and developing and also improve in code structuring even if it’s still quite a mess compared with a project in a more extended time frame. The sound/music recording, which cost me some time last LD, was merely a routine this time.
What went wrong:
- The game mechanics. I totally missed the point with giving the player a good incentive doing the things the player should do to make the mechanics work. I don’t know if that was due to lack of testing the game or a misconception of the whole mechanics.
- Social (real) life. My wife fled with the children on sunday noon as I was too much into game development. Returned in the evening .
So if you like to, you can play and rate here.
The family team’s project is done. Almost all of the arts is by my little daughter (almost 3). She also had some impact on the strange name of the game .
Game mechanics are finally coming together, plus I’ve cleaned up a lot of the interface. Still haven’t really worked much on actual content though Let me run through real quick and list off everything that is currently working…
Start a new game, travel around the map, initiate battle, use attacks, flee, deal and receive damage, move use counters being limited and depleting properly for you and enemies, kill/die, win/lose battles, gain item drops based on drop rates, use items from inventory, view inventory…
What are the key things still missing, mechanics-wise? Switching active Evomemes in battle, Save/load game, attack accuracy/evasion, exp gain if it’s not item-based… that’s all I’m coming up with. We’ll see how much I can get done with ~3 hours remaining. A lot of stuff I could try to show you, but… no screenshot for now. Sorry!
Well, today got off to a rough start. Low energy, lots of distractions… Still, I’m making progress. I’ve got the core combat mechanics done with, and I’ve finally gotten my damage formula tweak’d to something that seems right to me. Needs a lot of messages to the player so s/he can know what’s going on, but the functions themselves are working.
Next up, exp gain, item drops, and the whole inventory system! Eek! That’s a lot for roughly 7 hours. GO GO GO!
Also, have a screenshot of a functioning battle:
So this is the current progress of my game. All the arts is by my daughter, who will become 3 next week, except the player circle. She refused to try drawing a circle even if she’d done before with the yellow one. *sigh*
Some of the stuff swirling around should be collected by the player, some should be avoided. What you collect in a given time will decide your next stage, which resembles evolution into the next generation.
I can feel myself slipping away as I type these words, but I am sticking to my plan and posting a screenshot before I pass out. I’m about half-way done with combat… still need the actual damage calculations worked out… might do it half-way for now, and come back and implement elements/weaknesses/whatever later, if time permits.
But actually, first thing’s first. Screenshot and sleep. I’ll have about 12 hours left tomorrow, plus or minus… who knows how much content I’ll get to add… not nearly so much as I’d hoped, but… ah well! Good night, LD Crew, and good luck!
So, we’re half way there already, huh? Alright, I can live with that. I got hung up for a while and didn’t make much progress for since the last update. I’ve got the transition into battle ready. I generate the enemy’s evomemes and deal with pre- and post-battle dialog. Battle itself should be hard to implement… it’s mostly some numbers games, right? Anyway, I’m gonna try to get a couple more hours’ work done tonight in case I’m interrupted tomorrow. I still wanna get all the main mechanics done tonight if possible. We’ll see what happens. I’ll try to put out one more update before I go to bed if I can manage not to suddenly crash.
Also, next time I’ll have a screenshot, I promise!
Just trying to build a habit of checking in every few hours. Still plodding along, but no major breakthroughs yet. I’m building up the infrastructure for my critters – I’m calling them Evomemes. Figured out what stats they’ll have… working on figuring out formulas for leveling them up… then I’ll put a couple attacks in, and build up a combat system.
Did I mention in the last update, I can’t remember… my goal is to get ALL of the game mechanics working and tested TONIGHT, which’ll leave me all day tomorrow to fill out the game with actual content! One of my personal goals for this LD is to get enough content that I can personally consider it a “Full Game”, or close to it. Usually with LD you end up with one or two tiny levels, and that’s it. I want more! I want full RPG goodness! I’m not honestly expecting something on that scale this weekend, but I’m at least striving to push my game in that direction. GO GO GO!!!
Hopefully by the next update I’ll be able to show you a stat screen and/or a battle screen!
Another short update – Making slow but steady-ish progress. I’ve got the very basics of displaying and moving between rooms working. I would post screenshots, but… it’s a text based game! I figure there’s only so much of that sort of thing anyone can handle, so I’ll wait until I have a lot to show until I use up your patience. Next step is to allow for rooms to add context-based commands to the prompt, such as talking to a person in the room, or battling something, or… whatever? After that, it’ll be time to tackle actually creating the ‘mons and building the inventory, status, and battle systems! Eek!
Gooood morning, Ludum Dare!!!~
So, my first act of last night, after the unveiling of the theme, was to go to sleep. Sign of being old? Perhaps. Nonetheless, I’m awake now and the juices of creativity are percolating up into my brains.
For those just tuning in, my self-made restriction for this LD is to use a base install of Python and NOTHING ELSE! I’ll be sticking with very simple programming techniques as well. The idea behind this is to show my students that you can make a fun game with only a couple weeks of programming know-how. I guess that means my game better be fun!
So what am I making then? Well, text-based, for sure. Evolution, hmm?
Well, my first idea, and the one I’m sticking with, is something at least loosely based off of Pokemon. I know from a quick scan of other people’s posts that this is by no means a unique idea, nor would I expect it to be… but it’s something I think my kids can relate to even in text form.
Now… how to translate the traveling, and collecting of ‘mon into a non-tedious text game? We’ll see… I’ve gotta start somewhere though!
Here’s my first screen shot:
Just kidding, that’s my entry Unmutate from Pyweek 13.
I haven’t made anything for this LD yet, but I might possibly make a sequel or remake of that game.
It just seems sorta silly that the theme for Pyweek 13 was Mutate and now the theme for LD is Evolution, but whatever.
So, quick story: I’m now a high school teacher! Today was my first class ever! Hooray! What am I teaching, you may ask? Why Game Design, of course! Now, my class will only have met two times come this weekend, so I doubt any of my students will be able to participate, but I wanted to use LD24 as an opportunity to show that how much you can do even with only the TINIEST amount of programming know-how and time. That being said; here’s the tools I’ll be using this weekend:
NOTHING ELSE WHATSOEVER!
That’s right! No external libraries, not even PyGame. No Sound. No graphics. I’ll also ONLY use the most basic techniques in programming; those I expect to cover in the first two weeks of class. This means the only programming constructs I’ll use are:
Basic text/number I/O, basic math and conditional structures, basic if/else, simple variables types (INT/STRING/maybe FLOAT), basic looping structures (For… maybe WHILE). I may through in an “import random”… and then two 2nd-week concepts I may use for sanity’s sake; simple function declarations and lists.
My goal is to create a fun, text-based game in 48 that can show my students what sorts of power is at your fingertips even with only a few hours of programming experience if you are creative about it. Once they’ve covered all the topics I mentioned above, I’ll give them 2 weeks to create a game of their own, and we’ll see what they can come up with
Actually I’m really considering using this Raspberry Pi as my new target platform for game jams like Ludum Dare. The technical specifications are rather limited which gives an extra challenge. As I’ve already been using mostly python and pygame for game development this should work without much extra effort. Next I’m going to test if my previous entries run on it. (This should not prevent me from having additional Windows builds of my games )
On other platform-related news, some French guy that goes with the webname “Loopingstar” has experimented with the basic idea of my LD23 game Bottlecolonies and made a port to Flash with some extras added. I especially like the variations in buildings and clearer visual feedbak of points earned/lost while placing buildings. You can give it a try here: http://loopingstar.fr/colonies/colonies_v2.swf
As promised, here comes the first post-compo version of my LD 23 game Bottlecolonies. I evaluated a lot of the feedback you gave me on my LD entry and tried to improve the game with different additions and changes. If you click the link below, you can see that this is just the first beta version for the finalized game. At the moment there is only the windows executable. I’m working on a Linux port but have to try out if the subfolder works first. The changes from the LD version so far:
- Add: +1 bonus point if a building is placed next to any park
- Change: -6 point for discarding a tile
- Add: second music track
- Add: new map, selectable as level 3. The old level 3 is hidden behind level 2. If you beat level 2 you automatically will play the old level 3 next.
- Change: goal scores for prosperous colonies changed for new bonus points
- Change: subfolder for assets
- Add: elliptic marker where next tile will be placed
Further updates will include:
- More maps
- At least one more music track
- Additional buildings for the end game to make the game more interesting
- Saved highscore per level
Even if you have played it before, you should try it out again. The changes in the score system have a big impact on available strategies. In case you haven’t rated the original version yet, you can find it here.
And last a screenshot of the new map:
So finally I’ve found some time to wrtite up my impressions of the past Ludum Dare event. As ever it was a big pleasure to participate and I’m really impressed with the sheer amount of games being made and the overall quality which feels a little higher than the last times.
Now about my game “Bottlecolonies” which you can play here.
- I finished everything I planned to minimally have in the game in time.
- The creation of a windows executable with py2exe worked immediately this time, thanks to experience from past Ludum Dares.
- I’m pretty happy that I really took my accoustic guitar to make ingame sound and music.
- I managed to make a game with quiet a consistent style and feel due to the handdrawn graphics.
- I’m totally happy with the game I’ve made. With my third LD this time I noticed how much my self-organisation and the outcome progressed from event to event.
- I totally underestimated the effort even to record only a small music track with a real instrument.
- There are still some small issues that could have been solved within time (especially some sort of marker where one builds).
- To solve the challenges stated in the levels requires more training and strategic thinking than I expected. It’s the standard issue that usually the developer himself is the most experienced player of his game and tends to make it too difficult.
To sum it up
You can see I’m really glad with my LD entry this time. I’m very confident now with my tools (especially python/pygame) and know roughly how much time different steps in development needs and what I’m able to achieve in 48 hours. I think that is the most valuable experience you get from an event like this.
Additionally the reception of my game has been quite positive. Hence I’ll put some more effort in a post compo version which shall at least include:
- A marker for the building position (done)
- Additional music (one new track already recorded)
- More levels
- Highscores of past plays
Here is a quick teaser for my post mortem to come when I have more time to write things up (probably middle/end of this week).
These two screenshot nicely illustrate the progress made from first prototype (about 4 hrs) to finished game (about 18 hrs).
You can give the game a try HERE.