Tuesday, 15 August 2017

Article: Indie Dev describes the rewards and pitfalls of running an online multiplayer game with cryptocurrency integration

Editor’s note:

The following is an article by @CryptoDatabase about his experiences creating and running online games that support cryptocurrencies, the lessons he's learned along the way, and advice for indie devs planning to make similar games.

I previously interviewed him about his older game.  I am a player of both games and helped beta test the latest game.

The article below is quite  a long read, but very interesting, and basically essential reading for anyone thinking of making their own online game that features cryptocurrency either as in-game currency or as a supported currency for players to earn / spend / trade with.

Developing and running your own cryptocurrency game is exciting and can be a new adventure, especially if you’re just starting out. You have to be careful though as this path can be treacherous and full of obstacles. I first started working on games and other crypto related sites back in 2013, and though a lot of things have changed since then I still get the enjoyment of creating things that other people use. Here is the story of how I got started, and what I have faced on my adventure with creating crypto games.

I got started with cryptocurrencies back in 2012; then in 2013 someone gave me my first crypto, FeatherCoin. At this time I had already been developing and working on websites for a while - though they weren't the best, and looking back today it amazes me on how much progress I have made. The first major website I created was cryptodatabase.net, which I created as an alternative place to find information on as many coins as I could find and insert into it. From there I branched out and created my first game called Dragon Knights of Valeria.

One of my previous jobs was with a game company, where I was responsible for managing in-game moderators and the in-game support chat which was run through the mods directly. Through my job there I had 24/7 direct access to their company’s support team, as well as the developers for their games. I helped test new games that they were working on, and provided feedback in regards to how players may view certain features or aspects. This helped me learn what players want or expect with games as I had to watch and interact with the players directly to get their views, and it is one of the main reasons why I have been able to develop my own games successfully. I learned how players interact with each other, what they expect from game developers, how they respond to certain types of updates, as well as what players really want from the games they play.

The games I managed for them brought them a lot of money in a short time, but the games ultimately died off after a couple months. The games themselves were fun and addictive and the support was excellent from the mods, but the developers didn't listen to what the players wanted, nor did they listen to me entirely when I gave them advice based on what I saw from their players. They focused more on what would make them more money in the short term, and ignored the long term aspects. This caused their player base to steadily dwindle until the games were no longer profitable.

This taught me a valuable lesson, one that I still use today and one that has served me well. I learned that one of the key things for success and game longevity relies on the dev team interacting directly with the players and getting to know them. Players are more apt to stick with a game and interact with it if they are able to pass their ideas and suggestions on directly and get a real response, compared to sending in a support ticket somewhere and receiving a copy/paste response from a support agent.

It’s common practice to reply to support/ideas/suggestions this way in major game companies. They provide a cookie cutter response, pass it on to the devs, and then the devs will eventually give them a response. These responses are usually based on whether it would make them more money or not, small suggestions are often overlooked and players often wait days or weeks just to hear back. Players want to know that they are being heard and taken seriously; if they feel abandoned, or that their views aren't being considered at all, they will give up and leave after a short time.

My first game, Dragon Knights of Valeria, was a browser-based MMORPG styled after the old school games from the early to mid 2000s. Players travelled the Valerian World killing monsters, completing quests, and much more. Its original purpose was to help promote my Crypto Database website but it quickly grew to be more active and popular. Starting out I used the experience I had gained from working for the game company, interacting with players throughout the day and listening to what they wanted, how they played, and what they were interested in. From there DKV grew into a game full of new features and aspects that were based almost entirely on players’ suggestions and what they wanted to see.

Almost every day new updates were coming out or small tweaks to current features were made based on feedback. This was great and all went according to plan until I learned another, more valuable lesson. Managing games and knowing what players wanted was only part of what it takes to run a successful game.  I had learned how to manage and operate a game, but I had not learned how their backend operated.

By this time DKV was a year old and had grown so massive on the back end that I had problems with my hosting provider being able to keep up with what the code required. To combat this I had started working on a newer version of the game, one that was much more efficient and used less resources. This version became known as Dragon Knights of Valeria 2 (DKV2). It all seemed to be going well until my host finally got tired of my server using so many resources and they suspended its operation once again. This forced me to release the unfinished version before it was ready in order to avoid a large loss of players.

The new version was able to run from the same server for a little bit until I ran into the same problem as I had with DKV. My host suspended me again and I had no choice but to upgrade my server and run the game from a VPS which could handle the resource usage of the game. I had never used a VPS and to this day I am still not familiar with how it all works, as I was used to CPanel hosting for years. My host migrated my sites for me, and due to some complications they had on their end I ended up getting a newer admin panel that wasn't normally included, which helped me out a lot and allowed DKV2 to come back online much faster.

