
How we spent 1 year and 3 months on developing a browser game
In this article I’ll talk about how I started developing my own game. You will find out how much time it took and whether it was worth taking it at all.
We spent 1 year and 3 months on the game, below I will write in detail where this time has gone.
It all started with the fact that my friends and I decided to make a joint project (of course, with friends, a typical situation). There were 4 of us, all were IT specialists, none of us had ever dealt with game development, it was a dark forest for us, very dark.
The dialogue was something like this:
- Maybe we’ll start making the game?
- Come on, why not try it?
- What will the game be about?
Then came the discussion about which genre of game to choose. They began to think what kind of games there are in the industry:
- There are a lot of shooters, tanks - there are, planes - there are, races - there is, then what to do?
- No boats.
But it’s true, no one at that time could name a single game using a water mode of transport. “Ok, let's make a simple game to learn. Water and boats, what could be simpler? ” - We thought, and were going to look for an engine on the basis of which we could make the game.
None of us even thought about a 2D game, all at once represented 3D - “innovations” after all.
We all know about the sensational CryEngine, downloaded, poked. We realized that you can’t compile the game in the free version.
Unity3D proved itself further on the Internet. Free, large community and of course cross-platform. They chose Unity3D, there were no good reasons for choosing, just did not know then what we want.
They downloaded, poked and parted. Everyone at home understood his own way. We sat, watched video tutorials and tried to do primitive things - earth, sky, water and a character who runs on the ground.
One of the four quickly lost interest - during the week he did not learn anything and scored on this matter. The second one got involved, made a typewriter (3d rectangle and 4 cylinders), which was somehow controlled, and even made a boat (3d rectangle), which floats and drowns. A week later, he also scored on this matter.
There were 2 people left in the development team, we sat together and watched the lessons and shared successes with each other.
They got so drawn into it that they sat for 6-9 hours and made a game about boats. We did not understand what we were doing and what would come of it. Then we got involved in the development even more and every day we worked on 8-12 hours a day, even without days off. It really was very interesting and exciting. We already knew how to write scripts and learned a lot in Unity, changed the behavior of the boat, changed the model of boats, tried to make them shoot. It all worked out with difficulty, but we succeeded. We made 5 spawned boats that you can shoot at, their lives are wasted and they explode.


When we learned that the game can work in a browser, we decided to make it for social networks, inspired by one browser-based shooter. We even formed a certain concept of the game - a browser-based online game based on water transport. The gameplay should be simple - the players' boats spawn in different places and with the help of machine guns fastened on the boats, the players must destroy each other. Of course, the game should be multiplayer. At this point, the development speed fell slightly, we had to study the network component of the Unity3D engine using the standard network solution.
Within a month, we were doing the network part, trying to bring synchronization to the ideal. It was then that we learned what interpolation, extrapolation is, and what they eat with. Honestly, transferring a single version of the game to the network is not a very simple task, therefore it is better to decide first whether you will have a network game or not.
We achieved what we wanted, multiplayer was done in room mode: someone enters the game, creates a server (room) and gets into the game. It was possible to swim on the network and shoot at each other, no points and achievement systems, there was not even a nickname to watch.
Prior to this, the game was without any GUI: you go into the game and immediately get on the stage with water, where the two buttons "join" and "create server". We spent two weeks learning the GUI. They made it again a standard solution, without any plugins. In fact - this is another perversion.
Having made at least some main menu in the game, we set about refactoring the code. Why? Yes, because we started to write the game in Javascript (UnityScript). Why? Firstly, I know the original JavaScript, and secondly, Unity developers position JavaScript as a simplified language for beginners. In general, we switched to C #, we took code refactoring for two weeks, but we did not regret it, it really became more convenient for us to write C # in MS Visual Studio.
The appearance of the game categorically did not suit us. We changed boat models many times, changed textures. They rebuilt the terrain, studied the technology by which they grabbed a map of the heights of the real terrain (Lake Ritsa) and redrawed the terrain textures several more times, cleaned and put trees, bushes, etc.
They suffered a lot with shaders and, in fact, with the water itself. It turns out that beautiful water, and even with the waves, is not so simple to make. We went through a lot of assets, tried to write ourselves, but nothing came and went. We decided so far to leave standard water without waves.
Of course, we ourselves did not make models, since both programmers did not even understand modeling. Already thought about taking myself into the team of the artist in three-dimensional graphics.

