Category Archives: tools

Corona SDK and third party tools

Welcome back! I hope you enjoyed my little blog so far. Please feel free to comment or ask questions whenever you like. Today I will talk about my current weapon of choice:

The Corona SDK from Ansca Mobile. I stumbled upon this great development kit as I searched for means to build an iPhone/iPad game. The Corona SDK allows for instant fun with coding as it is really that easy to understand. I downloaded the trial version and was amazed by the possibilities it offered. The only thing I could not do with the trial version, was to actually build for the Apple Store! I could even built directly on a device (Apple Developer ID is still needed of course!) which is very rarely included in trial versions. I was skeptical at first as I had tried quite a few SDKs from different studios but when I finally tested it, I had an iPhone simulator screen running with a “Hello world!” in just a few seconds. This screamed “wow!” all over it. The programming language used is LUA (V 5.1) which is very easy to understand and is ideal if you have none or just basic understanding of programming. Sure C# or Objective C might be more powerful, but they are quite a hurdle to overcome if you start fresh out. I tried some of their code examples and learned the language really quick by just trying out some things. It uses Box2D physics and is mainly targeted at an audience trying to do 2D games with physics although even “boring” apps like calenders and the like can be done.

I decided I wanted to do a small game project before I try something bigger and came up with the idea of doing a gravity based game like Spacetaxi. I had some artworks from an unfinished project with some cute little aliens and I always liked space taxis. I wanted to go “bottom up” with this, so I really built the game as I went not planning greatly ahead. I improve GalaxiTaxi on a daily basis and if I am not satisfied, a feature may get overhauled or dropped entirely. I love working on my own – nobodies work is wasted but mine.

Looking through the list of third party tools for Corona I found two that proofed to be perfect: The first was Particle Candy and the second was called Lime (and whats better than a corona with lime? ;)).

Particle Candy is a very well done particle library which offers physics particles and many other effects. I always liked particle effects as they cost so much less processing power and are more flexible than animations (for explosions that is). It is easy enough to understand, but it could use some kind of editor for quickly perfectioning effects. But since Corona is interpreted it can be told to automatically restart everytime any assets are changed in the project folder. So that is no big issue.

Lime is really amazing. It is a tile-based editor library for Corona which uses tilEd made levels and reads them in for Corona. Its creator Graham Ranson is a really nice person and quick to respond on any questions I had. Lime works as advertised and is a big helper when it comes to loading in levels which can be hold a lot of information for the game. This makes it possible to give tasks to a level designer who has great possibilities on changing values and keeps the programmer from doing this. Especially for one person developers this proves to be an enormous plus as I can write the code once and load in any level I design.

The TilEd (V 0.8) editor is a tile based level editor that still has some issues with reloading assets and sometimes needs to be restarted, but overall it is a good enough tool for something that does not cost a penny. It surely is better then writing XML tables by hand. It can be used with a lot of different platforms and operating systems.

That’s it for today. I hope you found something new and worthwile to read and next I will show you how I built a level from scratch.

Tagged , , , , , ,

The tools of the trade

Welcome back. Today I want to talk about the tools I use while developing games (well I talk about the development tools for GalaxiTaxi).

The choice of the right tools and development environments is an important task. After I know on which platform I want to develop I have to adjust and learn new tools almost every time. But fortunately some tools stay the same. The first tool I use most often is a pencil and some paper – believe it or not. I use it to get my brain sorted and quickly scribble some ideas or solve math or logic problems. I always carry a pen and paper with me – even on holidays as I never know when inspiration hits me.
My second most used tool is Omnigraffle Professional for the Mac. Since I develop most of my games on a Mac (but not necessarily for the Mac) it is the best choice in mind mapping software combined with an incredibly easy to use vector drawing tool that I know of. It is close to perfect for working on my ideas and interface layouts since it does not hinder me while thinking and creating. That said it is only good enough for scribbling vector art or interfaces.
The main graphical tools I use areĀ  of course Adobe Photoshop and Illustrator. Both programs are relatively hard to master, but if I want to compete on a professional level, that is the way to go. A rather excellent addition to Photoshop is FilterForge. I use it alot when creating e.g. starmaps or textures from scratch. It combines Photoshop filters and macros to do some of the more tedious tasks more efficiently. Without such great tools, that make my life easier, I would have to spend much time working around the game than actually for the game. I hear a lot of small developers complaining about the high costs of professional tools like Photoshop. While it is true that there are many cheap alternatives to professional tools like the aforementioned (like gimp) they do not have that army of professional users in most cases or the expandability. The community are the people that make a good tool great and feed me with information on how to get most out of these tools. This is a very important truth that I learned over a long period of time: Without a dedicated community a tool is only half as good. I still need to learn Flash for animations. I think it would make my life easier, but until now I really didn’t have the time and I animate mainly using Photoshop.
For GalaxiTaxi I started programming again. I learned programming a long while ago in my life and I was not to keen to get into it again, because I designed and wrote documents or lead teams most of the time. But since the beginning of this year, I am a real lone wolf and want to do everything on my own. A task that is both interesting and challenging. To succeed I need a programming language that is easy to get into and that will bring back the fun of coding to me. I tried to get into Unity, C#, Objective C and never felt right at home. But then I discovered the Corona SDK, which really brought back the fun and was so easy to understand, that I set out to do the whole project on my own. The scripting language is LUA and I am still amazed how fast the whole process went. I started about Christmas and I have now a game with physics, cute little aliens, multipliers, stars, level unlocks, savegames, highscores, a dozent levels, tilesets, transitions and even music and sound. I am really impressed about the progress.
Speaking of music and sound. I mainly use Garageband on the Mac – another incredible tool to do both my own music and sound. For cutting and converting music and sounds I use Audacity (which is available for free on different platforms). You can listen to a small ingame track here:
For the level design of my small game I use tilEd, a not yet finished but relatively stable 2D tile editor. It still has some issues, but beats working with raw XML datasheets by great lengths.
So I have to learn a lot for my dream job, but every second I spend is just pure fun as I am doing what I really want to do for a living. Thanks for reading!

Tomorrow it is time for some infos to the Corona SDK and some third party tools I use. So, see you tomorrow!