Posted by Rampant Coyote on February 19, 2013
(This is a continuation of yesterday’s post from Random Gamer, a long-time community member, and frequent contributor both on the blog and in the Forums. He’s earned war stories the hard way on indie game development. You can read Part 1 here. Enjoy!)
The last time, I talked about some of the lessons I’ve learned in my attempts . This time, I’ll talk about some of the engines and tools I’ve tried, ending with the current set of tools I’ve decided to use for the new project. This isn’t an exhaustive list and I’d like to re-iterate that this is my experience – the engines that I rejected may be perfect for you and your project.
PyOgre/PythonOgre – http://python-ogre.org/ – PythonOgre is 3D engine API for the Python programming language. It is quite low level and since I’m a fan of Python, I was very excited for this. I started a very ambitious 3D space RPG in this engine, bought some pre-fab textures and 3D objects and got as far as getting the player walking around in 3D. It ground to a halt on the art pipeline – I simply couldn’t afford to pay for the assets I needed and I simply could not produce what I needed in Blender.
PyGame – http://www.pygame.org/ – PyGame is a 2D game engine for Python. I didn’t do anything serious in it, but I have used it for small games/experiments in the past.
Pyglet – http://www.pyglet.org/ – So, having considered PyGame, I ended up going with Pyglet, another 2D game engine for Python. The advantage for me was it had much better support for UI elements like buttons and for tile based games, because I was going to re-start my space RPG as a 2D old school RPG. The thinking was that the art problem would go away with the shift to 2D… but it didn’t. I was able to locate some appropriate sprites, but not nearly all the ones I needed, and nothing I could create myself was remotely close to what I had located. Once more, a project killed by lack of art – or more accurately, a lack of forethought.
Torque Game Builder – http://www.garagegames.com/products/torque-2d – I’ve tried Torque Game Builder (now Open-Sourced as Torque 2D) on a number of occasions, but I had what I thought was a project that could really use it. I came up with a concept of a procedural murder-mystery – a bunch of AIs, one of which got murdered, and the player had to figure out motivation, etc. I decided to do it in Adventure Game style and this time actually considered art pipeline right off the bat. Since it was set in a modern day manor, I built ‘sets’ using Google Sketchup, saved those as images and then ran them through a few filters to take away the obvious ‘Sketchup’-ness of it. In a burst of enthusiasm, I had purchased Torque Game Builder, but ended up deciding I really didn’t like the way it pushed you into its way of doing things. Especially with me wanting to procedural content, this was the wrong way of doing things for me. Please ignore the programmer art stick figure in the picture below – thanks!
Unity3D – http://www.unity3d.com/ – Encouraged by the use of Sketchup in the previous attempt, I decided to see about doing another 3D project, this time in Unity3D (the same engine that the new version of Frayed Knights is being done in!). This, again, petered out on art assets – while I could produce base levels with Sketchup, I simply couldn’t make the things necessary to bring the world alive. I went back to and back to and back to this approach several times, but simply couldn’t make it work.
Monkey – http://www.monkeycoder.co.nz/ – Monkey’s big advantage was its cross-platform ability (for the paid version). It was extremely enticing, but ultimately, what caused me to reject this platform was the limitations – if I was to do cross-platform, I’d be very limited in my ability to save large amounts of data and if I didn’t do cross platform, I didn’t see the advantage to Monkey. I did have some fun writing in this language, though, and if I ever write a shoot-em-up, I may take a serious look at Monkey again, since it could potentially get me onto all mobile devices + web.
Java + Slick2D – http://www.slick2d.org/ – I write Java for a living. Going to Java made sense as it allowed me to leverage all the tools (Eclipse, FindBugs, SVN integration, etc) that I am used to using every day. Slick2D is a 2D game engine that doesn’t do very much for you – it gives you a very thin skeleton and requires you to flesh it out. This was ideal for me, as I was still really interested in a procedural game. Rather than going with the murder mystery idea (though that one may resurface), I started work on a 2D Star Flight inspired space exploration/trading/combat game. This is the project I am currently working on and pushing towards a pre-pre-pre-pre-pre-alpha release, with just a touch of the core gameplay done, to see if it is actually any fun. This time, before doing any serious work, I set out a tools chain. I purchased Corel Paint Shop Pro X5 to replace GIMP – I used a very old version of PSP back in the day and always loved it and while they have concealed a lot of the old program behind a layer of cruft, once you strip that away, there is still a very decent image editor there. I stuck with using Google Sketchup with the limited models I needed (the ships and space stations, which would only be shown as informational images). I added Anime Studio Debut to create character portraits. I worked through to having images ready to import into the game before I decided that the pipelines would work. I also ensured that installers and launchers were easily built, settling on WinRun4J for the launcher and Inno Setup to create an installer. There are downsides to this approach – I’m having to re-invent the wheel a lot, as I’m not using any of the available GUI packages. I perhaps have veered to far away from letting the Game Engine take care of some things, but so far, I’m really enjoying this process and making some progress. If you’d like to keep an eye on how I’m doing, I’ve been posting occasional updates in the “Game Making” forum of this very website.
Thanks for reading! I’d be interested in what you think of my ‘lessons learned’. I’d like to re-iterate that this is only a few of the engines out there (this isn’t even an exhaustive list of the engines I’ve tried, just the ones I’ve done more significant project attempts in) and that these are based on my experiences – each of these engines have people using them successfully every day. They all have their advantages and disadvantages – I’m just hopeful these articles will help you make up your own mind.
Filed Under: Game Development, Guest Posts - Comments: 9 Comments to Read