ContributionsDevelopmentGame DevelopmentIndieOnlinePostmortem

AVION Checkpoint: Recreating a Childhood Game In-Between a Regular Job

November 20, 2014 — by Industry Contributions

main

ContributionsDevelopmentGame DevelopmentIndieOnlinePostmortem

AVION Checkpoint: Recreating a Childhood Game In-Between a Regular Job

November 20, 2014 — by Industry Contributions

It was 1983; Ivan Mandic was in the second grade, when his father’s friend knocked on the door and came in with something wrapped in a blanket. A small black box with a rainbow, lots of cables, and a cassette player. A few days later, Ivan decided to create his first game. 10 circle(10,10,x), 20 x = x + 2, 30 goto 10 - a sample code from Spectrum BASIC. “There were no books about ZX SPECTRUM in book stores, but Father found one and rewrote it by hand. The whole book, including images,” Ivan recalls as he shares the story of his game, AVION Checkpoint.


avion.exe

In a few years, I bought a computer with my own money (no Commodore 64, it was Amstrad CPC 464). And in 1993, I turned on my first PC (286, 20MHz, 20MB HDD, 640KB RAM, Hercules), and this is very important: on the hard drive, I found a game called avion.exe. For a few days, I had been enjoying flying a small airplane up and down and throwing bombs on enemy bunkers. But while playing around with MS-DOS commands, I deleted command.com. It was a disaster. Darkness. End of humanity. No one knew what to do and whom to ask. After a couple of days in service, everything was fine, except one crucial thing: there was no avion.exe on the C: drive. From that day, I had the game in my mind. I’ve tried to make something similar in Pascal, Modula2, Delphi, C, C++, Java, JavaScript…no luck…




Знімок екрана 2014-11-05 о 03.16.25
Sopwith, David L. Clark, 1984., 29kB, MSDos, long-lasting inspiration for AVION Checkpoint, http://sopwith.org

Because of 3D

In February 2014, for the umpteenth time, I decided to download Unity3D, but this time, I was prepared. I had downloaded some gamedev tutorials from YouTube (about 60GB) and already knew what a game object was, a prefab, how to rotate it, how to get input from keyboard, what Vector3D was, and how to make a Space Invaders clone. I had read anything and everything about Unity3D and game development. I got lots of experience with 3D Studio, so already had a clue about 3D objects, transforms and textures, which was all helpful.

In a few months and countless number of versions, I came up with a game similar to the one you can try on Google Play. Many people asked me: “Why the hell 3D, all good and successful games are 2D, have you tried Angry Birds?”, and every time my answer was: Because I need to make it 3D. It has to be 3D. I see it in 3D. End of story. This was the only time I didn’t want to listen to good and friendly advice.

development-drawings
Some details of level design

Problems: Variety of Devices, Sound, iOS, and Lack of Time

The first problem was testing the game. Thousands of devices, OS versions from 2.3.4 to 4.4, small screens, big screens, screens bigger than my home TV, processors from single to quad core, memory, and skins…I decided to buy test devices: a SONY Xperia ARC as the low level device, SAMSUNG Galaxy TAB as the middle one, and Nexus 7 2013 as a high-end device. My goal was to make a steady 30+ FPS which would run easily on all test devices. But they don’t represent the whole world. On most phones older than four years and with processors slower than 1 - 1.5GHz, the game was unplayable. I didn’t find a way to check processor or memory on devices and to scale resolution/number of objects/textures to achieve at least 30 FPS, so I decided to limit the Android version to 3.0 or higher hoping that newer devices will have the higher OS version. This turned out to be a good decision.

game1
The Android version has been limited to devices with the newest OS version to make sure it works on all.

The second problem was sound. I have worked in various areas of the IT industry, but I never touched sound. My biggest involvement in computer sound was to play Pink Floyd or Metallica in WinAmp. Luckily, my brother Vladimir Mandić is an MC in Czech Republic, so he sent me a sample which is now the main theme in the game. But this is a favor done for a family member. I still need proper sound effects and background music, and I can’t ask my brother to make changes or try something else a few times a day. So I will need to sit down and learn something about melody and harmony.

“My biggest involvement in computer sound was to play Pink Floyd or Metallica in WinAmp”.

