Guest Blog Post “A Rough Road That Led To Spin Up”

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0

This weeks Guest Blog Post comes from Nenad Katic all the way from Valencia, Spain. Born in Belgrade, Sebria, Nenad started his design studio called “No Sheet“.

Nenad was Director of Technology at Screampoint where he developed the world’s first real-time software for urban management. He shares with us the success of his first game and how Corona helped him embark on his interactive journey.

Hi, I’m Nenad, and I’ll cut the long introduction short: I was everything from architect to software engineer to fitness writer before I settled on interaction design with focus on games. My transition from designing spaces to design and facilitation of actual human actions has been a long process that was influenced by the research on design thinkingcognitive and positive psychology, and especially the work of game design theorists such as Jane McGonigal and Ian Bogost.

Their powerful argument that games can fix reality and address real world problems made me immediately see it as a big larger-than-life goal that I wanted to contribute to. However, before being able to actually create anything worthwhile, I realized I first needed to educate myself in the video games as a medium and as an art form. If you want to become a painter, you can’t become Anselm Kiefer overnight, and same goes for video games or any other discipline.

So I committed myself to a mission of learning game design on my own, and Spin Up is an equivalent of a 2nd term paper in my own autodidactic “virtual university”.

Making of Spin Up has been a delightfully amusing sequence of mistakes and failures that are to be expected from a first time game designer (although I did make one game before, Foosball Hero was a “freshmen” exercise in how to map a well-known physical game onto a flat digital medium, and it did not deal with creating a new game system itself).

And this is where Corona SDK fitted perfectly, because it allowed me to try things, fail and learn quickly from my mistakes, developing numerous prototypes simultaneously, which is something I couldn’t achieve by programming in C++ where my prototypes would require weeks or months of work instead of days. By working with Corona I am able to focus on playability of my game prototypes, instead of being sidetracked by technical aspects.

Unfortunately, so much has been said and written about Corona as a tool for people that didn’t want to bother to learn more complex languages, that it is often being -unfairly- overlooked by experienced programmers. Less talked-about fact is that there is actually quite of bit of design and engineering brilliance that went into making Corona such an accessible yet versatile environment, and that even experienced programmers can benefit from tight but smart Corona API and type-free LUA. For me, the best thing about Corona is that it simply made any programming effort completely get out of the way.

Now, I don’t overplay when I say that Spin Up was built on failure, because it literary came to being as an unexpected mix of two games that I nearly finished (in Corona, too), but abandoned last year. These games had some good elements, but both suffered the same problem: they simply demanded too much work on creating content and levels, which I as a self-employed one-man-show just couldn’t afford. That’s why I left these two almost-finished games aside for a few months, until they suddenly blended together in one Eureka moment (I wasn’t in a bathtub though). That was the end of games that were never meant to be known by the names of Planet Sucker and Shadow Climber, and the birth of Spin Up.

The greatest conceptual leap of Spin Up was to abandon level-based game progression in favor of the form of endless climber. This relieved me of having to do too much manual work and gave me opportunity to learn to procedurally create game world, with ability to use simple xml input to control and fine tune the progression of difficulty throughout the game.

Balancing the game between too easy (=boring) and too difficult ( =frustrating), and adding up challenge as player gets better at it, is a key design problemwhen making arcade games. It takes a whole lot of testing with as many people as possible, and a lot of and trial and error. Having an external file that described how the game was to unfold over time allowed me to experiment and drastically change gameplay by modifying a few parameters only.

Another feature that lent itself perfectly to spinning game mechanics was apseudo-3D environment. This perspective top-down view where floors crumble behind you added a lot of claustrophobia-induced panic and made the game more frantic than similar side-scrolling arcades. Although it might seem absurd to build a 3D game using 2D engine, there was a perfectly good reason about it: Spin Up could actually never have been made in a real 3D engine without heavy camera matrix transformations, simply because real-life perspective would look too distorted and impossible to play with ( yes, I did try it).


My development troubles didn’t stop there, though: I constantly had to wrestle against self-imposed feature creep, I was changing graphic styles all the time, I initially mistakenly underestimated replay value and appeal of things like career mode and unlock-able characters, I would go crazy spending hours on end fine-tuning difficulty settings, I did refactoring of almost entire code two times from scratch, and all other things that inexperienced game developers typically do. Finally I decided that this process needs to end. I took a good look at what I had and decided that the core gameplay was fun and worth the effort of polishing it. I identified key features -with great help from my beta testers, thanks guys you’re the best!- and trashed a whole of lot of secondary ones, and eventually succeeded in wrapping a product that was worthy enough to give myself a passing grade in this phase of my game design education 🙂

I’ll admit that this game still has to do very little with my ambition to make the world a better place through games but it’s an important learning milestone. And actually, Spin Up does contain an underlying story that is a dark-humoroussocial commentary on our wasteful material habits and planned obsolescence, that is one of the important global problems that upset me. Not many people will likely bother to read the in-game story, but for me it’s important that I’ve put it there because at least someone will notice and appreciate it.

If Spin Up was my 2nd term college paper, making the game that will help improve the real world will be my 4th year diploma work. Meanwhile, I hope to be able to afford going forward with my self-assigned 3rd term assignments, and if I happen to continue making games, Corona will surely plan a major part in my autodidactic game design education and app development practice !





Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0

This entry has 15 replies

  1. Mark says:

    On so many levels,this article rocks.High five !

  2. Robert de Boer says:

    Good job on making this great game, i wish you lots of sales!

  3. kyle c. says:

    Really insightful, thanks for sharing your experience!

    Your website for the game is extremely cool by the way. I just tried out the app and it’s just as great. Good luck with it!

  4. Really good article, congrats on the game!

  5. Brandon S. says:

    Nice job explaining the up’s and down’s! This article helped to keep my aspirations high and not give it up until I complete my first game in Corona!

  6. EHO says:

    Wow Nenad, very impressed with your gameplay trailer. I honestly couldn’t have envisioned a project of that nature with Corona! I share many of your inspirations (“Reality is Broken” for instance), thanks for the inspiration this morning 🙂

  7. Steven Teo says:

    This is such a unique and cool game!! You really inspire me to work on my prototypes even more. Who knows what types of game one could discover from their failed ones. *thumbs up!*

  8. Peter says:

    Very good article, shows how a game designer should work, trying to adapt the game to the most fun experiencie, and being open to change the initial idea, like he did with the two leveled games.

  9. I bought it! I like new ideas in games. I love this perspective. Well written article too!

  10. Pepsi Coder says:

    You sir are inspirational.

  11. Spider says:

    Bought. Really nice game. Congratulations!

  12. Arno says:

    This is a pretty neat mechanic, I’ll pick it up for sure.

    The testing part I couldn’t agree with more. I just finished making my first game. For my simple game and game mechanic, it still took hundreds of hours of testing just to get the feel, controls and difficulty levels right.

  13. nick says:

    This looks great, good to see original content.

    I can’t wait to share, and your troubles are VERY well understood. I’ve been “developing” my game since at least August 2011. Feature creep is crazy, you think you understand people and how they interact then they say things like “well, why would you only consider that, what about this and that and this?” then you go OH CRAP.

    lol, I understand!

    I hope it does awesome!


  14. marykay says:

    That is so great to read your article here. thanks for sharing!

  15. Jayden says:

    What a fun looking game! Well done mate.