Then we began to remake the GUI, it was not presentable in the game, so in Photoshop we threw in the design and made it up. We added settings to the game so that you can set the quality of the graphics, sound level and specify your nickname. They made a window for creating a server and created servers (rooms).




Due to the fact that the standard network solution did not give what was needed, namely - more online, server independence from players and, of course, a system of levels, leveling, achievements, all this should be stored somewhere. We reviewed many third-party network solutions; an authoritarian server does not allow many of them to be made. We decided to make a non-authoritarian server. Photon Server came up to us. They studied it for about a week, but realized that it was not suitable for two reasons: they did not find a way to run several copies of the server on one physical one and subtracted the limit on the number of slots on the server on the Photon website.
From all this, we spontaneously started making our own server. Yes, it’s mine, on sockets. For a month, we managed and redid the entire network under our own server. He worked, there were a lot of bugs and multithreading was out of the question.
We were not happy with how our server works. Now guess what we did? That's right, we again found a network solution, but not quite ready - we took the lidgren library, combined it with protobuf and spent another two weeks trying to redo it all. This solution suited us more, the server worked better and more reliable. But, of course, not without bugs.
We are already tired of ordering one-sided development without any feedback. Yes, yes, all this time we developed the game together and no one except the testers saw it. We decided to release an alpha version of the game on VKontakte in order to test the load on the server and get feedback from the community. Maybe they would know what the players themselves want from the game. They tied the VK API, compiled it, downloaded it to the server and added the application to the VK.
Putting the game on VKontakte was not easy: we flew with all the concessions that were before on VKontakte, namely: we did not need an SSL certificate, there was free posting in the New Applications list. I almost had time. We had to register an SSL certificate, we didn’t have to spend money well, according to an article on Habré we received a free certificate. But that's not all: moderation did not let us in, they demanded to translate the game into Russian and add rules / explanations to the game. We added short rules to the game as a separate window, but we could not understand what needed to be translated in the game, because it was already in Russian.
As a result, the words “current” and “all” were translated in the lower right corner of the screen. They sent the game again for moderation, only after that it was cataloged.
After seeing that the players come in and play, we were pleased, but not for long. We understood that at this pace we would develop the game for another five years. Therefore, they began to write ads on the search for like-minded people. First, artists on three-dimensional graphics - from them we learned that modellers create models based on drawings, sketches, sketches. From here we realized that we can not do without a concept artist.
We talked literally with dozens of concept artists and not one could draw what we needed. Well, of course, no one wanted to work on enthusiasm.
At the same time, we studied the modeling itself and tried to create boat models and more, it turned out to be more difficult to texture the model than to model it. We also released the second alpha version, where we changed the map, fixed all sorts of bugs, etc.
We also connected ads in the Vkontakte application, hoping that at least hosting would pay off.



