Hello! Let me begin by saying that I am a complete novice when it comes to coding. I have a good handle on symbolic logic, but that seems to only be tangentially related to actual coding. However, I am eager to learn as I have, due to my upcoming three month sabbatical, been elected by my friends to learn how to code a strategy game that we've been working on for a few months. The main question that I have is this, what sort of language should I set myself to learn in order to successfully code this game?
Onto what I understand are the essentials.
First of all, we want this to be a strictly online game played in browser. Some of us have tablets as our main computing devices, others have Macs, others Windows, etc. We figured that a browser-based game would off the greatest accessibility.
Second, to go along with the online theme, this will be strictly humans vs. humans; no AI teams will be included. What AI there will be will follow very simple rules involving movement only.
Third, the game is fairly similar to a more advanced Masters of Orion. At the moment, we're playing it via Dropbox utilizing a hex-based board. It will be more advanced in that technology will progress in a different manner and units are more customizable.
So, any ideas about what language I should look into using? Do you need more information?
- For graphics, have a look at `canvas`: https://developer.mozilla.org/en-US/docs/HTML/Canvas
- For sound, have a look at `audio`: https://developer.mozilla.org/en-US/docs/HTML/Using_HTML5_audio_and_video
- For the multiplayer aspect, you'll probably need to learn about WebSockets: https://developer.mozilla.org/en/docs/WebSockets
- BrowserQuest uses all of the above technology.
I'm giving you a bunch of Mozilla links, but all of this stuff will work in most browsers. In fact, I've personally found `canvas` to perform slightly better in Chrome than in Firefox.
I think 3 months is ambitious if you're new to coding, but you should at least be able to turn out some sort of prototype. It will be a good learning experience. Be prepared to throws your prototype away and start again. Write as much code as you can, and don't worry if the code you write is crap. That's how you will learn.
Hope that helps.