[From sandbox] MMORPG alone (2d stalker)

[From sandbox] MMORPG alone (2d stalker)


Hi guys! The text below tells you how I’ve been developing my MMO game about stalkers, artifacts, emissions, and bikes around the fire for two and a half years.



It all started with the fact that, for the first time in my life, I was able to transfer information from one device to another, using sockets. Pressing the touch button on the smartphone screen, forced to move the black box on the laptop monitor. My joy knew no bounds. “It's some kind of magic,” I thought. It was immediately decided - "Everything, doing an online game." Since I am a fan of stalker, the question - “What online game?” Wasn’t even standing. About the fact that the game is not easy to do, I knew. About what to do online games is not very easy, I guessed. But at that moment, intoxicated with joy and inspiration, I did not attach the slightest importance to it.

And the development has begun. Since I can not draw, I immediately got a question about the graphics. And the answer to this question was found. Once upon a time, on old push-button phones (j2me), independent enthusiasts developed the game “Zone of Aliation”. If you describe the game in a nutshell, this is a 2D stalker for mobile. The graphics from this game were perfect for my project. I contacted the author of graphics - Pavel Shevelev, and asked permission to use it in my game. Pavel did not refuse, and even drew something else, for which many thanks to him.



Further it was required to write the code. Moving a black square is one thing, and making a full game is another. If you type in a search engine - “How to make an online game?”, You will not find a concrete answer, which could help at least a modicum. The information in the runet about this cat wept, but about the examples, I generally keep quiet. But I still managed to find information on Habré about the video lectures of Vitaly Chibrikov, which told about how to write a server for an online game. Having thoroughly studied all 9 lectures (one lecture lasts about two hours on average), I managed, on their basis, to build a strong skeleton of client-server interaction for my future game. If it were not for Vitaly, I would not have achieved such a result, for which he thanks a lot. A few words about the technologies I used - the server is written in java, MySql database, netty network connection. The client is also written in java using the libgdx framework.



Having the graphics and data transfer mechanism, the only “simple” thing remained - to make the game. To begin with, I created a location. Then he added a game character, taught him to walk. Then screwed day and night, plus weather effects. Next, create the first mob - hog. Then he added shooting, so that you could kill this hog. Then I made a pvp so that not only wild boars could be killed, but also other players. And now there is something remotely resembling a game. It would seem that there are practically no gaming functions, but a lot of time was spent on implementing all of the above. Everything was repeatedly complicated by the fact that this is an MMO game. Almost any action you accomplished in the game must be seen by the players around you. At the initial stage of development, the server crashed from every sneeze. Almost every day, I came across a bunch of problems and errors. Before the development, I could not even imagine how many tasks I would have to solve. But the development was going slowly and the game was developing.



Until a certain point, testing was conducted only on my personal PC. Both the server and several copies of the clients were started on the same machine and communicated with each other through localhost.But as the project developed, the thought came to me more and more often - “Isn’t it time to show the game to people and arrange real testing with live players?” And at one fine moment I decided it was time. Rented hardware, minimal configuration with linux on board. I uploaded my own server program there and after a new portion of hemorrhoids and dances with a tambourine, the server started up successfully. “Wow !!!” - I thought, it works. The first person to enter the game was the artist Pavel. We ran around with the map, chatted, and shot some wild boars. After that, I am satisfied and happy that everything works, I began to develop with a vengeance. The days went by, the game grew and developed, about once every two weeks I arranged open testing, during which anyone could play and test new functions. Sometimes the online player count is over a hundred. It was a great time, I created a virtual world that lived according to my rules and laws, during testing I felt almost like a god. Sometimes I went to the server and just watched the players, they run, communicate, quarrel, reconcile, create clans, fight, collect artifacts, climb in the anomaly, obediently disperse to their homes during the release. And how many interesting stories happened in the game! I remember some guys declared themselves gangsters and knocked the loot for the passage to a certain location. Those who refused to pay were shot (including me). Or something like that, a group of stalkers during the release, hid in the house from all sides surrounded by a fence and someone filled up the only way out with electra anomalies (there is an artifact that creates an anomaly) after the release the group was closed in the courtyard of this house until the very end of testing, so as at that time, after the death of a player was revived in the same place where he died.



At the moment, the game implements: 20 locations, day and night, rain, pvp, pve, 3 types of mobs with different behavior, massive mobs raids on the base, 1 raid boss, 13 artifacts with different characteristics, 8 anomalies with different effects, bolts for searching and discharging anomalies, 8 quests, system of experience and pumping skills, stalker pda, radiation, emissions, groupings, war of groups for territories, npc who know how to shoot at mutants and hide from emissions in houses, backpack and system of items, trade with npc and players, 9 types of armor, 7 types of weapons, anome detector Lee, a radiation detector, a guitar plus about 15 more different items, and of course the opportunity to sit around the campfire and chat with other players. Separately, I would like to dwell on the method of mining artifacts. Artifacts are born after ejection in anomalies, and the player is not visible from the beginning; in order for the artifact to be lifted, a number of conditions unique to each artifact are required. For example, in order to obtain the artifact “Blood” it is required that the second-level electra anomaly, when triggered (bolt throw), an acid cloud contacts the anomaly (flies along the map in any direction). Or, to get the “Heart”, you need to use the “Sineva” artifact (creates a new anomaly) so that the new anomaly gets into the anomaly of the impulse, plus the absence of sunlight is required, that is, the artifact can only be obtained at night.


I worked on all this for more than two years, but the whole point of this content is enough for three or four days, after which the game simply has nothing to do. Because of this, the number of players in the game gradually decreased, and I understood more and more clearly that I simply could not complete the game. I spent a lot of time on development, but it seems I didn’t finish the project even by half. I think that I have achieved a good result, but I still have to face it - it is impossible to create a full-fledged MMORPG alone, well, or almost impossible.I tried to find another programmer, but there are not so many people who know java and have experience in developing client-server applications. And few people will want to understand my code, since it was written far from perfect, well, and most importantly, there are many, very many of them, really much. I'm not going to lay out the code for open access, maybe someday, having played enough in stalker 2, I’ll finish it all the same.

Here is such a story. I don’t cite any references or titles in order not to be considered for advertising.

Source text: [From sandbox] MMORPG alone (2d stalker)