📜 ⬆️ ⬇️

"As we did game hosting" or "Our first Hackathon"

The other day in our company FirstVDS passed the first hackathon. It was for us the first experience of the project in the framework of such an event. As a result, we launched the new service FirstGAME in just one week.



Prehistory


Exploring for what purposes we buy VDS, we found that a significant part of them is acquired for the deployment of game servers. Then we decided to make it easier for customers to use our service and create disk templates with pre-installed game servers. However, while we prepared the first Minecraft template and studied the system requirements of the game, it turned out that it needed at least 1 GB of memory to work. The price for such a game server turned out to be completely not competitive. We still launched this template in early July, believing that it will be in low demand, among those who need full control over the game server. In addition, we decided that it would be interesting to make the hosting of game servers as a separate specialized service. The name came up immediately - FirstGAME.

A little thought in this direction and having estimated that we need to launch a game hosting service, we realized that we would be launching this project for a very, very long time. It was necessary to involve a lot of different people who already have enough cases. Then someone suggested: "Let's try Hackathon ?". We have appointed a preliminary organizational meeting for August 13, inviting to it all employees of the company who wish to participate. The idea is to create a new interesting project in 1 day.
')
The guys from different departments were inspired by the possibility of creating a gaming platform and came to express their ideas. At this meeting we discussed the objectives of the project, the main requirements, sketched a small plan, what we need to do and who does what, as well as set a date - September 17

The leaflet with the objectives of the project was as follows:

And the requirements are like this:

Since we do not have our own web designers and programmers on staff, we decided to invite them from outside. Thus, we were joined by designer Eugene, with whom many had time to get acquainted at Admins apartment building , as well as a group of programmers from ISPsystem, a friendly company that was interested in creating a new software product.

At the end of the preliminary meeting, the head of the company, Aleksey, said: “It seems to me that I am beginning to believe in the success of this undertaking,” which inspired everyone very much.

Hackathon


So, it is September 17, 9 am. Until that time, we agreed not to do any preliminary work and research, we decided to start everything from scratch. The only thing we have done by this moment is that the domain firstgame.ru was bought from cybersquaters .
Go! The task before us was set very concrete, interesting and difficult - to make a workable project in one day. Not licked in the details, not too deep, but working and alive. Thus, we, without any preparation at all, but with the aim and with the means in the form of human and technical resources, set to work.


We gathered in a large spacious room, there were really a lot of people (21 people). On the walls hung several canvases with text telling about the goals of the work, the requirements for the intended product, as well as a small overview of the games from which one could begin filling the panel.

After a brief discussion, we chose GTA, Counter Strike 1.6, Minecraft, TF2, Left 4 Dead and TeamSpeak as an added bonus. We took these five games based on the criteria of mass character, stability, simplicity / complexity of support, etc. How many toys will turn out at the end of the day - it was not known.

Judging by the expressions on the faces of the participants in the experiment, they had fun coming to work, but not doing everyday tasks, but massively exploring some new area for themselves, finding ways to solve it, not hesitate to think, test them for suitability and take final decisions. Everyone was in a good mood, and interest was read in the eyes.


We have formed 3 main working groups: The first was engaged in the development of the site, content and marketing research, the second - the study of the technical side of the game servers, the third - the development of the control panel for the game servers. And, of course, there were individual people who coordinated the collaboration, provided technical resources, ordered pizza, all fotkali and recorded

Site. While the group was discussing the layout and layout of the site, the designer listened to the task and began to create logo sketches. After looking at other logos of our projects , Eugene in a few minutes offered a layout that everyone liked and immediately approved it. Then the guys decided how they would design the site, what blocks they would place, what color solution would be. We tried to make everything comfortable and understandable, without unnecessary confused frills, but interesting and beautiful.

We looked at some of these sites and podchernuli many interesting and useful. Having defined the site and finally formed the assignment for the designer, the main part of the group was engaged in marketing research. We found about 50 sites on Runet of similar subjects and analyzed them for the services provided and pricing policies, and also tried to identify leaders on whom to equalize. We bought accounts from them, studied in more detail how everything works, which is convenient and pleasant. As a result, we derived average market prices, and also determined the prices that we would like to establish. However, it was too early to decide finally with the price, since nothing was clear about the cost price ... However, this did not prevent the creation of a new project and tariff plans in our BILLmanager billing system, as well as making settings for receiving money.

