If you haven't read the earlier posts, I'm a first time game dev, which means that a lot of the subtle nuances of the different platforms are more like what heavy body blows are to a boxer. It doesn't mean that a loss is imminent, but it is wise to take a step back and reassess things. Here is a list of the things that trying to port to HTML has taught me.
Save/Load - Why put a save/load feature in a demo you ask? So I can test that feature with the beta testers instead of releasing the game. I don't want gamers emailing & tweeting me about how the game sucks because their save files were broken, or worse they don't tell me the feature is broken AND they tell other gamers not to give Aviator Quantum a try at all.
Not a big deal to take it out you say? Actually in terms of game architecture it was. I coded an automatic save feature that initialized every time the player died. That code had to be removed. The entire screen that asks the player if they want to start a new game, load a saved game, or delete their save file had to be removed as well. The score was saved as well every time the player died, that had to be removed as well.
I put some unlockable skins in the game as well as a teaser/reward for playing the demo to it's entirety. With no save feature, those skins are just teasers now. Do you sense the domino effect now?
Plus all the deletion code & buttons had to be deleted as well.
UI - The code that handled what the player saw on screen was designed for PC users(both Mac and Windows, though getting an Apple dev license is going to be it's own post coming soon) & mobile users. NONE of that code is necessary in coding the HTML version of the information display.
Good news: Not a whole lot of thought process needed, because it was really a whole bunch of deleting switch statements that I commented & formatted on the front end.
Bad news: A lot of the code that I put in to make the game accessible to multiple platforms has to be removed. I'm looking into how to keep the letterbox effect I have because, all the devices that have internet access don't have hardware keyboards. So far, I haven't figured it out.
Debugging - Debugging HTML is a bit of a chore, because I have to upload a zip file EVERY. SINGLE. TIME. Having a notepad helps, but if the game crashes, I can't make a note of every single error in order to fix all of them in one fell swoop.
So why go through all this trouble? Because HTML has the easiest hurdle to clear in getting your game to the masses. Just about everyone in Western civilization has access to the internet. No specialty platform or operating system needed like Steam, Android, iOS, PlayStation...etc. Hope this was educational. Until next time or some other time...
Save/Load - Why put a save/load feature in a demo you ask? So I can test that feature with the beta testers instead of releasing the game. I don't want gamers emailing & tweeting me about how the game sucks because their save files were broken, or worse they don't tell me the feature is broken AND they tell other gamers not to give Aviator Quantum a try at all.
Not a big deal to take it out you say? Actually in terms of game architecture it was. I coded an automatic save feature that initialized every time the player died. That code had to be removed. The entire screen that asks the player if they want to start a new game, load a saved game, or delete their save file had to be removed as well. The score was saved as well every time the player died, that had to be removed as well.
I put some unlockable skins in the game as well as a teaser/reward for playing the demo to it's entirety. With no save feature, those skins are just teasers now. Do you sense the domino effect now?
Plus all the deletion code & buttons had to be deleted as well.
UI - The code that handled what the player saw on screen was designed for PC users(both Mac and Windows, though getting an Apple dev license is going to be it's own post coming soon) & mobile users. NONE of that code is necessary in coding the HTML version of the information display.
Good news: Not a whole lot of thought process needed, because it was really a whole bunch of deleting switch statements that I commented & formatted on the front end.
Bad news: A lot of the code that I put in to make the game accessible to multiple platforms has to be removed. I'm looking into how to keep the letterbox effect I have because, all the devices that have internet access don't have hardware keyboards. So far, I haven't figured it out.
Debugging - Debugging HTML is a bit of a chore, because I have to upload a zip file EVERY. SINGLE. TIME. Having a notepad helps, but if the game crashes, I can't make a note of every single error in order to fix all of them in one fell swoop.
So why go through all this trouble? Because HTML has the easiest hurdle to clear in getting your game to the masses. Just about everyone in Western civilization has access to the internet. No specialty platform or operating system needed like Steam, Android, iOS, PlayStation...etc. Hope this was educational. Until next time or some other time...