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:
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)
I’ve made a task list with subtasks for the further development of Kittenswarm. First task to do is the animation stuff. For that I’ve created a simple animation of the kitten sprite and two colour variations of the kittens:
These are scaled 4x. The original in-game sprite will be 16×16 pixels. Quite small, so I don’t need that precise animation and am quite happy with these. So have a look at my task list:
- Animated sprite (done)
- Different colours (done)
- Implement loading spritesheets
- Implement animation
- Implement facing of kittens
- Implement random coloured kittens
Still some subtasks to do to finish the animations task.