Server Creation:Origin Story

From Citywars Savage
Revision as of 03:21, 6 December 2019 by Darkirby3 (talk | contribs) (Created page with "==First attempt== In 2009 was the beginning of our first multiplayer server. There was a popular tv emision here in Quebec called CallTv. The TV show was really crappy but is...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

First attempt

In 2009 was the beginning of our first multiplayer server. There was a popular tv emision here in Quebec called CallTv. The TV show was really crappy but is popularity was incredible. The concept was really simple. One animator in live in the tv would ask the viewer to call a number to answer a riddle. Every call would cost 1$ if you were lucky you would get the chance to give you answer live on the tv and gain the price.

We made a better version of that tv show called WebParty were we where the animator on a live stream webcam and viewer instead of having to call they could directly answer from a flash mx application programmed in actionscript. Contrary to the real tv show our show as no good answer. User would vote in real time and vote was compiled live. The user who voted the answer with the lets vote would win. So you had to pick up the less voted answer to win.

That was our first truly multiplayer server we ever made. At that time we were really proud but Oh god it was unstable XD We were aged 17-19 year old and we didn't really know what we were doing. We were also fairly new to programming. The game quickly gained in popularity but everytime the server reached 10 players online the server would crumble under its own weight. We didn't know how to properly send package at that time so every packet send was requesting new connection on the client. It was a real mess but we were young and full of dreams. So we decide to shut down the project.

Second attempt

Just after Webparty we rebuild a new server from scratch. This one was a lot more optimised. This time the server would be used to create a game called Super Motherland. It was a Super Mario bros multiplayer but instead of playing as the hero (Mario or Luigi) you were the goomba or any other enemy in the game. Each character had their own custom ability like the real game and you could custom them. We rip off all the sprite of Super Mario World since at that time copyright were not a big deal on the internet and we build the game from scratch in actionscript. We recreate the 2d platform system of Super Mario World from snes and we build a in-game map editor so players could build inside the game. (Way before mario marker XD)

The storyline of the game was to give the player the terrible perspective of Mario killing everyone in the mushroom kingdom. Mario is just a maniac killing without remorse and needed to be stopped. So Bownser was the nice guy and all mario friends characters were the evil one that you had to defeat.

That server was a lot better than our first one from Webparty. But it was unable to sustain more than 30 players online without massive lag. Event if what all the great improvement we had done with our new server we were asking a lot from him. Sending player location in real time needed a lot more optimisation then what we were capable of. We try really really hard fixing the server and trying to make it massively multiplayer but we were not able to figure out how to fix it. In 2009 socket server were not well documented on the internet like today.

Third attempt Then come Minecraft. We had our own public multiplayer minecraft server and really slowly new player joined time after time. At first we were still working on our own video game but slowly minecraft started to take more and more space in our life. Were at a certain time we decide to spend all our time operating our new community. This was the beginning of a long adventure and the birth of Citywars Minecraft.

I will avoid all details to this chapter because there is a lot to talk about it but to simplify everything this is where we learn how to truly do massively multiplayer server. Minecraft was an excellent tool with an excellent community of developer. We were able to learn their protocole and understand how a real multiplayer server work. Then come special modded server allowing event more player online and slowly our small public minecraft server past from 1-10 player to 250+ concurrent players online.

At that time our minecraft server become a full time business. With employee, salary, marketing budget. The server was running by is own and we finally find some time for ourselve to try and experiment on our side. This is where we attempt our third massively multiplayer server. Learning from our precedent mistake, instead of building the game first and then the multiplayer server we started by building the multiplayer server first to see if it could handle the amount of player desired.

There was this growing in popularity game development tool called Unity. Which we decide to give a try and see if it was worth our time. We build our own server and we also try many different options trying to see if we could achieve our dreams.

Here you can watch one of those options reaching 100 fake online player (Stress test). https://www.youtube.com/watch?v=j8apBwTh6Jw&t=26s Sadly we don't have all the other solution we try this is the only video we still have XD 100 Hundred players was not bad but we know by experience that stress tests are nothing compared to real player with bad latency and bad connectivity. We always dreamed for something way bigger than that. So we decide that 100 players was not enough to start building our own video game and that we would need to gather more experience in networking before restarting a new video game project. So we continued on minecraft instead and focused our energies to make the server better for our community.


Four attempt

In 20XX we were in a really difficult dilemma. Since our minecraft server had more than 7 year of activity we had a really old and loyal community. There was this weird treading incoming in the minecraft community were old player were simply now too old to play the game and would give their account to their younger brother/sister. The popularity of minecraft stayed almost the same but there was this weird shift in the age of player were mature and old player of 16-18 year old members were replaced by 6-10 year old. This had for effect to quickly change the type of popular Minecraft content. Old Server like ours who delivered more than +300 hours of gameplay were not appealing to young minecrafter who wanted to have quick and fast-paced gameplay instantly without any effort of grinding. At this moment mini-game minecraft server become more and more popular quickly.

Seeing this thread in-game we try to quickly change the server into a more easy and fast past environment. We developed at that time a gamemode called Vimon which was a lot more rpg and easy to play then the current one. We radically implemented this gamemode by transforming the main server into now a rpg game. Which was extremely appreciate from young generation but was a hard and extreme changement for our old community. People who take the time to give it a chance, really appreciate that new update. But a lot of our old school members see that update as a way to replace them and didn't appreciate the sudden change.

So we were stuck in a difficult situation were for the survival of our server we had to push out our current user out of the server to make space for the new member but we didn't want to lose our members base because we spend so many years together and these had at a certain point like families.. We try to do both during a time but this was not going really well for us. Both were unhappy with the modification done on the server and everything was just a big compromise for both groups of users. We were slowly losing old members and because the server was not 100% fast paced like other mini-game minecraft server it was really difficult to implement younger user. We try many things to fix the situation without having to resolve to the extreme like we try merging with a bigger association of minecraft server

Also there was some sort of a monopoly of Minecraft server slowly taking place. Were some minecraft server had become their own full commercial entity with investor and money. They were able to pay double the price for advertisement simply to ensure nobody would be able to competition them slowly killing all the small server in the same process. This is one of the reasons why we try to merge our server to another bigger entity to protect ourselves from that menacing tread.

Then the nail in the coffin... Microsoft purchase Minecraft. We strongly opposed against the purchase of Minecraft by Microsoft. We know Microsoft doesn't wanted to push further minecraft service like ours server and Microsoft had the bad reputation of treating is recent acquired brand badly especially in video games. We didn't want Microsoft randomly shutting down our minecraft server after we spend so many hours working +70hours a week to develop and create our community.

So we take the decision to stop operating our minecraft server. It was a really really difficult decision. The advertising was costing more and more every year for a market slowly reducing. Our gameplay was not prepared for the new younger generation of minecrafter and it was really difficult to implement new content without causing fights with our community. The server was slowly becoming smaller and smaller every month at a point were it was difficult to get a salary from it. So we decided it was time to stop operating a minecraft server and start a serious business. We keep the server open for the community but we stopped any further updates on the product.

With all the experience gathered from operating a minecraft community we begin to do contract for local business with web application. Like inventory management, online accounting tool, employment administration, project manager and the list go on. We were truly impressed by how easy it was to make money from contracting. It was difficult to obtain the contract but once those contracts obtain they were easy money compared to all the work it was to operating a minecraft server.

Corporations were impressed by the quality of our work. We had been developing tool for gamer for more than 7 year. Gamer do care a lot for what you program and develop. if the quality is not good enough, you can be sure you will receive extreme and radical complain from their part. Gamers will also found out all the little extra details you implement for them and will be really thankful for it. On the other hand corporations don't care much about your program, if you added some extra cool features to their application, they don't even bother to look at it. If everything works the way it was intended it's good. Their employe will absolutely love those little details you added but they are not the one involved in the process of making the decision and most of the time their boss will never know about it. So it was a fairly new concept to us.

After a while we were truly missing operating a minecraft community. We never made a lot of money with our minecraft. Most of the money made from operating the server was 75% invested back in the server primarily for marketing. We would get small salary just enough to pay the rent and allowing us to develop full time on Minecraft. Money was never the reason why we were doing our work.

After 2 year of leaving minecraft we slowly in our spare time started to develop a new multiplayer server from scratch. This one was technically if we count from the start our fourth attempt. The big difference that time was our 7 year of experience in development and administration of minecraft community. We had 500 000 unique players playing on Citywars Savage. We know exactly was can cause a server to lag and what to be cautious with while making one.

Step by step this new server was truly promising. In 20XX after months of testing with the server and is capacity we developed a little game with unity called Infinite tile. https://www.youtube.com/watch?v=5672zInRoRU Infinite tile is technically the prototype version of Citywars Savage in its early development phase. It's purpose was to test and certify the solidity of our multiplayer server. After having all our test concluent, we were satisfait enough of the good performance of the server to start thinking about maybe starting developing our very own video game. We know it would be a long and difficult adventure so we continue to gather money from our business of making web application and in 20XX the 25 december we took the decision to officially start development of our first video game.

This was the beginning of a great adventure!