Microgolf Masters
- Microgolf Masters
- Images
This one was a while in coming - our current TripleFun game: Microgolf Masters.
About the game
Masters is the sequel to MicroGolf Challenge, itself the sequel of MicroGolf, so it's interesting to see the evolution of the game as time has gone by. As of the time of writing, MicroGolf Challenge has been removed from sale to stop any confusion amongst players.
While Challenge was a good game and enjoyed modest success, there were problems with the inherit conception of the gameplay and monetisation, so after meeting with other CEOs of mobile games companies, Nicolas decided that the best course of action would be to release a new game. That way, we can make any number of breaking changes with the previous one without suffering the wrath of an existing playerbase.
And there were a hell of a lot of changes. Here are just some of the differences:
- More granular upgrade system (In Challenge we underestimated just how quickly players would progress). Balls can now also give boosts
- Progression through courses was replaced by a League system (previously named Rank). Winning matches gained you crowns. Win enough crowns and you pass to the next League. The top League is Masters, where the ranking is ELO based.
- A new season system. Every week, a new season begins. You win rewards based on how you placed in the previous season, and your League would be reset (depending on where you finish, it'd be reset more or less)
- A new solo mode, where players are presented with a new course every day. Get the best score of the day for your League, and you win rewards, as well as a medal for your profile
- 8-player Tournament mode, where players face off in 1v1 matches until there's one winner. Amongst other things, that winner gets a trophy for their profile
- 4-player free-for-alls, or 1v3, where 4 players play on the same course, which is pretty fun
- A Card system. As you play, you'll win or buy Cards, which can be used for all sorts of things, such as getting new balls, upgrading your stats, getting Boosters, etc
- Boosters! In games, you're allowed to bring 2 boosters with you. These are special items, that used at the right time, can turn the tide of the game. Some of the Boosters included are extra Strength/Accuracy, Confusion, Anchor, Invincibility, Assassin, and Unsinkable.
More updates are coming down the line. At the minute, we're finishing up a big performance update, to get the game back up under 60fps and silky-smooth, and after that we're planning on a teams feature, where players can face off against each other in 2v2 matches.
A bit about the development
Challenge was our first Unity game, so by the time we tackled Masters we had a bit more experience and could tell what was working and what wasn't. Although we were working from the same codebase, we profited a bit at the start of development to restructure and refactor anything that wasn't up to scratch.
One thing we set from the start, which I'm glad about, it focused solely on Android development, so we were only on one platform from the get-go. This was a huge timesaver in the long run, as, if you don't know about it, the time to release on different platforms is wildly different.
Though it's better nowadays, iOS would routinely take ~2 weeks to validate a release. As you're working in sprints of about 2 to 3 weeks, this meant that you had to support the version in dev, the version in pre-prod (that was currently being validated), and the version in prod. So anytime there's a bug, there was a 2 to 4 week delay before we could fix it (once you've figured out if it's already been fixed or if it's a regression).
Android, on the other hand, has a release window of a few hours. The difference is day and night. Release in the morning, then monitor, and you still have time to scramble a fix if necessary. As an anecdote, we were cleaning up plugins and requested permissions, and I removed one that inadvertently changed the path to the Application storage directory, which is where we saved the player's save file, including their login details. So I borked every single player that wasn't signed in with Facebook. Needless to say, that's a good feeling. Happily, the files weren't gone, so once I'd found the problem, two releases in the same day later, everyone was back up and running. That would have been impossible on iOS.
Another thing that we did was enlist the help of fellow Unity devs BeTomorrow. They're based just down the road from us, and we had help from Gaël Lequeux and Alix Fumoleau, both of whom brought their Unity expertise to the table and helped us out with the UI and perf.
We're also using the services of Logmatic.io, which is a company specialised in logging and metrics. We had our own solution, but we'd always have to wait a day before the logs were available in our backend. With Logmatic, all logs come in in real-time, and we can do some pretty deep searches. This is a life-saver when it comes to support and bug-hunting. As a result, the majority of support questions can be resolved in around about a minute from the time we open the mail.
The release
Masters was in soft launch on Android for quite a long time before we pushed it on iOS. All in all, there were around 25 versions released on Android while we added, fixed, and polished new features.
When we did release on iOS, it was to a pretty awesome feature. We ended up on the home page of the US iTunes store and ended up in the top 10 overall, and top 5 for sports and strategy. On the french store, we hit #1 and #2 for sports and strategy respectively. Considering the other games on offer and their respective advertising budgets, this was huge!
The effect of this was pretty immediate; we were gaining around 50k players per day. Our server started crying, but the effect in game was pretty impressive. Searching for games was immediate. Even tournaments, which would normally take a bit longer to fill up, were instant.
On our end, aside from the heady rush that comes with topping the charts and having a huge influx of players, we were scrambling about trying to make sure everything kept running. Our poor server guy, Camille, got about 3 hours of sleep until we could nail down a deadlock situation that was happening if players did specific things in the tournament. Once you start getting big, the law of large numbers takes over, and what can happen, will happen.
All in all, we can't really complain. To be featured at all is a massive gain, and can easily make a company. The fact that we were able to build and release so quickly on Android meant that we were coming to iOS with a pretty solid app that had already proven gameplay, so it was well received.
One mistake we did make around this time was to reset the League of all existing players. The rationale was that we'd just made a big change in how the League system worked, and we'd start all players off on the same foot, but it obviously could never been the case. Old players figured themselves unjustly treated (players love getting new things, but absolutely hate losing them, especially if they've felt they've worked for it), and we got slammed in the ratings. New players, on the other hand, were coming in, and right away facing off against seasoned opponents with much higher performance and better balls, so they were getting creamed in games. For them, they didn't know what was going on, so it was just like the game was badly balanced, and I'd say we lost a good number because of it. I think the day after that update when live, I must have answered over 200 emails on the subject :D
Lessions learned
With every game, we learn something new, so here are a few of the take-aways that have stood out for me:
- Unless you have a specific reason not to, focus on Android first. While for Masters the ratio is currently something like 6:1 in termes of iOS:Android, focusing on Android first allowed us to nail a lot of the functionality and bugs before releasing mass market. Once iOS is in the measure, expect your effective dev time to double
- Sometimes all you need is a little presentation change. When we first released tournaments, we had maybe 1-2 a day, simply because it was so hard to get 8 players together at once. Players would join, see no-one, then leave. To get into a tournament, it wasn't uncommon to wait for half an hour or just get very lucky. We were discussing all sorts of solutions, each of which non-negligible in terms of development. In the end however, we went with a simple "Starts in..." countdown that would automatically show over the tournament button on the client for 5 mins every half an hour. No server integration or fancy logic, just a simple label. Result: the next day, we had over 400 tournaments played
- Don't use Scenes: I can't count the number of problems we've had because we've used Scenes in our game. If you're just doing a hard switch, then maybe you can get away with it, but the minute you start trying to do transitions, you're opening yourself up to a world of hurt (all special classes (e.g. Android Native) need to be marked
DontDestroyOnLoad
, you'll have to create your own destroy-all-old-GameObjects logic, only to discover some wonderful consequences (UnityIAPs, I'm looking at you), in an old version of Unity, destroying a Scene cleared out all statics declared while that scene was active, etc) - In the quest for performance, you'll find yourself going against the Unity grain as often as not. When you first start in Unity, everything is components-this, and components-that. After a while, you see that you've about 10k active objects in your scene and they could all be replaced with simple non-component code. You'll also find that the default shader for 2D sprites is suuuuuuuuper slow. Write your own. I wrote a whole post of different performance tips for Unity.
- Getting featured by Apple is a big deal. Overnight we added maybe 700k players. This was just after our server guy went on holidays and you suddenly find your server falling over under the load, or threading/race conditions/deadlocks now happen with frightening regularity. Sorry for ruining your holiday, Camille :D
- Invest in your support tools. As previously mentioned, Logmatic.io soon proved themselves pretty useful in helping find and solve problems, but the other end of the stick is being able to do something about it. With each release, we've beefed up the support tools. Everything happens through restlets for ease of use. Some of the things you should be able to do:
- Search for players by key, ID, nickname, transaction ID. Generally, anything unique. If you're not returning the full Player object, then you should at least have all the important info
- Gift them hard and soft currency, in-game items, you name it. If they can get it in the game, you need to be able to gift it
- Change their XP, level, or League. This is also useful when testing, and you have gated content
- Change their stats, win-loss ratio, medals, trophies. Again, also useful for testing leaderboard/profile display
- Have a way to transfer/recover accounts, as people will lose access to theirs, and they'll sooner quit that start all over again
- Push new content, and reload it into memory without having to restart the server. We can do this with pretty much any of the data objects in the game, so adding/changing/fixing content is relatively easy
- Assign A/B groups if you have A/B testing
- Turn on and off features of the game, such as debug logs, A/B testing, access to non-essential features such as leaderboards etc
- Know why your players are spending and what they buying. Without a doubt, I think the most important feature of the game is the ranking leaderboards. The people that will get the most addicted to your game will be the ones at the top, and they'll generally make repeated purchases to keep their advantage
- Analytics and metrics are super important. While there are a lot of debates over gut- vs data- driven game design, you can't deny the usefulness of seeing the immediate results of your choices. At the very least your data should be set up at a cohort level, so you can effectively measure if you've improved in the right areas.
- Be careful touching monetisation. Early on in development we modified the economy of the game to make things cheaper. Woah boy, was that a mistake. Aside from tanking our revenue to about a third of what it was, we'd never gotten so many emails. People were complaining that things were cheaper. Once you think about it, it makes sense: those that have purchased, especially just before the update went live, immediately had their purchase devalued. After the update, the same purchase would net you about twice the amount of in-game items. This was especially bad with players that had made repeat purchases, as they felt that everything they'd spent was now worthless, even though they were technically our most valued customers. Interestingly enough, a small percentage of players were also angry because it now let other players reach their level easier. When the economy is tight and IAPs are relatively expensive, purchasing something gives you a distinct advantage (better equipment etc), so some players were enjoying topping the charts simply because their purchases put them out of reach of most players. It's something to think about.
Play Microgolf Masters
Microgolf Masters is available on both iOS and Android, so go give it a shot. Once you're in on it, it's very competitive. We've got the whole floor where we work playing it after lunch and 4-player mode is genuinely fun when you're all together.
You can also check out some images of the project.
Comments
Why the f**k are there ads now!?
Hi Dick,
Ads are only shown if you've never bought anything in the game.
Masters has been in development for over a year now, and as well as the salaries of everyone involved, there's the costs of running the servers necessary to support a real-time multiplayer game.
If you enjoy the game, consider supporting it so that we can keep doing what we do, and you can keep playing games that you enjoy.
Its a great game and as much as the ads are annoying i think they are totally justified. Will be making a purchase. All of my friends are playing and we all very much enjoy the game.
First off, your game is amazing, I play it everyday.
Now onto the problem, I bought the Christmas Special ball and gem package, and I used the new ball to the point it needed to be repaired, so I repaired it, now it won't let me select that ball or repair my other balls without using gems, I'm hoping you see this and get it fixed soon.
Happy Holidays!
Stonewall
Hi Stonewall,
I responded to your mail through support.
What is the small trophy on a timer
Hi Brian,
It's the countdown to the next World Cup, a special tournament where any number of people can enter. The more players there are, the bigger the prize pool. Everyone that enters gets rewarded.
Love this game, have gotten some of my coworkers hooked too and now we all play at break times and what not. We love the World Cups, and this week I finally won one! I was so excited to see what the "Jackpot prize" was going to be cause I could see it was aloott of cards and allooottt of gold. When I got to the winners screen, it gave me my first place prize but not the jackpot. There was never even mention of the chance to win it.... whats the deal with that?
Hi Eric,
Get in touch with support at support@triplefun.com and I'll take a look.
I love the game play, I've played many other golf games and some are really hard and graphically intense and some have the same graphics as this game but the mechanics are just silly and unrealistic with moving greens and the like.
This one is most similar to plain old Putt putt gold with some bells and whistles.
$$$ I loved the comment with the guy swearing why are there (expletive) and the answer was support he game you leach! Games aren't free! So either watch the adds and love it or pay and you'll get some cool toys to boot. Great game, love it! 5 starts out of 5
At the more advanced levels, why do loads of players quit matches when they Look like they might lose, does it stop them losing a crown ?
Hi David,
I can't speak to individual players, but I'd guess it's if they think they might lose, they don't see the need to finish out the match. You still lose a crown if you quit though.
What where the aims and objectives for marketing when the game first came about?
Hi Joseph,
Haha, you'll need to be a bit more specific. Do you mean why did we specifically make a golf game?
Yes
Hi Joseph,
I've responded to you through support.
Ban Josh he is ranked 18 and he kept black holing me
There is no more world cup?
Hi Persn,
It was taken offline briefly while we got a data issue fixed
Stupidly addictive game. Like, I've played my fair share of addictive but enraging games and none of them are on the Master level, so thank you for the experience, i love it!
However i do have one quarrel. What's with the points system in masters league? Its unfairly inconsistent. I could win 3 games and lose 1 and still end up with less points than I started with. Please explain?
Hi Jack,
The Masters points system is elo-based. Check out the Wikipedia article if you want an in-depth explanation, including the math involved.
In short, your points determine how likely you are to win the game. 2 players with the same number of points will have the same chance to win the game. The issue you're describing is when you have a bigger difference in the points level.
If you have more points that your opponent and win, it's considered normal, and you win a few points. If you have less points than your opponent and win, then it's considered that you're mis-ranked and you get more points. And the inverse is true when you lose.
Hi is there anyway to move my old microgolf masters account from my old iphone to my new Android phone ???? Cheers
Hi Shaun,
Connecting your account with Facebook is the easiest way. You can do this through the Settings screen (and undo it if you like once your account is loaded on your Android phone).
Failing that, send me a quick message through the Contact Support link from your iPhone, so I have your old account. Then send another one from your Android so I have your new account. I can then set up an account recovery.
You have a awesome gig going on here if I heard of this much sooner id be playing alot sooner haha but anyways why does my strength and accuracy cut out at times I don't get it :(
Hi Mjay,
It's probably because you're playing without energy. Doing this means your ball will shoot with the default 60/50, and you won't win any rewards. Normally the game should show up a message when you're about to do this.
I am wondering how to get my old iPhone account onto my new iPhone as I played as a guest is there anyway that I can get onto my old account???
Hi Charlie,
Send an email to support through the app (go to the Settings screen), and we'll try and find your old account. If we can find it, we can relink you with it.
Submit a comment