Category Archives: platform

Ansca showcase: GalaxiTaxi


GalaxiTaxi is on the Ansca mobile showcase! Hopefully this will rise awareness of my little game. 🙂

Ansca Mobile is the great company behind the Corona SDK with which I programmed GalaxiTaxi. If you are an Indie Developer or just plain interested in coding with a great language (LUA) you can download it and test it for free at their website. It is easy to get into and a very rewarding experience. I learned the language, did all the assets and programmed the game in just 4 months!

Cross-platform Mobile App Development Showcase

Tagged , , ,

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!

Platform specific development

Whenever I develop for a new platform I try to see its weaknesses and strengths. Be it a gameboy, the Xbox, the iPhone or a PC or (insert your device here). The Xbox for example has a really good controller which is both precise and can be used from the couch. But since most xboxes are connected to all kinds of TVs I have to think about safety zones, PAL, non PAL, TV-resolution and so on, just to name a few problems. It is really important for me to “feel” and understand the device. Without that knowledge, I cannot develop successful games for that platform.

Every platform just does some things slightly different. This keeps it entertaining for both the developer and the player. As promised I will show a first picture of my current project GalaxiTaxi and describe the thoughts that came up with  the development on its specific platform . My idea is to release GalaxiTaxi for the iOS. This means I have to look into the iOS platform. There are currently some devices that fall under this platform. The best known is probably the iPhone4, but also iPhone3, iPhone3GS, iPhone4S, iPod4, iPad and iPad2 have to be considered. Each of these devices has slightly different screen resolutions, size, points per inch (ppi), processor power and some are even phones! Some of theses devices get carried around a lot and have players that have just a few minutes while waiting at the bus station and others are used by people lying down hours on a couch at home. But they all have a touch screen in common and the same market place (the “App Store”). From this point of view some decisions can be done:

  • The game should be easy to handle
    If the player is on a bus and the controls are getting unprecise because the bus shakes the player might blame it on the games controls.
  • The game should be understood in a very short amount of time
    If the player has only a few minutes he may not be interested in a complex learning curve
  • The game can get more complex over time
    If players are playing it at home they might not want to do the same things over and over
  • The game has to work on any resolution
    The “old” iPhone only has 320 x 480 at 163 ppi display size, while an iPad has 1024 x 768 at 132 ppi, and a iPhone4 960 × 640 at 326 ppi. This may greatly change the way the game looks on all devices. Either the game graphics are to be scaled or they have to be big enought to be clearly seen on a small device.
  • The game should be universally built
    This means a player who bought it for his phone and has a pad does probably not want to spend money again for each of his devices.
  • The save games/scores have to be accessible over all platforms
    The player might play the game on his phone on the way to work and later at home switch to another device for better visual quality.

For GalaxiTaxi I started developing mainly for the iPad. It has a reasonable resolution and from there I will scale everything as needed.

GalaxiTaxi on the iPad

Tomorrow I will talk about some of the development tools I use.