A story about my first game

Josselin TD
6 min readApr 10, 2017

This week is a special week. For the first time since I started web development, I finally made an online game, which I just launched. Made in JavaScript, it’s a little side project, which I developed in 2 months, mostly on evenings and week-ends. It’s not the first time I try to make a game, but it’s the first time I manage to finish one.

Here’s how I came through and why, this time, I succeeded.

Many starts, no finish

I’m pretty sure that every IT developer who like computer science at least once tried to make a game. It’s a sort of holy grail, a goal, something that give a little feeling of coolness to make. But a game is not easy to build. When you are young and full of hope, freshly graduated from school, you put yourself in this.

Yeah, there will be this cool feature

Yeah here you will can do that

It will be awesome

First of all, it’s a pain in the ass. The game development is the most complicated type of dev I ever came through. And more especially if you’re doing it on your own. When you are alone, it’s not only about making a system that fits your idea : it’s about taking care of the assets, the physics, this f*cking hitbox. It’s about a story, its characters and the consistency of it all.

Of course, one way to help would be to choose a framework that will take care of some stuff, but as a dev, you want to learn how to build a game, not how to use a framework.

The complexity of making a game is probably the reason why most of them usually end up in a quarter started project and an obscure Github repo that will never be finished.

My first attempt was a platform game based on the Little Alchemy game. A platform game you fool !

For the second attempt (1 year later), it was a space shooter. I wanted to use a framework and after hesitating for hours, I used Phaser (because of the name). And… Nope, I didn’t finished it either. I took to much time learning Phaser and eventually dropped it… Obviously, I had another game project in mind but… which one ? I already forgot about it…

And then came Monster Bashing ! (First name my-little-rpg)

What I learned to finish it

My first will was to make a RPG game with no level limit. I was reading a manwha (a corean comic) in which the main character seemed to have no limit to his learning curve. I wanted that in my game.

Having learned from my previous experiences and having improved my skills in web development with my job, I finally decided to make an Ogame-like game: basically a website which is a game. The rest of the game design followed easily from these decisions.

The interface of the game (yes, the whole game is in French)

A properly designed system

The first thing I coded was the system. I built it to be easily separated from the game and eventually shared in a Github repo. I wanted it to be “game-independant”: meaning to be reusable in another type of game.

This constraint forced me to develop a modular system that helped me countless times after that. Any good idea, any bad idea were easily added or deleted.

I think this is the most important thing to be able to make regular progress on a little side-project : you must be able to change things in no time. It keeps the motivation going on.

A little bit of new things, a lot of known things

The second part was the interface. I’m neither a designer, nor a motion designer, nor a 3D artist, nor an illustrator, nor everything else that can relate to the artistic part of a game. As you can imagine I didn’t set high expectations on the graphical part. And that also helped me decide what kind of game I wanted to make: it had to be “click button” game, with no direct control over the character, with assets easily available over the Internet and so on.

The next step was to find interfaces assets that could fit my context, preferably free (thanks Kenney’s assets !). Likewise, I had to find some characters and background assets, also, preferably free. It’s incredibly hard to find a set of free and nice images for a game…

I had to make compromises between clean implementations and quick-wins. For example, should I use sprites or GIF for the animated characters and creatures ?(I chose GIF most of the time and I’m not particularly proud of it…)

So, the second thing to be able to progress on a little side-project : don’t try to make too many new things. Focus on some things you want to learn and stay at your level for the rest.

A little bit of money

Once all the big parts are done, you go for the little parts. The finishes. In this game, for me it was assets (again). I managed to find free (or sort of) assets for development, but it was not suitable for production. When you get this far, it’s time for a different sort of investment in your game. For me it was buying assets. My final assets were not exactly what I was looking for (I would have preferred some Pixel Art), but nothing will be perfect when you can’t do it yourself. You must know your limitations and deal with them.

You can find assets libraries online, with a bit of free assets and a lot of paying assets. You can not really know all the content and the quality of what you’re buying. But often, you can find low quality versions of the assets on Pinterest, with a watermark on it.

These types of assets are not very original or with a very high quality, but they’re incredibly useful for side-projects games and are very affordable. So the last thing I learned to be able to progress on a little side-project : don’t be afraid to put a little amount of money. Time is money, and your time often values more than some bucks.

And now…

Once the game is finish, it’s time to make it available online. A server, a domain name, a Facebook page… And a sharing strategy ? It’s even more painful for adeveloper to make the “marketing” part than just the “code” part. It’s the difference between a project and a product !

You can find the game at www.monster-bashing.com ! (French only) And if you like it, feel free to join the Facebook Page !

PS : Some links and resources

--

--