Successfully reported this slideshow.

Beginning Game Development


Published on

Beginning Game Development is a document that I wrote to explain to readers how to start game development.
Based on current trends, advice is given on how developers can start looking at the most popular technology around today: HTML5.
Advice is also given on how to place applications on multi-platforms including the use of PhoneGap.

Published in: Technology, Design
  • Be the first to comment

  • Be the first to like this

Beginning Game Development

  1. 1. Beginning Game DevelopmentSometimes I get asked by people how to go about starting game development. The standardanswer has always been “Do it and get it wrong”. In this article I hope to look at how anyoneinterested in beginning game development can start.Recent TrendsAt this point in time, the trend is towards HTML5. Marketing and sales departments oftechnology firms seem to roll over themselves in professing love for HTML5. But this is themanifestation of the phenomenon that is HTML5. Apple has the distinction of being the firstcompany to actively side with HTML5. The late Steve Jobs purposely ignored Flash on theiPad betting his entire company on the future of HTML5.On the 7th of this month, Google launched a nice doodle on their search engine. It features arunner doing hurdles. It generated some buzz on the internet. I played it so many times untilmy score got low enough. For me what was really exciting was when people took theconversation on to social media. I do not have access to actual statistics, but I can be sure thatGoogle servers witnessed a spike on that day. As at the time of this writing, the doodle can befound here:
  2. 2. Microsoft has invested tons of money in ensuring that developers can have access to nativeAPIs in order to develop applications for their Windows 8 release. HTML5 applications onthe Windows 8 Platform will be no different from those developed using traditionallanguages like C++ and C#.All these point to one thing. It is no longer safe to ignore web standards. The best move is todive in and start work rather than complain and do nothing. The amount of JavaScriptframeworks developed in recent times show that the HTML5 community is vibrant, activeand is not going anywhere!StartingThe first thing in the process of game development is the idea for the game to be created.Game ideas are abundant but it is important to note that ideas are a dime a dozen. Executionis king! A poor game finished and released is better than a great idea still being polished.For beginners, a language port using someone else’s existing code is the best option. This isthe lure of the Java programming language. The popularity of Java in the last decade meansthat a lot of source code is available on the internet. The only barrier is probably the need tounderstand the language. While I would love to say Java is the best language for startinggame development, the reality is that it is no longer readily accepted on certain platforms.Windows 8 has totally barred the Java programming language.This is where HTML5 shines. It has been accepted as the future direction for the industry.JavaScript which is the programming language of HTML5 is similar to Java in syntax. Afavourite book to start with for Java Developers is Foundation HTML5 Canvas. It was one ofthe first books I ever read on the topic of HTML5 and I still constantly refer to it.
  3. 3. Rather than belabour the user with pure JavaScript, it teaches the user how to use the mostpopular JavaScript framework in the world: jQuery. This mode of treatment is the first andmost important detail in game development.Development not programming is the issue at stake here. If the goal is to show technologywizardry to programming peers, then using jQuery is a waste of time. However, when thegoal is to design a simple, playable game for the purpose of learning, then tools like jQuerywhich allow you focus on what you want to do instead of how to get things done becomeimportant.Yes there is plenty of noise on the popularity of Flash games. The business side is that Flashown mother company Adobe recently cut support for the desktop versions of Flash. Adobelater went ahead to acquire Nitobi the company behind PhoneGap.LearningLearning HTML5 is not difficult. The really hard part of learning anything is starting andsticking. The amount of tutorials available on the internet makes entry easy. A good startingpoint is this tutorial from Channel9: you prove to yourself that you can take the rigours of HTML5 and CSS you can thenmove on to the rigours of JavaScript also available from Channel9:
  4. 4. All the above mentioned videos are 42 in all. If anyone studied one video a day withoutmissing a single day, at the end of 6 weeks, that person would have learned webprogramming. 6 week! The painful part is while the above videos are free; the amount ofbandwidth required is huge. And we all know how bandwidth and Africa.Why I recommend videos over books is that I have found out that learning is fastest when itinvolves all the senses. By creating an experience whereby you involve every one of yoursenses you increase the chance of learning quickly.In the absence of videos, books are the best alternative. In the word of Martin Luther King “Ifyou cant fly then run, if you cant run then walk, if you cant walk then crawl, but whateveryou do you have to keep moving forward.”PlatformsHTML5 also has the advantage that it can be deployed on multiple platforms. As a Javaprogrammer, the mantra of “Write Once, Run Anywhere” was what drew people to the Javaprogramming language. HTML5 promises to pick up where the Java language stops. Sincebrowsers do most of the work, the underlying hardware does not matter.The beauty of HTML5 lies in the fact that you can take the same codebase developed for awebsite and make it into a mobile application. This is done with tools like PhoneGap.The real beauty of PhoneGap lies in the fact that it has a cloud hosted service. You canupload a zip file of your application and it will automatically generate setup files for 7different platforms: iOS, Android, BlackBerry, Windows Phone, Palm WebOS, Bada andSymbian. You could then upload the files to a platform of your choice. If you like, you couldalso use the local service by configuring PhoneGap for the platform of your choice. Generallyyou go this route when you want to experiment with the User Experience in Native and Webdevelopment.Integration of the application on social platforms like Facebook and Google+ becomespossible using HTML5. The beauty of this is that apart from the APIs which would be
  5. 5. different between the platforms, the basic code base for the application would not change.This has the advantage of helping a developer get focussed on delivering the best userexperience possible on the respective platform.ConclusionHTML5 is the current news maker in the technology space. It allows for developers to buildsolutions using a single codebase. It is said that a picture is worth more than a thousandwords. The best way to think of HTML5 and the future is like this: