Sunday 26 May 2013

Assimilation Update

What's up everyone? bojjenclon here with an update on Assimilation! This won't be a super long post, but slap on your seat belt and we'll take a ride through the world of game development.

In order for this post to even make sense, I have to give a little background information. Assimilation has gone through a number of revisions. It started with a cheap mock-up in Python. Then moved to C++ with SFML. After that development went to libgdx, a great Java library.

I still think libgdx is a solid library, but there were some issues with it. A personal issue is my own desire to move away from Java altogether. But more importantly, libgdx currently only allows free deployment to desktop, HTML5 (which is still imperfect), and Android. The iOS port requires MonoTouch, a product developed by Xamarin Studios. The Indie license for MonoTouch is $299. Now, Assim is our first game; our first chance to break out onto the scene. As such, pouring all our funds into a MonoTouch license with no guarantee of making that money back is a risk we can't really afford to take.

That's where Haxe NME comes in. Haxe NME is a language and compiler (well, set of compilers) that can allow you to write one set of code that runs on multiple platforms. It's based on Flash/ActionScript3, which makes sense as Haxe was originally a flash alternative. It supports Android and iOS compilation without extra strings attached. There are some quirks, and certain things will take some effort to port over, but overall I think it will be worth it.

In addition, since Haxe was originally mostly used for Flash, compiling to a Flash game is supported. This means that we should be able to release a web based Flash demo of Assim for people to try out. This is great news, as it will allow players to get a feel for the game before it's released, as well as allow us to get input on how we can improve things.

Assuming nothing goes wrong with the porting process, this will be the language/framework we stick with. Hopefully everything goes smoothly. As of right now, I don't see any reasons why it wouldn't.

I have most of the game logic ported over, meaning technically the levels are playable right now. However, the UI still needs work. One of the most important (and most daunting) tasks will be porting over the in game map editor logic as well as getting it to work with the new and improved UI. The new map editor will look something like this:


The buttons in the bottom left are for movement around the map and more than likely won't be displayed in the actual editor. As you can see, it's relatively compact and leaves plenty of room for the user to make a map. This is the same editor we use in development, so the user can literally make anything they see in game. The panel holding the various tools can be hidden to allow access to that area of the map.

So that about sums it up. I'm going to keep trying my best to get this port finished so I can work out the things that need to be done in general. Then we can finally get this game shipped! Hope you all enjoyed this update, we'll post more as we get closer to release.