ContributionsDevelopmentGame DevelopmentIndieOnlinePostmortem

Battle Dawn: Bringing Graphics to a Text-Based Online MMO

April 30, 2014 — by Mariia Lototska


Tacticsoft is a small Israeli game development studio that started as a one-man project and grew into an international studio with a staff of 10 people around the world, and Battle Dawn, a successful MMO game that made millions in revenues. Their game designer and founder Michael Rosen started the studio as a hobby in 2005, and now shares his experience of building it from scratch without any external investment.

Making Games Since Childhood Through the Army

Building games has been my passion since I remember myself, whether they were board games, toys or computer games. I discovered coding when I was 10 and, from there on, made games as a hobby. Getting a toy or a game as a present from my parents was a rare occasion, so I found myself creating my own games from paper cards, pens and scissors. The first game I remember making was the “Stratego” game.

I have no clue how to play it – at the age of 6, I didn’t know how to write well enough yet… so I left no manual.

About 10 years ago, I started playing online browser-based games, particularly one called Planetarion. The moment I realized I set an alarm clock to get up in the middle of the night to send an attack, I understood I got addicted.

Back in those high school days, I was fiddling around with Flash 4 (yah, back in the days when it was all scripts), and thought that making a browser-based game with this technology was a good idea, and 2D graphics would stand out in the market with hundreds of text-based browser MMOs.

Time passed, and I had to give three years to the army (mandatory in my country). Each time I had a long guarding duty, I’d sketch out my game designs. I used weekends to play other existing games and see which parts of them I’d like to adopt into my own game design.

The moment I realized I set an alarm clock to get up in the middle of the night to send an attack, I understood I got addicted.

Once I finished my military service, I had tons of motivation to do something, but no money to start anything big.

A Map, MySQL database and Simple PHP Communications Making an Online MMO

I had no idea of the extent of the project I was stepping into. The only thing I had in my hands was the design document I had been rewriting for almost three years.

The first line of code was written in October 2005 for the concept of taking the mechanics of a text browser-based strategy MMO and placing it on an interactive map with a nice GUI, and thus get a niche in the market by becoming the only true 2D browser-based MMO. I started with building a Google Maps-kind of interface, added a MySQL database to hold the location of all the bases, and displayed them on the map using simple PHP communications. I had no money to buy expensive software (my Flash license came from my previous work as a freelancer), so I chose free dev tools. Lots of PHP coding was done in Notepad at the start 🙂

Google Maps-like interface, an SQL database to hold bases and PHP communications to display them

After six months, I reached a breaking point. Everything was working locally on my computer, but I had to test it online now, to see if it works with real players. It took me a whole month to gather the courage to spend $10 per month on a virtual server host. That was like a whole McDonalds meal once a month (I was calculating it that way back then), as well as being my first online purchase ever.

Once the game went online, I saw a lot of issues I didn’t take into consideration, such as bugs related to latency and slow internet connection. That gave me at least one more month of work before I opened the alpha version to public, which was very ugly as can be seen in the following screenshot:

Mechanics of a text browser-based strategy MMO placed on an interactive map with a nice GUI

Bringing Players Through Forums and Message Boards

It was the 1st of June 2006 when I opened the game for public for the first time. I still had no money for advertising campaigns, so had to turn to guerrilla marketing. I wrote about my game on Flash development forums & mailing lists, as well as a few other similar browser-based games message boards, in order to attract a small player base to test my game. My posts were very spam-like: “Come play the best flash MMO game online!” So most of these were deleted by the moderators. Nevertheless, some were picking interest.

My posts were very spam-like: “Come play the best flash MMO game online!”

The response at that time was overwhelming! In just a day, I had at least 200 people playing my game, as well as commenting on the forums with bug reports and suggestions for improvements and features

The next few months were a daily ping-pong game: players reporting bugs and issues and having me fix them. Most of the problems reported were game-breaking bugs: buttons not working, UI issues, and battle calculation errors. As the entire game UI was built with Flash, there were quite a few errors to deal with.

In just a day, I had at least 200 people playing my game and leaving bug reports on the forums

We encountered one of the funniest bugs right after a new feature was added to the game by the request of the players: nuclear missiles. It was supposed to kill all the troops standing in the target the missile hits. But I forgot to add a WHERE clause to the SQL statement! It resulted in a world nuclear holocaust killing all the armies around the world once the first nuke has hit its target!

