I’ve spent the last few days wrestling with different ideas about how to get started making incredibly simple video games (with the aim of advancing to more complex projects later). I have been considering continuing learning java script on this site, but I’m just unsure if this will serve me in completing my goal. I’ve passed the HTML certificate section and I was able to sell a very simple but beautiful web page using HTML and CSS for a food cart. However, I found the work to be quite dry and uninteresting (but quite useful!). From this, I decided it might be quite cool to learn to develop web games, and use my knowledge of creating sites to create a “portfolio”, so to speak and display my work.
At this point I’m not even sure that my idea is a realistic, as I’ve read about the limitations of web games in terms of resources. If it is unrealistic, are there any IDE’s/languages that might work well with my desire to display the work on a website?
Well, with ProcessingJS on Khan Academy I built a few simple games. I don’t know if ProcessingJS is talked about here, I have only done the first two certificates, but vanilla JavaScript (second certificate) is a must know before doing ProcessingJS.
thanks for the reply, ill take a look at it. do you think its worth the effort to learn how to do web development in the context of games or should I jump into something else if i want to make games?
Tooling for game development depends a lot on the type of games you intend on making:
If your goal is simple 2D (or 2.5D) games that aren’t heavily action-oriented and can run either in the browser or natively on the computer, then HTML5 game development might be fine using a framework like Phaser. I’m not familiar with tools/IDEs in this case.
If your goal is to make more complex games with a lot of moving parts that involve 3D graphics and real-time events, including support for multiple input devices (typically keyboard + mouse), and multiple audio streams, then HTML5 is going to be inadequate, and “web games” will be out of scope. These games typically run only natively on a computer and nowadays are coded in either C# or C++. With C#, you can use the Unity Engine, or with C++ you can use the Unreal Engine. In this case, it makes sense to start learning either of those languages, along with a proper IDE. If you’re developing on Windows for Windows (which makes a lot of sense because it’s the dominant OS for gaming), there’s only one IDE that makes sense, which is Microsoft’s Visual Studio (not Code, but the full VS Community). If you’re running an OS that’s not Windows, I’m not familiar with any tooling to suggest.
It seems I’m conflicted as both of those are very appealing to me.
Ideally I would start with the simple 2D/2.5D games as you suggested, publishing them online for myself. I think that is the most realistic for someone working alone like myself.
But on the other hand, 3D games sound incredibly fulfilling. However, I’m not naive and I understand it takes years to master in terms of producing something, at the minimum, decent. From what it sounds like I’d need to learn an entire new language, learn how to use an IDE and create in a different art style.
Are these two simply mutually exclusive and I’m in trouble, or is there some way to pave the road between them (so to speak)?
I’ll put it this way: you can make 2D/2.5D games easily with either the Unity Engine or the Unreal Engine. Both engines are more than flexible enough to allow you to create anything that you can dream up.
On the other hand, I don’t know how possible it is to make performant 3D games with HTML5 and other web-based frameworks & libraries. Performant being the key word there. HTML5 and JavaScript are perfectly fine for most web applications, but JavaScript isn’t exactly one of the more performant programming languages. And performance in 3D games is absolutely critical.
If game development is your goal, I’d recommend learning C# and the Unity Engine—because knowledge of C# will be translatable to C++ (if you ever decide to jump over to that instead), and the Unity Engine is very popular.
If you want to write games that will work online in a browser, learning to program in JavaScript is sensible. The core concepts don’t change — if you program something basic like say Pong, the needs (the game loop, player interaction, sprites etc) are the same as if it were a big 3D game (the latter is just obviously much bigger and more complex). Start small. You don’t need much, just a text editor and a browser.
You can do simple web games with JS or you could try Phaser’s game engine.
Otherwise I would suggest as above, C# or C++.
Could even go with Python if you like.