How we built a multiplayer game in 12 days

author avatar

Nikola Samardžija

November 20, 2020

6 min read

As a mobile apps development agency, we usually work with startups. Through various projects, we experienced what it’s like to start from the initial idea and get to the point where we have happy customers that use our product.

During the pandemic, we got an opportunity to develop an Easter mobile application, a game in which people could compete in duels between their Easter eggs. We liked the idea, but the deadline was a thing that really got us worried. However, we decided to do our best and take on this challenge.

Being one of the mobile team leaders I will try to guide you throughout the phases we went through and decisions we had to make while developing our easter game Egg Smash. Small projects are always good for learning as we can easily see the whole picture set in a short period. We learned a lot from this project, both as a team as well as individuals, so I hope you will learn something from it, too.

1. Use your time wisely

During the life cycle of such a project, a lot of things can come your way. The biggest obstacle is, of course, the time. If you don’t use it effectively, you can lose the interest of end customers, and in the end, money. 

In order to use the time you have wisely you have to make a good plan. When making the plan, try to split the time out on the main phases. Phases of our work process were these:

  1. Deciding to start the project 
  2. Discussing with stakeholders
  3. Defining specification
  4. Defining design 
  5. Development
  6. Fixing bugs
  7. Preparing marketing strategy
  8. Releasing the app and connecting with customers
  9. Celebrating
  10. Learning from users responses

2. Get your goals right!

Why is this step important? Well-defined, achievable goals will lead you through all your decisions, they’ll define your work roadmap. Having in mind why you started will affect and make all of the decision making easier, so take the time to write those goals down. If you follow simple rules of the SMART criteria, you’ll get rid of the fear of missing something out. There is a lot of sources you can find on defining your criteria and this is how we did it:

Create a game that will allow users to decorate easter eggs and use them to compete in fights with their friends and family who are not physically present. And create it until Easter.

Specific – We were specific about what is the must;

Measurable – We had responses from media and customers; 

Achievable – We had a well-established team, experienced in mobile development and marketing;

Relevant – It was relevant to us, as it synced with our company goals, as we like to experiment and learn from being invested in such interesting projects. It was also relevant for our community, as it made the holiday more enjoyable during the pandemic.

Time-bound – We were on a pretty strict schedule, but we had it well planned and under control.

3. Put the idea in writing

I’m sure you keep a lot of ideas in your head and I know that sharing those ideas in a way that others understand you can sometimes be challenging. Writing down the specifications can be energy-consuming for everyone involved.

To make things easier we defined three main domains of the app. Every part needed to fulfill our main goal.

Onboarding

Decorating an egg

Game

You should be aware that you are not able to know everything ahead, so keep it simple, and always have the goal in mind. You will polish everything in the design process.

4. Discuss idea productively

After you define your main idea, you need to discuss how it is going to work with as many stakeholders as possible. In my opinion, these are the most important parties you should include:

  • Initial idea owner
  • Potential customer 
  • Designer
  • Developers
  • Marketing team

The discussion needs to be productive and aligned with the goal you defined at the beginning. This can be tricky, considering that each person has their own, specific ideas and wishes. And yes, I know we have to be agile, so this is the point where you want to reconsider previous points in your writings. Teamed up with the designer, you’ll become one more step closer to your final product.

5. Find designer in yourself 

At the beginning the designer creates a basic design system, and a color palette. What you need to do is to make as many iterations with the designer to get everything done, and it is best to do it through real-time collaboration.

The software we used was Figma. Figma helped us get involved in the design process while we were fully remote. You have something on your mind but don’t know how to say it? Draw a simple wireframe with this simple tool and let the designer do the rest!. Your goal here is to define structure and get a bigger picture of the application, without spending too much time on the details.

After we made the prototype, we came back again with all stakeholders. In this process, we determined what was most important for each of them.

  • For the marketing team, it was important to match visuals for social networks and other media, and that URL of the game can be easily shared
  • For potential customer 
    • That Egg fights look realistic, which means we had to have more animations and details included
    • That Eggs look entertaining, which means we need to include various options for egg decoration

6. Find balance and beat the perfectionism

As a team leader, I had to determine how much effort we needed to implement in improving the app and still be able to make compromises that are important for the customer and, of course, to keep up with the tight schedule.

When we made the main design changes, we became sure there will not be any major changes further. As the app progressed, our priority became making the development as efficient as possible and getting the marketing team aligned with new visuals.

7. Sprint like a Bolt

As we had what was sure, the process of development could go parallelly with the minor design changes and marketing preparations. We defined two mini sprints – the first one was to create an MVP app starting on April the 3rd, while the second one was bound to start on April 9th. The next goal was to test, fix bugs, implement monetization, and extra features that will enhance UX.

We used SCRUM methodology (you can find a lot of resources on SCRUM methodology online), and these are it’s key points that helped us work effectively while being remote:

  • We always had daily meetings at the same time. That helped us sync iOS and Android platforms, share knowledge, and adapt to changes.
  • Using VivifyScrum we had everything we needed to set the visual representation of our progress.

Besides these, our big advantage is that we work together on different projects at the same time. Beyond the fact that we work together, we also studied together, so we build our team through different situations.

8. Just do it

When you get to the point to release your app, Google, and especially Apple can have specific rules in the review process. This time Google put us in a tough position. It announced that, due to Covid-19, the review process takes 7 days. We were left with only 3 days to develop the app that will fulfill the initial goal, and the hard decision was in front of us. Our thought was that if we are going to miss the release date on April 12th, there is no point to even try and release it. As this project was too exciting to give up that easily, we came up with the idea to make the simplest version of the app, to wait for the release, and to hope that update will be much faster. So that’s what we did. Fortunately, the app got released in 5 days and every succeeding update was live in the few hours over the night.

9. Deal with important mistakes

While programmers were working on developing the app, the marketing team did an excellent job. When the app was ready, the marketing plan was already on the table. Reactions started coming our way and most of them were the positive ones. There will always be some bugs, but bear in mind that you must resist fixing everything immediately. Only the critical ones, ones that are breaking the goal set at the beginning are something your team has to fix as soon as possible. That is what affects most of the users, so it is the only thing that must be addressed urgently. When the app was released we acknowledged we made a mistake while making improvements. It turned out we created a more critical bug that affected first users. We had to respond to the user so they could write proper feedback or make some workaround. Luckily it was fixed before Easter and everyone got their chance to be at the top of the leaderboard with the hardest egg!

10. Smash the eggs!

We, as the Crystal Pigeon team, believe that a job well done must be appreciated. After a finished work, don’t forget to take a deep breath, look back at the work process, acknowledge what you’ve done well and what mistakes were made, congratulate your team on a success and celebrate. And never forget to thank everyone who supported you. 

I will use this opportunity to thank the watfoi organization and the whole design and development team of 7 people who worked as one and made this happen!

Care to share?


Stateful vs. stateless widget

All

Stateful vs. stateless widget

Welcome to the widget class

How to update fragments in the ViewPager?

Android

How to update fragments in the ViewPager?

Five indubitably easy steps