A lot of my clients have an idea for a game, but no idea where to begin. The first and most important thing that must be decided on is the platform.
What is a platform?
Well it is a compilation of different programs; mainly the operating system and the actual physical device. It can can also include the web-browser or a player like Flash Player or Silver Light.
When thinking about a game you must think about what device(s) your game will be available on. There are many: PC, Mac, phones, tablets, X-Box, PlayStation, etc… Each device will need its own file type or version. Why? Because all of these devices are proprietary software and businesses are trying to make money so they don’t normally share code with each other. Their devices are build differently, display differently, use different game controllers, and so on. There are no universal standards followed when it comes to programming compatibility in this regard. This is not surprising since we can’t even agree on a standard, global unit of measurement like the metric system! Too much money is to be had by keeping them separate.
HTML5 is just the frame-work that contains element of a web-page. In simplest terms, it is a list of instructions passed to the browser that tells it where to place text and images in a web-page. There are also links and forms elements but that’s about it.
CSS(Cascading Style Sheet) is just another list of how to style elements in a web-page like colors, sizes, fonts, etc. that is also interrupted by the browser.
PHP is an open-source, server-side, scripting language use to build dynamic websites, process HTML forms and perform database queries. These files are processed on the server, not on your computer. Hence the term “server-side”.
The server is nothing more than a giant hard-drive that stores data (program files, image files, text files, etc…) I hate the term “The Cloud”. There is no “Cloud” but a SERVER sitting somewhere! I think that term does a disservice in applying that it’s somehow magic and only confuses some people.
A lot of what I’ve mentioned only applies to an online game not necessarily a multi-player game but a game that lives on a server accessed through a web-browser. Applications are completely different. These are programs that are downloaded and/or installed on your computer or phones hard-drive. The application must be compatible with the devices operating system and version. This goes for PC, Mac, Android and IOS.
So, what are the pros and cons of using HTML5 verses an Application?
Applications are good for a game that you want to sell or just be available on a specific device like Android or the IPhone. That means coding and managing 2 different sets of files if you want them both. There are some editors that can publish for both Android and the IPhone; Fash and Unity to name a couple, but you still end up with 2 different files. Android is pretty easy to publish for but the iPhone … not so much. You’ll have a lengthy submitting process in the iTunes store and they’ll want a hefty percentage.
Any finally on this subject, you must keep in mind that technology is always changing. What works today and is best practice at the time can be outdated tomorrow. The best examples of this are the numerous versions of the Windows operating system that we’ve gone through: 95, 98, 2000 ,Win7,8,9 and now Windows 10. So, don’t be surprised if your game doesn’t need updating every few years, regardless of which platform you choose.