At this point I had learned how to manage a game and its players as well as what is required in order to run one server wise, but there was something else I had also had to learn that was equally important. That was how to create and run an in game economy based on real currencies. I had to find a way to stabilize what was going out to match what was coming in as well as plan ahead for the future and any updates that may come that modified current plans. This required a lot of patience and time, as each new modification or tweak to the system didn't provide immediate results and often led to further modifications.

Finding the equilibrium with the game economy took well over a year; many things required changes and tweaks in order to get it all working smoothly. If you are working on your own game or want to work on one then one of my suggestions would be to focus on this aspect - a balanced game economy can lead to far greater things.

DKV2 did great for another year until I learned some more hard lessons. I had a backup system in place that made copies of my databases every hour and emailed them to 2 separate email addresses, one to my private email server and another to a public server. I thought I was safe as I had a constant stream of backups coming in but I had failed to insure that the backups I had were complete. DKV2 had grown so much that my server was unable to provide full backups of the databases and game code files.

The end of DKV2 came with the crash of my server. This crash deleted everything, all of the server software and files were gone. I thought I was okay as I had my backup system, but when I attempted to re-upload the game I found out fast that I couldn't. The database backups were only able to compress just over 3 million records, which left out several tables at the end of the backup. The game code backups were also massive, over 16gb in size and it suffered the same fate as the database backups.

I lost over 2 years of work on DKV and DKV2 as well as 4+ years of work on my other websites because I failed to check my backups. I can't stress enough how important it is to create backups of your games and websites as often as possible, storing them on a USB drive in case of failure will help keep it safe. The loss of my work temporarily killed my enjoyment of developing stuff. I didn't see any point in continuing if it could all just be lost in the blink of an eye. My journey didn't end there though; in the immediate days following the fall of DKV2 I received many messages asking me to continue with the project and create a new game. I didn't feel like going through that again at first, but the messages kept coming in.

Within a week I had started working on a new game, one that was more up to date but still followed the same concept as DKV2. This new game is called Dragon Knights of Valeria 2: Universe and it continues the story from where DKV2 left off, but far in the future. Its main game mechanic is similar to DKV2 in that the main object of the game is to travel around the Universe fighting enemies for rewards. It is also set up to pay players for playing as DKV2 was.

DKV2:U went through months of beta testing before it was released; beta testers were a great help in uncovering bugs and providing suggestions. Once all of the bugs were sorted out and the game was running without issues it was launched and promoted in the news with the help of BitcoinPRBuzz.

Since its release it has received over 60 new updates, some of which were previous uncompleted plans and some were suggestions from players. New suggestions come in all the time though as players advance in the game and get new ideas of what they would like to see added. Sharing these with me and suggesting its addition doesn't mean it will be added into the game immediately or at all, they usually depend on how it will affect the game and how realistic it would be to code it into the game. Most suggestions that are posted end up being modified or party incorporated into something else so in a way they are added in.

The launch of Dragon Knights of Valeria 2: Universe hasn't been without its problems though. On July 16, 2017 I received an email from a hacker claiming to have gained access to the server and proceeded to download a copy of the game and databases. They demanded I pay them $200 in BTC by a certain date or they would release the source code and databases and deface my websites. I then took some security precautions, sent out a mass mail to users letting them know of the hacking, searched through the games code to locate how they managed to gain access to it and then I removed it.

When dealing with anything having to do with money or finances people will try to get in and take what they can. In this case I only lost the privacy of my code and databases as I store the games coins and my own on separate systems contained at my house. The hackers were not able to take any money and instead turned to asking for it, which was refused. I had offered to hire them to do security testing for me but they refused and insisted on trying to blackmail me. In turn, I contacted the sources of their illegal ventures as well as the local authorities in those countries.

If I were to sum all of the above up into a warning, it would be simple. Be careful and keep up to date backups of your websites code and databases, plan ahead into the future and keep a balanced game. If you use 3rd party code be sure to check everything and familiarize yourself with their work; the smallest thing can let a hacker get into your system and destroy your work.

Listening to what players have to say about your game is one of the most important things you can do. If they are unhappy with a feature talk with them and see what you can do to improve it or change it. As a game developer you have to keep in mind that a game is nothing if nobody wants to play it. Financially, happy players spend more money where players who are upset are most likely not going to spend any money and if they do only in small amounts.

I think this about sums up my experience developing indie style crypto games, if my experience helps you with your game then please share it with your friends.

Want to help us keep bringing you indie game news and also make our own games?
Become a Patron!
Post a Comment