Game Maker vs web development code comparison

I’d like to note a few differences in the coding styles between web development and game development. My background comes from a Full-stack engineering perspective and I’ve been getting into Game Maker lately.

Variable naming

In web development it’s almost always useful to have explicit variable names, for instance in Javascript this is acceptable:

this.renderButton();
this.onButtonClicked();
this.fetchData();
this.renderTable();

This isn’t prohibited but not recommended, because it’s harder to search for:

this.renderBtn():
this.onBtnClicked();
this.fetchDta();
this.renderTbl();

And when going into Game Maker Studio, it’s really common to have instances of:

vsp = 3;
hsp = 5;
xx = 10;
yy = 5;
btn_pressed = false;

What’s interesting to me is that the video game development community widely doesn’t adopt standard coding practices from other industries. By the way I’ve adapted to writing code differently in Game Maker, because the engine itself has it’s own constraints and to be practical an move forward with development. I still try to have a clean codebase but I work with the engine’s advantages, which is that it’s simple and you can ship a full video game fast.

Unit testing

In web development, unit testing has to be present, otherwise you’re missing out in how easy it will be to maintain your project even a few months after you start.

In Game Maker, and even Unity, unit tests are both not common and hard to implement and maintain. In Game Maker you have to come up with your own framework or way of testing the functionality of your game.

Thoughts on this

In the end, I went with adapting myself to each different industry and enjoying the benefits of each practice. I’ve come to understand that videogame codebases sometimes don’t live for a long time. A game can be developed in 2 years and after that, the codebase that was used will most likely not be maintained by anyone, so that’s a big difference between videogames and web development. On the oher hand, in web development you’ll have to maintain the same codebase for decades to come, so it makes sense to strive for test coverage in order to prevent breaking some parts of the web app unintendedly.

Indie game devs have no money but good ideas, AAA companies have money but no ideas

It seems to me that big gaming companies are more risk averse in that they don’t care too much about the end product as long as it’s guaranteed that it makes money. That’s where indie developers come in and create new ideas. And to me the reason why indie studios can get creative has to do with the nature of them, with that they’re not biased by anyone or they don’t have a track and rails to follow, ideas flow fast from inception to execution, there’s no one to convince that what you want to try is a good idea, you just do it.

My thinking is that:

  • Big companies should be OK games that fail, as long as they contain novel concepts and are polished.
  • Indie studios shouldn’t sell out to a larger company that introduces politics (Which seems impossible based on what’s happened throughout the years of shut downs of studios from the acquisitions of EA).

I’ll be starting a indie game in the next few months, I’m passionate about game dev and I’ve seen politics and how they affect a product the IT industry and I’m assuming it’s the same in the gaming industry where big companies don’t have a good understanding of how to give freedom to a team and probably never will unless the CEO is a champion of that idea.

Take Netflix for example, they not only are proud of the control they give to employees. They practice making employees own their work and how to do it. If you work at Netflix as a web developer you’re choosing which frameworks to use, when you take time off and how you work. Netflix’s ideas would be great in big gaming companies in that they should give ownership and control to small teams to develop games. Netflix is great at what they do not because of the original “idea” of starting video streaming of movies but the complete opposite, they started being great based on how they operate and how they take action.

So if we bring Netflix’s ideas to a AAA development company the results could be astonishing. I’ll be putting that to test, if this works we could see some great change in the gaming industry. My dream is that I’m so excited every week for a new game as I am for movies every few weeks. Right now only Zelda, Mario and a few other releases make me excited. My goal is to start with a few indie games and move to bigger projects later on. I’m still new at game development but I’m learning every day. An embarrassing proof of this is that I was working on an online MobA as a solo developer and I got a friend to help me with the music but that was going to take years to be done so I decided to stop that and build a small project instead.