HTML5 as the One Ring

Three Rings for the Elven-kings under the sky,
Seven for the Dwarf-lords in their halls of stone,
Nine for Mortal Men doomed to die,
One for the Dark Lord on his dark throne

In the Land of Mordor where the Shadows lie.
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.

Throughout history, some books have changed the world. They have transformed the way we see ourselves – and each other. The have inspired debate, dissent, war and revolution. They have enlighted, outraged, provoked and comforted. They have enriched lives and destroyed them.

One series of books that have had an impact on my life are the Lord of the Rings. For me its kind of cool to use it to illustrate the way I feel the technology industry is going. I love the characterization of the book and even its epic ending.

Three Rings for the Elven-kings under the sky

These for me would be the languages of Ruby, PHP and Python. Currently they seem to power the backend of websites today. They are all open source. Meaning that they are essentially managed by volunteers. The code base for these languages are collectively maintained. They do control the skies

Seven for the Dwarf-lords in their halls of stone

These for me would be the languages of Objective C, C++, Java, C#, Visual Basic, Perl, Delphi. Why do I refer to them as dwarfs? For me they as languages tried to conquer the web but had limited success. Their halls of stones are the companies that backed them up. They are still in use by some organisations.

Nine for Mortal Men doomed to die

These are the languages of Assembly, B, BCPL, C, Basic, Fortran, Ada, Cobol, Pascal. If you have not heard of any of this languages, I don’t blame you. They represent the old guard. That set of programming languages that set the stage for the modern era.

One for the Dark Lord on his dark throne

Here we come to the crux of the matter HTML5. Who is the dark lord? For me the dark lord is the individual hacker out there writing code to put on the web. What is the dark throne? The dark throne is the collective servers that make all this possible. They are out of the views of “Mere Mortals”.

It is important to state why I feel HTML5 is the one ring. With a core of HTML, CSS and JavaScript we are looking at a way of programming without the use of plugins on a wide variety of platforms. HTML5 fulfills the promise of “Write Once Run Anywhere”.

Heard of Node? This is a JavaScript on the server side. With the frontend already covered, having JavaScript on the backend means that there is no need to change your code base. You can use HTML5 to totally develop an application.

These post covers the gamut on my opinions on HTML5. So where does the future lead to? Time will tell but you are welcome to give a forecast.

Advertisements

Interview with the team Behind GGJLagos

ggjlagos

The gaming scene in West Africa is gradually heating up! Come next week in the first of its kind, Lagos Nigeria will be hosting the first Global Game Jam. This one event will give the West African gaming scene the visibility it needs. At the event, the developers of Titi Tilapia are scheduled to make an appearance. I had a long distance interview with the team and this will be the post this week. So let’s get to it.

Describe what your event is about?

The Global Game Jam (GGJ) is the world’s largest game jam event occurring annually in late January. GGJ brings together thousands of game enthusiasts participating through many local jams around the world. GGJ is a project of the International Game Developers Association(IGDA).

The inaugural GGJ in 2009 had 53 sites in 23 countries participating and 370 games were made. The 2012 GGJ increased the numbers to about 10,684 participants at 242 sites in 45 countries with 2,209 games created at this event and gained recognition to the Guinness World Record.

What do you hope to achieve with this event?

By hosting this event, we want to
(a) Create a serious attention, consideration of game development as a profitable investment, resource, career and form of expression
(b) Seed the kernel of tomorrow’s critical mass of game development investors, entrepreneurs and consumers
(c) Enable the environment for IP commercial realization

What is your view of game development in Nigeria?

Our view of game development in Nigeria so far is that there is some growth in the industry locally but we are barely scratching this industry so far due to the global nature that we  know of. There is still a lot to be done in regards to the actual gameplay of our games we produce, most of the games developed so far have either being for mobile, browser based and pc. So we need to look into other platforms like console and handheld were you have major block busters. Also the type of games being produced need to move from Role Playing (RPG) to others like Real Time Strategy (RTS), Alternate Reality etc.

What factors do you feel limit the industry?

Well factors that limit the industry so far have been
(a) Lack of research done by local developers as to what product they want to develop, how they are going to retain players who have taken time to play their title(s), what sort of market are they going to sell their titles either locally or globally via  what channels or distributors, weak marketing strategy.
(b) Lack of funding channels for game developers especially on the  African continent.

How can the industry develop?

First of all more research needs to be done by local game developers, then many developers need to form partnerships and collaborate with other well known established developers, this can only be possible when you have a great product on those company standards. Another point is that there are a lot of non – profit groups out there were local indies can get real industry knowledge and form partnerships with other people around the industry, the International Game Developers Association (IGDA) is one of them, as they do have a recognised local chapter in Nigeria.

What activities will take place during the event?

The activities that will take place at the Global Game Jam are
(a) On the First Day we have a game launch – Titi Tilapia developed locally by Sonbim Games. They will talk about how the title was developed, their inspiration behind it and then for the of the first day will be a meetup with the participants who have registerd for the event, and then there keynote speeches via video from global speakers.
(b) On the Second day, we have 4 talks lined up – 2 local speakers will be at the venue in person, while the other two will be done via podcasts.
(c) On the Third day, will be team formation for all participants at the event. All the teams will then have a brainstorm session on the content for the titles they want to develop and what  game tools they would be using at the venue. Though we have  approved Game Maker 8.1 and Unity Engine as the official game engine for this event, any team is open to use any other engine they can so far they have an official license to this engine.
(d) On the Fourth and Fifth day, the actual 48 hours game jam holds.