About 7,000 people have already installed our game in VK, about 10,000 people have played in total. There were online ones that eventually broke our server. Bugs appeared in the game. The prospect is ahead, I wanted to continue developing, but there was less time for development. Work, all things. They did the next update for the game, but the development was very slow, in two months they did very little.
Time became less and less, unsolvable problems more, no one wanted to join our team, not a single designer, artist was able to draw what was needed. We made models ourselves, painted them ourselves, but we understood that all this would drag on for several more years. As a result, the development had to be abandoned. The game worked for a month or two in passive, advertising brought a penny, for the whole time we received ~ 600 rubles from the game, we spent ~ 500 rubles for hosting, ~ 300 rubles for the domain, and a lot of nerves and development time.
A game can be created without experience in game development, but you need to have a good team, where each member of the team will do their own thing. If there are 10 programmers in the team, and no one else, you won’t get anything good from it.
Again, it is very difficult to assemble a team of enthusiasts, everyone wants to live on something and grab a piece of bread.
During this year, I learned a lot in the field of game development and realized that I needed to write a Design document on the basis of which the game would be developed. Without it, you will have a bunch of endless ideas in your head that you will try to implement by jumping from one to the other. Of course, we made a Design document for our game, but only after six months of development.
In general, developing a game is quite an exciting process. Unlike website development or application and system software, games have something to laugh at. Yes, the development of the game in places amuses with its bugs. If you have a lot of time and you are tired of routine work, you can safely try yourself in game development. It’s not necessary to create your own game, you can join some team where, maybe, it is you who are so lacking.
We spent 1 year and 3 months on the game, below I will write in detail where this time has gone.
Background
It all started with the fact that my friends and I decided to make a joint project (of course, with friends, a typical situation). There were 4 of us, all were IT specialists, none of us had ever dealt with game development, it was a dark forest for us, very dark.
The dialogue was something like this:
- Maybe we’ll start making the game?
- Come on, why not try it?
- What will the game be about?
Then came the discussion about which genre of game to choose. They began to think what kind of games there are in the industry:
- There are a lot of shooters, tanks - there are, planes - there are, races - there is, then what to do?
- No boats.
But it’s true, no one at that time could name a single game using a water mode of transport. “Ok, let's make a simple game to learn. Water and boats, what could be simpler? ” - We thought, and were going to look for an engine on the basis of which we could make the game.
None of us even thought about a 2D game, all at once represented 3D - “innovations” after all.
We all know about the sensational CryEngine, downloaded, poked. We realized that you can’t compile the game in the free version.
Unity3D proved itself further on the Internet. Free, large community and of course cross-platform. They chose Unity3D, there were no good reasons for choosing, just did not know then what we want.
They downloaded, poked and parted. Everyone at home understood his own way. We sat, watched video tutorials and tried to do primitive things - earth, sky, water and a character who runs on the ground.
One of the four quickly lost interest - during the week he did not learn anything and scored on this matter. The second one got involved, made a typewriter (3d rectangle and 4 cylinders), which was somehow controlled, and even made a boat (3d rectangle), which floats and drowns. A week later, he also scored on this matter.
There were 2 people left in the development team, we sat together and watched the lessons and shared successes with each other.
Development
1-2 months - we deal with the engine
They got so drawn into it that they sat for 6-9 hours and made a game about boats. We did not understand what we were doing and what would come of it. Then we got involved in the development even more and every day we worked on 8-12 hours a day, even without days off. It really was very interesting and exciting. We already knew how to write scripts and learned a lot in Unity, changed the behavior of the boat, changed the model of boats, tried to make them shoot. It all worked out with difficulty, but we succeeded. We made 5 spawned boats that you can shoot at, their lives are wasted and they explode.


3-5 months - create multiplayer
When we learned that the game can work in a browser, we decided to make it for social networks, inspired by one browser-based shooter. We even formed a certain concept of the game - a browser-based online game based on water transport. The gameplay should be simple - the players' boats spawn in different places and with the help of machine guns fastened on the boats, the players must destroy each other. Of course, the game should be multiplayer. At this point, the development speed fell slightly, we had to study the network component of the Unity3D engine using the standard network solution.
Within a month, we were doing the network part, trying to bring synchronization to the ideal. It was then that we learned what interpolation, extrapolation is, and what they eat with. Honestly, transferring a single version of the game to the network is not a very simple task, therefore it is better to decide first whether you will have a network game or not.
We achieved what we wanted, multiplayer was done in room mode: someone enters the game, creates a server (room) and gets into the game. It was possible to swim on the network and shoot at each other, no points and achievement systems, there was not even a nickname to watch.
6th month - GUI creation and refactoring
Prior to this, the game was without any GUI: you go into the game and immediately get on the stage with water, where the two buttons "join" and "create server". We spent two weeks learning the GUI. They made it again a standard solution, without any plugins. In fact - this is another perversion.
Having made at least some main menu in the game, we set about refactoring the code. Why? Yes, because we started to write the game in Javascript (UnityScript). Why? Firstly, I know the original JavaScript, and secondly, Unity developers position JavaScript as a simplified language for beginners. In general, we switched to C #, we took code refactoring for two weeks, but we did not regret it, it really became more convenient for us to write C # in MS Visual Studio.
7-8 months - we are engaged in restayl games
The appearance of the game categorically did not suit us. We changed boat models many times, changed textures. They rebuilt the terrain, studied the technology by which they grabbed a map of the heights of the real terrain (Lake Ritsa) and redrawed the terrain textures several more times, cleaned and put trees, bushes, etc.
They suffered a lot with shaders and, in fact, with the water itself. It turns out that beautiful water, and even with the waves, is not so simple to make. We went through a lot of assets, tried to write ourselves, but nothing came and went. We decided so far to leave standard water without waves.
Of course, we ourselves did not make models, since both programmers did not even understand modeling. Already thought about taking myself into the team of the artist in three-dimensional graphics.

