Some time ago we've introduced games as part of the JavaScript Full-Stack Bootcamp, namely as a full-stack web app project. This was very well received among our students and since then we've got several games build here.
While it might seem that building a game is all about fun, which it is for sure, those projects also tend to be much more complex compared to, let's say, eCommerce app.
First thing they are essentially eCommerce apps with in-game purchases where we can buy items, or units, or extra lives etc. Which means that we have to have a fully functioning payment system. Second, to be able to keep those perks and the game progress we need user accounts with admin users as well to be able to add more items to the store and manage all the players. All the external APIs, email notifications and so on are there as well.
But on top of that the added complexity is coming from the gameplay logic itself. And here we have so many possibilities that it seems the game logic design could be a separate course by itself.
If we're building a war game and we have to code the logic for the battle round gameplay, there are so many choices: how does computer attack, with which unit, which unit it targets, is it random choice or should it attack the weakest/strongest, how do we choose units to throw in the battle, how do we assess the damage caused? With more parameters for every unit the complexity of these calculations also increases dramatically.
With this in mind we send all the kudos to the students doing game projects since the effort they have to put into it is twice as much as for non-game projects. And with the current cohort we are eager to see one more game coming to life and this time it will be our first ever multiplayer card game. Because it's always more fun to play with friends than with a computer, right?
It's always hard to take the first step and for the bravest ones it starts here.
+++
See you soon!