This article was originally posted on gabrielecirulli.com on May 9 2014.
The last few weeks have been quite a wild ride for me. In March, I built a game called 2048 just for fun, and released it as open-source software on GitHub. Over the course of the following weeks it unexpectedly became a worldwide hit, and it has been played by more than 23 million people.
This period has been one of the most exciting of my life, as well as one of the most stressful. Knowing that millions of people have played and enjoyed something you’ve built can be a great feeling. For many (including me), it’s what gives you the motivation to keep coming up with new creations. At the same time, when something you made becomes known worldwide you have to face a whole new set of challenges. The attention you get and the things people come to expect of you can become overwhelming if you’ve never had to handle them.
In this post, I’ll share what this experience has been like for me and how I dealt with it, both on a personal and professional level. I will also explain the path that led me to changing my mind on building a mobile version of the game.
It’s a long read, but I hope that this post will provide some meaningful insights and hopefully help those who might be facing similar issues.
How it all started
I built 2048 in a weekend, just for fun. I had become addicted to two other games, called 1024! and 2048. I loved playing both, and I wanted to create my own version with a different visual style and quicker animations, just to see if I could. At that time, I did not know about Threes, the game from which all the others (including 2048) originated.
Asher Vollmer and Greg Wohlwend, its creators, have poured a huge amount of time and effort into it. They’ve recently expressed their frustration over the popularity that the clones of their game experienced. I understand what they must have felt like, and I have a huge appreciation of the amount of work and love they put into building Threes. 2048 owes its existence to it.
While building 2048, I decided that I should just put it on GitHub and be done with it. I didn’t feel good about keeping it private, since it was heavily based off of someone else’s work.
Once I was done with the game, I published it on GitHub Pages and posted it on Designer News, simply interested in getting feedback over the visuals.
The following day, I received a message from a friend telling me to have a look at the front page of Hacker News. Someone had posted 2048 there and it was at the #1 position. Google Analytics reported thousands of people on the site. I just couldn’t believe what was happening.
Although it just looked like a sudden spike in interest, one which would fade away quickly, I spent the entire day looking at the stats. Seeing the counts continuously going up made me excited and a little terrified at the same time.
I was surprised by the amount of positive feedback I was getting in the comments. Everyone was talking about how they just couldn’t stop playing this game, even at the expense of their productivity.
The following days
I thought the interest in 2048 would fade away soon, but it didn’t stop even after a few days. In fact, it just kept getting larger. At some point, 2048 had gone from being a popular topic amongst HN readers (it became the third most upvoted post in the history of the site) to being talked about on Twitter, Facebook, and even offline. Seeing it turn into a worldwide phenomenon felt a bit unsettling.
At the same time, my inbox had started growing with emails from people interested in the game, as well as developers asking for authorization to port the app to mobile to profit off of it.
The first problem I faced was figuring out what I should do about 2048 and how I should respond to those emails. Although 2048 was just a small side project for me, and I had no particular expectations about it, the people around me were suggesting that should I jump at the opportunity to make money out of it.
Personally, I didn’t feel comfortable about the idea of profiting off of the concept, since 2048 was mostly based on other games.
What also caused me a considerable amount of distress was knowing that, in order to focus on 2048, I’d have to give up on all my other commitments. At the time, I was working on a freelance project, and focusing on 2048 meant I’d have to pause it or end it altogether.
I had to bring the game to mobile, a field I had no experience in, and do it quickly enough to be first. The prospect of doing this scared me because it would be a big jump out of my comfort zone, having no idea of what lied ahead.
Those two factors caused me a lot of distress during those days. I felt as if there was no way out, and every decision I may take would only lead to more trouble.
On one side, I could embrace this opportunity (which felt like a “once in a lifetime” deal) and get a return, at the cost of wronging the people behind the original concepts.
On the other hand, I could just do nothing and go on with my life. I knew I would regret it when, later on, someone would tell me I missed out on my opportunity.
In the end, I convinced myself that I should just do nothing, because I thought that was the only way to end the stress I was experiencing. I decided that the game would remain open-source, and that I wouldn’t bring it to mobile.
After taking that decision, I immediately started feeling better. That made me think that I had done the right thing, and I wouldn’t regret it.
Falling back into the circle
For the next few days, I felt better again.
At that time, the first mobile versions of the game had started appearing. Some of them would not even credit me or the other games they were based on, some would outright impersonate me. After seeing the reaction of the people behind Threes, I thought that not pursuing this myself had been the right choice.
Many of the people around me, however, didn’t feel the same. My friends and parents thought that my choice was honorable, but at the same time I was probably throwing away a chance that I would be unlikely to get a second time.
Initially, their opinions wouldn’t phase me. I knew that by choosing this path I had saved myself from the stress I was feeling before, and I considered that far more important than money or popularity.
This feeling didn’t last long, however. A few days later, all of the issues I thought I had overcome crumbled back on me much harder than before. I had started to regret “wasting” this opportunity, and I felt as if the people around me were disappointed by my actions. What made me feel even worse was seeing a 2048 app made by someone else get to the top of the leaderboards in the App Store.
I was distraught because of my situation, but I also had reasons to be happy.
Even though some people don’t care about taking someone else’s work and using it for profit, there are also many creative people in the open-source community who care about improving what’s out there. They just want to take something and make it better, or even bring it to entirely new levels.
Seeing the countless derivative versions of 2048 that had appeared made me incredibly happy. I had a lot of fun playing each one of them, and it just felt great to see what others were coming up with.
People poured a lot of creativity into tweaking the game and shaping it into completely new things. Knowing that someone else spent their time on improving something you’ve built can be elating, especially if what motivates you the most is just making people happy through your work.
Changing my mind
Thanks to the help of my parents and my friends, I realized that the only way to get over this without feeling like I had missed an opportunity would be to embrace it and produce an app. I wouldn’t be doing it for profit, though. In fact, that is not what matters to me. All that matters is knowing that I didn’t waste a chance, no matter if I’m going to succeed or fail.
What would people think of me, though? In every interview, I said that I wouldn’t try to profit from the game for ethical reasons. I thought that if I changed my mind, I’d be seen as a hypocrite, and I really didn’t want to be that kind of guy.
The hardest thing about this decision was that I felt it would betray other people’s expectations of me. After all, I would be changing my mind and pursuing something I was outspokenly against. It took me a few days, but what eventually led me to accept this was knowing that my change of heart would not be motivated by greed. I chose to do it to save myself from feeling like I missed my chance for the rest of my life.
Due to my choices, those who took these issues at heart and appreciated my previous stance will probably feel deceived. That’s one of the reasons why I chose to write this article: I wanted to give my perspective over this controversial choice, one which was mandated by extreme conditions.
Hopefully, the context in which this decision was taken will be enough of an explanation for my actions. If not, I hope I at least somehow helped people understand where all of this came from.
Building the application
I still thought that just taking the game as it is and wrapping it in an application would be a bad thing to do. 2048 was not really mine anymore. Instead, it belonged to the countless contributors who believed in it, and I had no right to use it for myself. If I wanted my decision to feel reasonable, I would have to put a considerable amount of work into creating the application.
In the end, it took me a full month to develop the application from scratch and bring it to a state of polish that would motivate its existence.
The problem with Phonegap is that if you want to build a native-looking app, you have a long, hard road ahead of you. Fortunately, I was trying to build a game, which meant I wouldn’t have to strictly abide to the visual styles of each OS.
I wanted the application to have a menu, because dropping the player into a game when launching the app wouldn’t make for a good experience. A menu would also let me introduce new game modes, which would add value to the game.
I wanted the game logic to be generic enough to be allow the inclusion of new game modes just by creating new objects that “hook” into the core game and modify its behaviors as needed.
I ended up writing most of the application’s code from scratch. The only part I kept from the open-source version of 2048 is the logic to move the tiles, to keep true to the original experience. Since the app will be closed-source for now (but I might publish it in the future), it wouldn’t be fair if it used code that other people contributed.
The codebase turned out to be almost 3 times the size of the web version, with most of the code being new.
While building the app, I found many ways to improve and streamline the code and the interface. I’d really love to give back to the open-source version of 2048 by porting these back into it. I also want to eventually refactor its code, to make it a better asset for the open-source community.
Hopefully, this post offered a few meaningful insights into my experience with the popularity of 2048, even if the way I dealt with these situations might not be the best way possible.
Most of the choices I made at each point were based on how I was feeling, and were aimed at preventing personal issues rather than gaining something from the project itself.
I’m hoping that this article can appropriately explain how and why I came to each decision, and help anyone else who might be facing these issues better understand what they might be up against.
Thanks for reading!