Then we began to remake the GUI, it was not presentable in the game, so in Photoshop we threw in the design and made it up. We added settings to the game so that you can set the quality of the graphics, sound level and specify your nickname. They made a window for creating a server and created servers (rooms).




9-10 months - redo the network part
Due to the fact that the standard network solution did not give what was needed, namely - more online, server independence from players and, of course, a system of levels, leveling, achievements, all this should be stored somewhere. We reviewed many third-party network solutions; an authoritarian server does not allow many of them to be made. We decided to make a non-authoritarian server. Photon Server came up to us. They studied it for about a week, but realized that it was not suitable for two reasons: they did not find a way to run several copies of the server on one physical one and subtracted the limit on the number of slots on the server on the Photon website.
From all this, we spontaneously started making our own server. Yes, it’s mine, on sockets. For a month, we managed and redid the entire network under our own server. He worked, there were a lot of bugs and multithreading was out of the question.
We were not happy with how our server works. Now guess what we did? That's right, we again found a network solution, but not quite ready - we took the lidgren library, combined it with protobuf and spent another two weeks trying to redo it all. This solution suited us more, the server worked better and more reliable. But, of course, not without bugs.
11th month - put the game on VK
We are already tired of ordering one-sided development without any feedback. Yes, yes, all this time we developed the game together and no one except the testers saw it. We decided to release an alpha version of the game on VKontakte in order to test the load on the server and get feedback from the community. Maybe they would know what the players themselves want from the game. They tied the VK API, compiled it, downloaded it to the server and added the application to the VK.
Putting the game on VKontakte was not easy: we flew with all the concessions that were before on VKontakte, namely: we did not need an SSL certificate, there was free posting in the New Applications list. I almost had time. We had to register an SSL certificate, we didn’t have to spend money well, according to an article on Habré we received a free certificate. But that's not all: moderation did not let us in, they demanded to translate the game into Russian and add rules / explanations to the game. We added short rules to the game as a separate window, but we could not understand what needed to be translated in the game, because it was already in Russian.
As a result, the words “current” and “all” were translated in the lower right corner of the screen. They sent the game again for moderation, only after that it was cataloged.
12th month - looking for like-minded people in the team
After seeing that the players come in and play, we were pleased, but not for long. We understood that at this pace we would develop the game for another five years. Therefore, they began to write ads on the search for like-minded people. First, artists on three-dimensional graphics - from them we learned that modellers create models based on drawings, sketches, sketches. From here we realized that we can not do without a concept artist.
We talked literally with dozens of concept artists and not one could draw what we needed. Well, of course, no one wanted to work on enthusiasm.
At the same time, we studied the modeling itself and tried to create boat models and more, it turned out to be more difficult to texture the model than to model it. We also released the second alpha version, where we changed the map, fixed all sorts of bugs, etc.
We also connected ads in the Vkontakte application, hoping that at least hosting would pay off.



13-14 months - development in full swing
About 7,000 people have already installed our game in VK, about 10,000 people have played in total. There were online ones that eventually broke our server. Bugs appeared in the game. The prospect is ahead, I wanted to continue developing, but there was less time for development. Work, all things. They did the next update for the game, but the development was very slow, in two months they did very little.
15th month - end of development
Time became less and less, unsolvable problems more, no one wanted to join our team, not a single designer, artist was able to draw what was needed. We made models ourselves, painted them ourselves, but we understood that all this would drag on for several more years. As a result, the development had to be abandoned. The game worked for a month or two in passive, advertising brought a penny, for the whole time we received ~ 600 rubles from the game, we spent ~ 500 rubles for hosting, ~ 300 rubles for the domain, and a lot of nerves and development time.
Conclusion
A game can be created without experience in game development, but you need to have a good team, where each member of the team will do their own thing. If there are 10 programmers in the team, and no one else, you won’t get anything good from it.
Again, it is very difficult to assemble a team of enthusiasts, everyone wants to live on something and grab a piece of bread.
During this year, I learned a lot in the field of game development and realized that I needed to write a Design document on the basis of which the game would be developed. Without it, you will have a bunch of endless ideas in your head that you will try to implement by jumping from one to the other. Of course, we made a Design document for our game, but only after six months of development.
In general, developing a game is quite an exciting process. Unlike website development or application and system software, games have something to laugh at. Yes, the development of the game in places amuses with its bugs. If you have a lot of time and you are tired of routine work, you can safely try yourself in game development. It’s not necessary to create your own game, you can join some team where, maybe, it is you who are so lacking.