The third problem is the iOS version. Exporting from Unity, importing to xCode, compiling - and all I get is hundreds of errors. Maybe an OS X version? Downgrading the iMac from Yosemite Beta to Mavericks, and xCode to 5.0 didn’t produce any visible results. So the iOS version will have to wait for better times. Sorry Apple fans, it’s too complicated right now.




The fourth issue was time,  and it was the BIGGEST problem. I realized that my one-man team wasn’t big enough when my friend Davor Končalovic started testing all versions up to the smallest details and telling me what he thought should be changed, added, or deleted. I’ve spent hours fixing bugs, making changes, and adding improvements. Testing is essential, but I have a regular job from 9 to 5, and kids are waiting at home with their own wishes and demands. So the only free time I have is at night. The first night was easy, the 10th one was sleepy, and the 100th night was hard. Now I’m used to less hours of sleep. Sometimes a short nap in a chair is refreshing enough for some more hours of work. I’ve heard that Nikola Tesla slept 15 minutes several times a day (and the maiden name of Nikola’s mother was Mandic, so you can see the connection).

game2
Ivan runs a small advertising cogency, so the only time he has to work on the game is at night

Another obstacle is the need to cover so many different areas in order to make a good game: programming, design, modelling, rendering, optimization, sound, usability, gameplay… And I’m losing time because of the constant need to re-learn and remind myself how to do something - for example, add a new object or select all linked vertices in Blender. Of course, Google knows. But it’s 10 minutes lost! 10 minutes here, 10 minutes there… It’s too demanding to work on multiple projects/jobs at the same time.

blender-level-design
Re-learning and reminding himself how to do things, for example, in Blender, is the reason why much time is wasted, Ivan admits.

The fifth problem was game design decisions. Should I focus on gameplay, or are graphics more important? What is the path to a successful game - nice and shiny or addictive? I know that the best games have this all, but how can I achieve this? I decided to focus on the gameplay - making it addictive and creating more levels, leaving the menu designs and options for the better times.

Marketing: Ask What is Wrong and Get Feedback

In the beginning, I thought, I will make a game, post it on Google Play, and that’s it. What a mistake! Making the game is a small part of development. Having posted the first public version, I decided to announce it locally. I sent nearly 400 emails to my friends and people from my business contact list with brief information about the game and a download link, and asked them to help me by testing and posting impressions. What I received were 4-5 replies and maybe 10 more downloads. WTF? OK, I thought, maybe they don’t have time for testing, or don’t know how to tell me that the game is not good. So I posted the link on lots of Android game forums - and nothing again. I started thinking that other devs didn’t want to encourage my development because of competition. In 10-12 days, I decided to openly ask: “Hey guys, what is the problem. Am I a black sheep? Do you hate me for some reason? Do I write in a language you don’t understand? Please say something, even that my game is the worst one ever and I need to format my HDD and go to work on a corn field. Anything, but don’t ignore me, please!”

And BOOM! Hundreds of replies in the next few days. People said it’s a great or excellent game. I got nice ideas, people tried AVION Checkpoint on so many devices, providing detailed reports, lots of them offered help. What a great feeling it was to receive nice feedback!

acrylic_planes_1
AVION Checkpoint acrylic figures

I’m now working mostly on optimization and new levels. I’ve made 12 new levels and 3 more airplane models, which will have their own flying properties. The already available levels will soon be remade with better textures and baked shadows. I made one level endless, for the most passionate players. I’m also making a better online score system: all scores will most likely be nulled every week so new players will have the opportunity to see their score in the top 10, even if for a few minutes. I didn’t forget about the iOS version, but right now, I don’t have enough time for it.

facebook-cover
Already available for Android, iOS version needs to wait for the better times

I can’t wait for the day when I will be able to tell myself: it’s time to leave everything behind and start fulfilling the dream of your whole life - BECOME A GAME DEVELOPER.  I have energy, great support from family, and believe that day will come for sure, because I’m feeling butterflies every time I start Unity or Blender.

Ivan believes AVION Checkpoint has great potential, and promises to do his best to make it even better (and nicer), though he admits he will need help in marketing and promoting the game. It can already be downloaded in Google Play and from some other websites with Android games, and played online on Wooglie and Kongregate. Ivan adds that he hasn’t thought of monetization yet, since his day job takes too much time and strength, but plans to change that after meeting some publishers in the nearest future.




 

Comments




Industry Contributions

logo
SUPPORTED BY