Beginning Game Development

Usain Bolt showing his world record

This week was one of the most interesting weeks in the entire Olympic Games. Usain Bolt showed us once again that injury or not he had what it took to deliver when it mattered most. Losing almost every tournament and having incessant complains of injuries led critics to believe that the bolt was gone. Proving once and for all that he is the manifestation of greatness, he won his event in the Olympics becoming the fastest man in history again in the process. The above picture is from Bejing 2008 when he won the 200m. It is the picture I will always cherish when I think of Usain Bolt.

In the world of today, there has never been a better time to be a developer. Web standards currently rule the marketing airways chief of which is HTML5. Sometimes I get asked by people how to go about starting game development. The standard answer has always been “Do it and get it wrong”. In this weeks post, I will be looking at how a developer can get started with game development.

Recent Trends

At this point in time, the trend is towards HTML5. Marketing and sales departments of technology firms seem to roll over themselves in professing love for HTML5. But this is the manifestation of the phenomenon that is HTML5. Apple has the distinction of being the first company to actively side with HTML5. The late Steve Jobs purposely ignored Flash on the iPad betting his entire company on the future of HTML5.

HTML5 Logo

On the 7th of this month, Google launched a nice doodle on their search engine. It features a runner doing hurdles. It generated some buzz on the internet. I played it so many times until my score got low enough. For me what was really exciting was when people took the conversation on to social media. I do not have access to actual statistics, but I can be sure that Google servers witnessed a spike on that day. As at the time of this writing, the doodle can be found here: http://www.google.com/doodles/hurdles-2012

Hurdles from Google

Microsoft has invested tons of money in ensuring that developers can have access to native APIs in order to develop applications for their Windows 8 release. HTML5 applications on the Windows 8 Platform will be no different from those developed using traditional languages like C++ and C#.

All these point to one thing. It is no longer safe to ignore web standards. The best move is to dive in and start work rather than complain and do nothing. The amount of JavaScript frameworks developed in recent times show that the HTML5 community is vibrant, active and is not going anywhere!

Starting

The 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. Execution is 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 is the lure of the Java programming language. The popularity of Java in the last decade means that a lot of source code is available on the internet. The only barrier is probably the need to understand the language. While I would love to say Java is the best language for starting game 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. A favourite book to start with for Java Developers is Foundation HTML5 Canvas. It was one of the first books I ever read on the topic of HTML5 and I still constantly refer to it.

Rather than belabour the user with pure JavaScript, it teaches the user how to use the most popular JavaScript framework in the world: jQuery. This mode of treatment is the first and most important detail in game development.

Development not programming is the issue at stake here. If the goal is to show technology wizardry to programming peers, then using jQuery is a waste of time. However, when the goal is to design a simple, playable game for the purpose of learning, then tools like jQuery which allow you focus on what you want to do instead of how to get things done become important.

HTML5 Canvas

Learning

Learning HTML5 is not difficult. The really hard part of learning anything is starting and sticking. The amount of tutorials available on the internet makes entry easy. A good starting point is this tutorial from Channel9: http://channel9.msdn.com/Series/HTML5-CSS3-Fundamentals-Development-for-Absolute-Beginners

After you prove to yourself that you can take the rigours of HTML5 and CSS you can then move on to the rigours of JavaScript also available from Channel9: http://channel9.msdn.com/Series/Javascript-Fundamentals-Development-for-Absolute-Beginners

All the above mentioned videos are 42 in all. If anyone studied one video a day without missing a single day, at the end of 6 weeks, that person would have learned web programming. 6 week! The painful part is while the above videos are free; the amount of bandwidth 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 it involves all the senses. By creating an experience whereby you involve every one of your senses you increase the chance of learning quickly.

In the absence of videos, books are the best alternative. In the word of Martin Luther King “If you can’t fly then run, if you can’t run then walk, if you can’t walk then crawl, but whatever you do you have to keep moving forward.”

A copy of this presentation can be found here.

So now back to running. While Bolt left London’s Olympic Stadium with his fourth gold medal, Tyson Gay still has none to his name. On Sunday, Gay finished fourth in a time, 9.80, that would have won every Olympic final that didn’t feature Usain Bolt. The American sprinter broke down in tears afterwards. “I gave it my best,” he said. But when you’re going up against greatness, your best will never be good enough.

Usain Bolt 100m Olympic win

Advertisements

Hello World!

Hi Everyone,

There is a law that affects all acts of initiative and creation, it is the law of unintended effects. Two years ago, when I developed my first game, I never thought that I would get to start a blog to discuss game development in West Africa.

Two years! Its been two years of building games and failing. Learning how not to do business and being transformed by the experience. Experience, not knowledge or skill. Experience from the trenches.

Thats what this blog will be. Don’t expect professional writing cos you might not get it. Expect writing straight from the heart. I will try not to cross personal lines but I will say what I mean and mean what I say.

In the last two years, it has been my priviledge to know and meet other game developers doing great stuff. I hope this blog will be a showcase for them. Please note that I have never run a blog before so it will be like learning how to swim but going into the deep end.

I expect to make mistakes and learn from them. I  promise to always be honest. Beyond that I hope that I don’t offend anyone. Please feel free to send me feedback. My email is truston4real@yahoo.com