Who are the speakers at the event?

Speakers for this event are
(a) Leonard Duro – Emanuel who will talk on incorporating  Artificial intelligence into gameplay. Factors for consideration
(b) Antonio Emanuel who will talk on incorporating Virtual Reality into Reality Games
(c) Thomas Marshall CEO/Animator/3D artist – Pucas Studios U.S.A who will talk on how to do an honest Start – up with little to start with
(d) Luke Dicken who made the Forbes 30 under 30 list  of Tech entrepreneurs in 2012, and the brains behind the Scottish Game Jam

What will happen to games developed at the event?

Due to the event being volunteer based with a global coordinating body, all games developed at this event will handed over to the global organising body via the local orgsaniser which will then be featured on a global web portal were       people can download each zip file for any title for free. Each team is allowed to market its title on their own terms to anyone as we won’t hold the rights to that title, but if any of the team wants us to help with the marketing, then we will consider this action.

Who are the sponsors of the event?

Sponsors for our event are IGDA Nigeria,  Computer Science Department of the Unversity of Lagos, Unity Technologies, The African Events Company, CYPHA Interactive, Tech 360, Biztech Africa.

Where do you see the Nigerian gaming industry in 2016?

Where we see the Nigerian Game Industry in 2016, more robust with great game release and great opportunity for skill acquisition via our future game jams.

So that’s all for this week. If you are in Lagos, do take out one day and join the event. Join us next week as we take a complete and honest look at another issue in the West African gaming space.

Lessons Learnt from ISE HTML5

Ise

Happy new year everyone! I am glad to be back! On the 29th of December last year, I finished my first HTML5 game. You can find the details here. With this game, my departure from the App space is sealed. Until I redefine my business model, I am sticking with Web. In this post, I will talk about my experiences with rebuilding ISE in HTML5 but now to the headlines …

In deciding to build a gaming community in West Africa, it is easy to become discouraged. I was for a while until I saw this list. The list shows the progression from casual gaming to hardcore gaming. It reinterates what I have always stood by. That by starting, we put ourselves in a position to improve and master whatever skills we desire.

HTML5 didn’t go to sleep either! Computer Weekly has posted on the HTML5 specification being ready. So the remaining question is why have you not started HTML5? In 2012, HTML5 produced some great games. You can find the details of the top 10 games of 2012 here. The list is prepared by NetMagazine. If you are interested in the Web, this is one site you should bookmark.

For upcoming events the first West African Global Game Jam will be holding next year in Lagos. You can find all the details here. Also Mozilla Gameon has been launched. I have submitted Ise to the competition so what are you waiting for? Before you make a submission however, you must make a video of the gameplay.

Now to the main story …

HTML5 Canvas

Was first finished in June 2012. I must state that Foundation HTML5 Canvas by Rob Hawkes is simply the best HTML5 book out there for beginners. For me the use of jquery to teach HTML5 is what makes this book excellent. In the course of the book, the author develops 2 casual games, Space Bowling and Asteroid Avoidance. He does this using a simple jquery based framework. I publicly admit that I copied this framework and used it to build Ise.

Lessons Learnt

  1. Build on top of a framework :- It is much faster to develop a game using a framework. Frameworks force you to code in a certain way and think in a certain way. Once a product has been made with a framework, it then becomes easy to make other products. Think of it like the assembly line.
  2. Use comments judiciously :- In reviewing Ise, when I first wrote it I used a lot of comments in the code. Two years later, I had forgotten how most of the program worked but the comments saved me! My advice is to use as many comments that will make you come back years later and still understand your code.
  3. Variable names should be self documenting :- This is an important programming practice. In my time as a programmer, I have met other programmers who flout this rule. They claim that they want to make it harder for people to steal their source code. Danger comes in when a program must be rewritten.
  4. Keep it simple :- When I first built Ise, I developed my own custom data structure a Circular Linked List. Two year later using JavaScript, I found out that JavaScript did not have such a data structure. Could I write my own? Yes. Did I know how? No. Since I am new to JavaScript I only know the building blocks which are Variables, Functions, Objects and Arrays and that was what I used to write the code.
  5. Avoid magic numbers :- When writing a program, if it has a literal like 8. Define 8 in the declaration section and use it in the code. This above all. NO MAGIC NUMBERS. If it is not a variable, sooner or later, it will cause confusion.

Conclusion

Sometimes the best way to improve a product is to start all over again from scratch. Rebuilding an HTML5 version of Ise gave me a chance to rewrite the seed distribution in a way that was simple and intuitive. The data structures used were only Objects and Arrays which for me means that I can port the same code to any other language that is Object Oriented.

For me entering the new year as an HTML5 Game Developer was the greatest gain of all. As the year begins, I look forward to developing more HTML5 games and improving in my knowledge of HTML5. Do keep in mind that all the tools I have used are free and that the focus of my games is Mechanics not Aesthetics.

The year opens with the stage set for HTML5 to become the “One Ring” all the evidence on the table points to this development so what holds you back? What resources do you feel you need? How can I help?