Category Archives: design

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!

The two methods of game development

Welcome back. Today I promised to talk about the methods of game development. For me there are basically two main ways to develop a game. One is called top down and the other bottom up. Top down development resembles the grand scheme. I do not worry about details (yet) and just let my mind wander, structure it and write it down. I use this technique mainly when I do contract work for the mainstream game industry as I can make a whole team understand the idea the company wants to create and delegate smaller tasks or whole branches of the idea-tree to my fellow developers. A good readable and structured design document is a must for this approach. It is time consuming and sometimes very hierarchic. In big projects this is also the normal approach as everything a team develops has to work together. You normally have to deal with some strict timelines and project plans, milestones and whatnot. The worst about this approach is that it is hard to change direction once the project has been started. Since game development sometimes is a bit like rocket science (one develops stuff that nobody might have done before) I still find it hard to put an excact date on every item that needs to be developed.

As an Indie developer I mostly prefer the second method: bottom up.
Bottom up lets me invent a game mechanic and built a game around it. I use it in my current project GalaxiTaxi which is a space taxi like game for iOS with some nice twists in it. In GalaxiTaxi everything evolves around the idea of the player beeing pulled down by gravity while transporting small aliens from one platform to the other. This is the basic gameplay mechanic. As soon as I think a bit over this basic idea I immidiately start to program that basic concept and draw some first graphics. I then play around with this basic mechanic until I find it to be satisfactory or I drop the idea completely. If the idea is fun enough, the next step is to try more and more small ideas (like adding wind or water physics) and tweaking here and there. Whenever something is not fun it gets dropped and if it is fun it may get enhanced. This does work very well in a small team or as a solo developer as long as one gets not carried away. I always try to keep my focus on completing a game in the time span I set for myself. Luckily today I can create one part of the game and release pieces and addons without much hassle whenever I have the ressources. But that will be covered on a different day. 🙂

So thanks for dropping by and reading until here. Tomorrow I will post some first pictures of GalaxiTaxi and let you in on the development process a bit more with: Developing for a specific platform.

Tagged , , , ,

From idea to game: the idea

On fairs and conventions I get asked quite often: “How do you come up with your ideas?”. Well, to be honest, they just pop up. The good thing is – it requires some training, but I think it can be learned by anybody. First thing: I open up! Ideas float around me and if I start to listen it is hard not to see them everywhere. I see ideas in movies, other games (obviously, isn’t it?), nature, people, hobbies, dreams, books, paintings, daily situations, the list goes on. I get inspired everyday – mostly because I love to see creativity everywhere. Inspiration comes to me at every corner and more often than I like at everyday places – like the shower, in the bed or on a walk. Why I don’t like this? Because sometimes I cannot shower, sleep or walk in calm, always ideas pop up and want to be written down.

Many game developers are very secretive about their ideas. But ideas are cheap – sorry to say that. Good ideas are what counts and ideas that are good and can be done are the only ones worth following. (That should not keep you from dreaming up your evil masterplan, though!) Whenever I have an idea, I sit back and think a minute or two about it. I chew it and spit it out on some piece of paper. I do not overdo it – I try to keep my idea tight. 1-3 lines should do the trick. A good idea takes time to grow. I never give in to its calling until I thought it thru. Meaning, I will think further about my idea, talking about it to my friends (sorry for that!) and making it more solid, before writing anything further down. This idea may stay with me (and anyone connected to me) for months and years to come so it better be something at least I am interested in seeing everyday.
Tomorrow I will continue about the two main methods of game developing.

Tagged , , ,

First Entry…

Since so many people seem to be interested in the process of developing games, I thought it might me a good idea to add some personal insights to this. I will try, and I can not stress this enough, try to keep this blog up to date. Since my developer day normally consists of 12 hour shifts I am not too confident, that I will always find the time to post. But let’s give it a try. Sincerly, Barghest.

Small Avatar

A small avatar picture of myself.

Tagged , ,