It looks like this month I can spend some more time on coding and stuff for my games. Additionally, as my Raspberry Pi arrived last week, I have some extra motivation to make my pygame based games run on it.
Bottlecolonies running on the Raspberry Pi.
The latter is not as easy as I thought initially. With its rather limited hardware the Pi provides quite a challenge for my game Bottlecolonies to run in an acceptable speed. So I started profiling and optimizing my code which is quite an interesting experience so far.
For example, I was able to make blitting my number font three times faster by removing an unnecessary surface copy in every call. With that success I will continue to search for bottlenecks in my code to remove them. On a standard PC I wouldn’t even have noticed.
This is the hardware I’m talking about. Runs Linux.
There is a second project I haven’t forgotten yet, which makes most of the traffic on this blog. That is my Experimental Gameplay Project prototype “Infinite Floating Islands“. The prototype has been made in less than a week and was quite buggy but has over 100 downloads so far and I really like tha basic idea of it. (Just for comparison, Bottlecolonies’ postcompo versions, which are much more “finished”, have a cumulate download count of about 15)
I tried to remove the bugs of the prototype by heavy refactoring but haven’t gotten that far actually. So it looks like I have to start this again from scratch to make it stable and expand on the idea.
Still extremely buggy.
So that’s it for now. Expect some more regular updates on this blog about those projects.
I’m really happy with my entry for the actual Ludum Dare event. The game itself feels very consistent and the feedback is very good so far. Hence I’m actually working on a post-compo version of the game. It is in open beta at the moment and shall become a free puzzle strategy game for Windows, Linux and maybe Mac PCs.
I will post development updates on this blog with some spare additional posts on the Ludum Dare site.
And to give you an impression of the newest map in the game:
— This is a cross-post from the Ludum Dare Compo page —
So finally I’ve found some time to write 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 acoustic guitar to make ingame sound and music.
- I managed to make a game with quiet a consistent style and feel due to the hand drawn 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.
Already put a marker for positioning in the post compo version.
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
As I’ve already written two teasers for this post mortem I’ll stop here and just give you a visual impression of the development details:
From first prototype to post compo – with handdrawn graphics and self made guitar music.
Still not fuctional but the look of the editor’s UI is shaping up:
So what do we have here:
- Create new level
- Load level
- Save level
- Place kittens start area
- Place obstacle
- Place goal area
- Level settings
- Delete object
- Place wall
I will try to keep this editor convenient to use. For example, if one wants to place an obstacle, the mousewheel switches through the variants. Also the unplaced objects is shown at the mouse position to have full control over the placement.
Below you can see a screenshot in which I’ve beaten the test level (which is not that easy) by rescuing 52 kittens. It is necessary to save at least 50 and you start with 100. So that was really close. Somehow the scale2x algorithm of pygame doesn’t work as intended. Looks like I have to do it differently, maybe even scale the bitmap font beforehand.
For the level design a new idea is shaping up. For a campaign mode I would like to connect separate levels with entry/exit-areas to have some Metroid-like world of single screens connected. With that approach I can place “powerups” for changing swarm density, refresh time of bait, speed, etc to make later parts of the world solvable.
Nevertheless, next step for me is to make a level editor. Planning how it will work at the moment.
Actually I’m not that happy with the look of my game. As this is interferring with my motivation I invested some time thinking about the graphical presentation. Basic challenge was that the choice of the colour palette isn’t as consistent as I wanted it to be. So I remembered a nice tool I found once to help making up a colour scheme. I created a nice one with three analogic and one accent colour and made a quick mockup how the colours could be used in the game. Here is what this looked like:
To my surprise I really dig the abstract look of the rectangles in this proof of concept and I’m thinking about using exactly that for my game with kittens as sprites like before. What do you think?
Just a quick update cause I’m quite tired:
- Figured out that 2x scale wasn’t active until today. Everything looks a lot bigger now and I had to resize the screen to keep the game playable.
- Animation is implemented but really difficult to see in the buzzing kittenswarm.
- Still trying to find a nice background colour.
- Next to do is implement some status information (kittens alive, time left until next fish is placable)