Implementing PayPal: “Just Copying the Big Fish Out There.”

Once all major bugs were gone and the alpha version was stable, I moved on to implementing PayPal. As the online browser-based games market wasn’t quite developed at that time, there weren’t many services available for online payments in games. I saw that PayPal was widely used by all other existing browser-based games at that time, so I decided to use it, too. “Just copy the big fish out there” was the best advice I got at that time.

Making money on the game was basically the plan from the start, to be able to pay my rent and living costs while studying in a university. I just didn’t imagine it would eventually pay also for nine other people!

I just didn’t imagine it would eventually pay also for nine other people!

Five months of the game being online covered all expenses of development. After a long weekend of coding, I managed to get the PayPal API to work with my game, and offered $5 resource packages of metal, oil, workers, and energy that you could spend in the game to build an army faster than non-paying users. Again, like before, I just copied what other games were doing. One of those I learned from was called Gindis Army Commander, I even copied the design of the payment page from them. By the way, the founder of that game now works for my company.

Five months of the game being online covered all expenses of development.

Within two minutes of committing this new feature, the first purchase came in from Australia. Five minutes later, another one came from the US, and the payments just kept on coming every few minutes. It was a great feeling: to build something for almost a year, and see people enjoying it and willing to pay for it. The mechanics I used to persuade people to pay are now common in free-to-play games: time-based short cuts instead for waiting for the resources to be replenished for a whole day: spend $5 and get your silos full.

The first month generated about $400, the following one – almost $2000, the next one passed $4000 and the game building costs were already covered.

Eventually, as the player base grew, the shared virtual server became too slow to handle my game, and I moved to a separate hosting solution. But this time, there was no more financial issue.

Harnessing Your Community’s Creativity to Build a Team

In the beginning of 2007, the number of players of my game surpassed 2000. They came by word of mouth as well as game-voting sites such as (no paid advertising was done yet). I was unable to cover the forums and in-game private messages on my own anymore. I just had to recruit community management staff.
The first member of my team was actually a player. Some community members stand out by being more active on the forums and sending me private messages which showed their special dedication to the game. So I gave this guy the keys to become the first world admin of Battle Dawn. Fortunately, he’s also a lawyer, so he knew exactly how to handle all those players and their complaints. This experience also helped me trust a person i never met face to face.

Some community members are more active on the forums and send me private messages that show their special dedication to the game.

Other players helped me create better graphics for the game, contributing their free time to create new graphic assets to be implemented in the game. I was at a point when I’d appreciate any help, as the game was really ugly. The first contributions were completely free and voluntary. Later, when the game started to make more money, I went back to these guys and actually hired them to make some more professional art.

On the other hand, about 10 months after the alpha launch, the game was hacked. One of the players managed to get access to the world database and gave himself endless resources. Luckily, he hasn’t caused any serious damage, so a quick ban along with hiring some server security firm solved this issue. And actually an apology came from the hackers group associated with the incident a few days later. The guy who helped with securing Battle Dawn‘s servers was also one of the players, and now he’s been in my team for six years.

The guy who helped with securing Battle Dawn‘s servers was one of the players, now he’s been in my team for six years.

It’s much easier to find solutions to exploits and balance issues when you got a hive mind of hundreds of “core” players instead of one or two game designers.

Two Years After Launch: Game Becomes Unmanageable, Gets Rebuilt From Scratch

After two years of updates, the game project grew to be too large and patchy, and updating turned into a nightmare. The code became unreadable, and only I knew where everything was. The game couldn’t evolve any longer.

We had to rebuild everything from scratch: the billing platform, user management, admin tools, game client, make a new database, new art, and set up new servers. Nevertheless, it happened to be easier than we thought: having a live prototype as our design document made our lives much easier. The extra income and high profits allowed me to recruit more staff, including programmers and artists.

Having a live prototype as our design document made our lives much easier.

The income that Battle Dawn generates now allows us to work on other games projects. The market has changed, Facebook, iPhones, Android smartphones and tablets, iPads – all these were coming into play. New opportunities on those platforms made us start a new cross-platform game three years ago and released it online. We are continuing to keep our eye on creating great games.

Supermechs, the team’s cross-platform game, is available online and is coming to iOS soon.