In the meantime, a group of system administrators divided the games among themselves, each received a separate dedicated server and proceeded to install the game. Their task was to deal with the server part of the game, on what and how to run it, determine the resource needs, how it is configured and form the task for developers who will automate interaction with this game. Next, the task was to study the load created by games on different servers and determine the optimal configuration of the hardware so that everything was enough and nothing was idle.

And the developers, meanwhile, designed the core of the new product, which they decided to call GSmanager (game server manager). Here is how one of the participants of this group commented on his work, Alexey: “Of course, we decided to write a game panel on the same basis as all our products - on COREmanager . The following architecture was developed: The system will be multi-server. On one server, GSmanager is deployed, which is responsible for the user interface, their accounting and the accounting of game servers and nodes of the game cluster. Nodes are connected to it, game servers will be installed and run directly on them. When connected, a special application is installed on the node - GSmini, which, in turn, is responsible for installing game servers, setting up and managing their state. Thus, from the master server we will be able to manage the whole game cluster! ”


Having dealt with the architecture and interaction protocols, the guys set about implementing and by lunch they had a working prototype. In parallel, we wrote a module for BILLmanager, which allowed us to automatically process customer orders.

It was time for a break (one o'clock in the afternoon) and here are some of the impressions of the guys, brought out during the lunch break:


Olya, project manager: “I am surprised at our performance. We fit well into the plan. No mess and chaos, everyone is sitting and clearly carry out the task, everyone understands what he is doing and why. ”

Dima, developer: “I don’t see what happens beyond our development table, although there are plenty of tables here. We have manifested the structure of the project, on the basis of which it will live. The basic functionality was defined, how it will work with users and physical servers. We have automated the process of assembling and deploying the GSmanager panel being developed to a test bench. In general, the basis was invented, and now they understood that it needs to be improved. Forcing events, we implement new ideas and start building up “meat on the bones”. An hour later, we ask for info about the configuration and the launch of different game servers. ”

At 2:00, again, everyone gathered in their places and the work continued. The groups began to interact more closely with each other, exchanging experience and information. The first negative moments also appeared. It turned out that TeamSpeak cannot be sold just like that, you need a license agreement and the signing of pieces of paper. But we have not thrown this question, because this is a popular addition, we must have it.


We also failed to carry out testing under load, there were not many necessary data on this topic on the Internet either. We decided to run everything on the E5-1650 / 32Gb / 2x2000 SATA config, one node for each type of game. Further, by experience, we will determine the need for iron and optimize it. Since we could not calculate the cost more or less accurately, we decided to stop at mid-market prices, having decided that, probably, people do not lose money for themselves ... Moreover, we are not going to dump, because we believe that this is killing the market, and we are planning work on it and do something that will make him strive for the best.

The developers, too, didn’t do the best, the first module for Minecraft was decided to be a crowd for the guys, and then to break into the rest of the games, and to write down the remaining modules in parallel to the developed system. However, the debate over the “best enemy of the good” series took too much time. A group of game researchers finished their work and began to suffer nonsense, which slightly affected the overall working atmosphere. True, some of them found a lesson in the form of filling the site with texts and help in generating ideas for banners and other marketing activities.


Toward evening, it finally became clear that we would not have time to launch the project today. The main reasons were GSmanager, as well as work on the layout of the site and its automation.

All agreed on the opinion that we have done a huge amount of work and we need just a little bit to start the project. We discussed all the bottlenecks and shortcomings, determined the order of improvement: after 3 days (in unhurried mode, because everyone has the main work), we should be ready for final testing, take 2 more days to eliminate the shortcomings revealed during the testing process and September 24 ( in a week) we start the project.

As a result, on Friday, we had:
  1. Completely ready site with 3 most popular games
  2. GSmanager is installed and configured with 8 servers connected
  3. Game servers are running in test mode.
  4. On the website, you can order a service, make a payment and start the game almost immediately.
  5. Marketing is ready for all advertising materials, news and pre-release texts, there is a clear strategy for promoting
  6. This article is written.

Lastly, I would like to say a few words about the future plans for the development of the project:
During October we will add a maximum of functions to GSmanager and bring the first four games to a perfect state. And by the end of the year, we plan to increase the number of games to 10, to study the game hosting market more deeply, to study the feasibility of buying competing companies in order to quickly secure a leading position.

Conclusion:


Hackathon, as a method for quickly solving interesting problems, justified itself! We liked this style of work. The result , ultimately, we are also satisfied. Now we are waiting for feedback from fans to play in some of the still small, but already available range. And the readers, I hope, have found something interesting for themselves in the article.

Source: https://habr.com/ru/post/195356/


All Articles