December 2012 blog archive

This page contains all the blog posts from december 2012. To read the most recent blog posts, click here.

30/12 - Unity preparations

Taking just any of my existing flash games and turning them into Unity games might actually take a fair bit more work than expected. It's not just a matter of working with a different graphical engine, but also optimizing for that engine. I know Unity well enough right now, to turn any of my games into Unity versions. These games will work, but they won't be as optimized as they should be.

For flash games, keeping filesize down is important. This not only means using compressed graphics, but setting those up so that they can be used for different purposes, and where possible, generate additional graphics in the game so they don't have to be included. The interfaces in HD Xyth, for example are for the most part drawn at runtime, only a few bits (such as the corners of the windows & panels) were included with the game.
Flash makes it easy to create new graphics at runtime, and generally this works fast enough not to slow down the game too much. In Unity (and XNA), this is a slower and more complex process.

This means that the graphics i prepare and optimize for a Flash game aren't always optimized or even usable in Unity. Setting up all the images for a single game, usually combined in a number of spritesheets, takes a fair bit of time and planning. So if i want to lower the amount of time needed to turn an existing flash game into a Unity game, i have to look at how i prepare images for the flash version and see if i can come up with a system that works equally well for flash and for Unity.

Another element that's very different in Unity, is how texts are rendered. When i started making games in XNA, i wasn't too impressed with the built-in text renderer. Switching to Flash was a bit of a revelation when it came to what Flash offered in text rendering capabilities and flexibility (even though text rendering is quite slow). Unity has a few ways of rendering text, but none are really suitable for a game like HD Xyth for instance, where texts have always been meticulously laid out.
The only solution here is to write my own text renderer. While this will take a bit of work, in the long run this will actually offer more flexibility than Flash's text renderer.

23/12 - Adventures in Unity

I'm currently turning a small flash game into a Unity game. Primarily so i can learn to use Unity and see in what ways i can optimize the flash versions of future games so transfering them to Unity goes with minimal additional work.
Most of the work goes into the graphics - Unity is a 3D system while in flash, i work with pixels that are prepared in memory, before being drawn to the screen. Using a 3D engine to create 2D games is definately possible, but it takes a bit of extra work in setting things up, but there should be reasonable performance gain.

Short term, i'll be evaluating Unity, but so far it's great to work with and the most important thing is that it supports a large number of different platforms (Windows, mac, linux and webplayer by default, ios, android and flash as expansions).
For small games i'll probably stick with flash, as these can be made relatively quickly in flash. For medium games, i might create a flash version and a unity version. Larger games are probably best off being made entirely in unity. Unity does offer a plugin that can create flash version of a unity game, but i haven't tested it yet and it's not free either. The ideal workflow would be to make a single version of the game which is compatible with a large number of platforms.

16/12 - First version of a new game

My next game, a relatively small game somewhat based on arkanoid, is as good as complete. It's not intended to be released anytime soon, but will serve as the base of some Unity tests i'll be doing, possibly starting next week already.

Having a fully functional example game ready will help in transfering existing mechanics over to Unity, so i can focus on learning the workflow and interface of Unity instead of having to focus on creating the mechanics for the game.

09/12 - Getting started on new games

HD Xyth still requires some occasional work and maintenance, but i've already begun work on the next game. After working on a single title for so long, i'll be focussing on a number of smaller games for the near future.

One of these small games will also be used as a testcase for developing games in Unity for standalone versions of my games instead of adobe AIR. The workflow in Unity is a fair bit different compared to how i've been doing flash games, but Unity is better suited for larger or more complex games. The general idea is that i keep on creating flash games, and providing AIR versions if these are small games, or Unity versions for larger games.

02/12 - HD Xyth standalone

The standalone AIR version of HD Xyth is out and can be downloaded here :

This version will be updated alongside the flash version of the game. It's pretty much identical to the flash version, but sound and images are not compressed unlike the flash version, where filesize must be kept as small as possible. The download is an installer that can detect older versions of the game on your computer and will overwrite them if needed. This version works on both Mac and Windows computers.

HD Xyth has been out for a week now, and so far, player feedback has been mostly positive. HD Xyth scored a 3rd place on Newgrounds and was 2nd place for the last week of november on Kongregate and 6th in the monthly rankings for november. Overall the best scores for any of my games thus far.