Free-form level editor
September 3, 2009 at 7:33 pm | In Game development, Level-design, Programming, Python | 3 CommentsThe last week or two I’ve been working on a 2D level editor. I can drag and drop images onto it to create free-form levels (beware, placeholder art):

It’s meant for a platformer game, but it’s fairly easy to use the output for a different kind of game. Like, say, a strategy game, or just as a title screen layout file.
On the right side, there’s the bare-bone UI: the layer selection and visibility toggle buttons, the delete-this-layer button, and of course a button for adding layers. The red lines are collision lines – I’ve experimented with that a while ago and it turned out to work pretty well, so I’m migrating parts of my collision-line editor/test program to this new editor. On the right side, you can(‘t) see a hidden layer. The blue lines are the grid – which can be toggled and it’s granularity can be fine-tuned. It’s not used for snapping yet, so it’s mostly there to give me some sense of place and size.
I’m still working on various features, but it’s already a useful tool. I wrote it in Python, using Pygame (for the rendering and input handling), pgu (for the buttons) and pywin32 (for the drag and drop support). It has taken me 4 or 5 days so far, a couple of hours each day. :)
Programming in Python is fun!
October 10, 2008 at 5:04 pm | In Game development, Programming | 2 CommentsTags: productivity, Python, tools
The last few months I’ve been doing more and more with Python. While the games I work on are mostly written in C++, there’s still a lot of room for me to use Python. For example, when dealing with file conversions, data checking, automating processes, and so on.
Two weeks ago, I wrote a tool that packs smaller images into larger ones. I first prototyped the packing algorithm in Python and then translated it to C#, which I used for the tool itself.
Last week, within a few days, I was able to process, verify and preview almost 2000 files for one of our games, converting them from XML into a tight binary format, all packed into custom archive files to keep things easy for the file-system. I spent most of my time thinking about the file formats and the required checks. Writing the tools took little time. Continue reading Programming in Python is fun!…
Checking out Neko Media Engine
February 25, 2008 at 12:08 am | In Flash games, Game development, HaXe, Programming | Leave a CommentTags: HaXe, neash, neko, nme, sdl
I recently stumbled across Neko Media Engine, a SDL wrapper for haXe. I decided to port one of my Flash games to NME, to make it a stand-alone application. I got it up and running after modifying my framework for a few hours. It turns out that, with relatively few changes, my framework can be used for ‘normal’ games just as well. I’m starting to like haXe more and more now, especially with such libraries around.
The developer of NME, Lee Sylvester, has recently teamed up with Hugh Sanderson to create Neash: a Neko library that provides the Flash API for Neko applications. In other words, we’ll be able to use (almost) the same haXe code for both Flash and Neko applications… That sounds interesting!
Final internship has started…
February 13, 2008 at 11:05 pm | In Flash games, Game development, HaXe, Programming, Triangle Studios | Leave a CommentTags: Flash games, Game development, game-dev, internship, Triangle Studios
Last week I started with my final internship. It’s, again, at Triangle Studios. This time, there’s no mobile games to work on though, but Nintendo DS titles. I’m working on something pretty interesting, but for now that’s about as much as I can tell.
As for spare-time development, I plan to release AI Wars next week after some minor fix-ups. I’m then going to continue work on the surprize I mentioned last month. After that, I’ll either do another small project in-between or I’ll immediatly take up work on Aural Fighter.
The framework I’ve been building for Aural Fighter has been tweaked and refactored all the way through AI Wars, the surprize project and a few other prototypes. I recently streamlined the rendering system: animated sprites are now simply a matter of creating a single sprite sheet and writing an animation data text file, rather than creating multiple numbered files. At compile-time, this animation data is compiled into the .swf file. The sprite loading process then attaches that data to the loaded sprite. There are still a few things I’m working on, such as color remapping and fading filters, but the framework is steadily moving towards a point where creating new games doesn’t require me to add new functionality anymore. Which means I can focus more on the actual games and less on the technology behind them. Which is good. 
AI Wars is looking for AI agents!
February 5, 2008 at 5:44 pm | In Flash games, Game development, HaXe, Programming | 2 CommentsTags: AI, Flash games, Game development, games, HaXe, turn-based strategy
AI Wars is done
It’s finished. The Flash frontend and Neko backend are done, and my classmates have produced a nice AI client for demonstration purposes. The whole package is roughly 0.5 MB.

To make things a little easier, I’ve written a batch file that starts both the backend and the frontend. All that’s left then is connecting the AI clients and starting the game.
The gameplay
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.