divillysausages.com

MicroGolf Challenge

Update 05/06/2016: MicroGolf Challenge is no longer available as it's been superseeded by MicroGolf Masters

I'm finally at the end of the backlog of TripleFun games! Presenting our current game: MicroGolf Challenge.

The MicroGolf Challenge logo

About the game

MicroGolf Challenge (hereafter, but not the very next after, MicroGolf) is the multiplayer cousin of our solo game, MicroGolf (hereafter, MicroGolf Solo). The solo version came out first, but we recently removed it from the app store, as aside from being only on iPad iOS, was causing confusion amongst players as to which one to take. The multiplayer version is, however, miles better, supports phones as well as tables, and gives some love to Android.

The title screen, showing buttons!

In MicroGolf, you play mini-golf against strangers - and since the last update, your friends - over the internet, in real-time. You pay a few coins to enter courses, and whoever wins the most holes comes out richer. The loser is left to cry into their empty purse. A second currency, diamonds, is used to pimp out your ball, giving it more power or precision, or just updating the skin. Before you cry "pay to win", logging in every day gives you free gold and diamonds, so at the very least, persistence will pay off.

Spending real life moolah will pay off quicker though.

As you progress, the courses will get more challenging (and fun), but the payoff will be bigger as well. Rio, in particular, is a right wall-smasher. Every week, the players that top the different rankings (world, country, friends) will win some in-game currency that they can use to improve their ball, thus regularly reinforcing the status quo amongst the players.

Unity

As previously mentioned, TripleFun split off into 2 studios; one in Paris and one in Bordeaux. MicroGolf Solo was the first game we tackled at Bordeaux, and the first game we created using Unity. This meant that I had to convert the most part of our in-house engine to C# (it now covers AS3, Objective-C, and C#, meaning we can interchange clients at will and the server doesn't care, and moving from one language to another is eased as all your fun tools are there).

Moving to Unity was an interesting experience; we'd started right around the time the new UI came out, which invalidated pretty much every StackOverflow post on the matter, but I guess, on the plus side, we only had to learn that side once, instead of spending a few months with something like nGUI before switching over.

Overall, I'd say the experience has been a positive one. I still love Flash, and it's my defacto language of choice for fooling around and making games, but it's hard to argue its benefits over something like Unity (unless it comes to web games, where Unity takes a distant third behind Flash and HTML5 - at least until the Unity HTML5 support improves).

Pros and cons ahoy:

Pros:

Cons:

Undecided:

Most of the cons or problems can simply be attributed to being more at ease with a different language, and needing to figure out the "Unity-way" of doing thing. The more I use Unity the easier it will get.

Development

Microgolf Solo was developed to test the waters with the concept while at the same time getting our feet wet with Unity, in preparation for moving to it completely. With the multiplayer version, we had to solve the problem of communicating with the server (actually writing the client to connect and communicate) and deal with the problem of having a physics game work in sync on two different clients.

The title screen, showing buttons!

Generally with multiplayer physics, you need use deterministic physics (with the same inputs, you get the same outputs), fixed point, or modify your client-server setup. Well Unity isn't even deterministic on the same computer, modifying the client-server architecture wasn't something lightly undertaken (our server is shared amongst all our games), and replacing Unity physics with custom physics appealed to me about as much as repeatedly stepping on Lego, so something else needed to happen.

While we continued working on the features for the original release, our CEO, Nicolas, sat down and spent a few days coming up with a something that worked.

The final solution, which was surprisingly playable, was to reduce all physics iterations to just 1, anything physically related was to take place inside a FixedUpdate() rather than an Update() (including any attraction by holes in the level), and positions, velocities, and forces were limited to 3 decimal places, which would happen every frame. Forces and angles for shots would be sent to other players as ints, to avoid any skulduggery on behalf of floats, and at the start and end of every shot, the client would send the positions of all the balls, so that in the rare event of a desync, they would at least be forced back to their original positions.

While it seems a bit awkward, it did let us keep the built-in physics. We had some issues with the original scale that we had chosen (balls approaching a wall at a shallow angle, would slide along it rather than glance off it), but we were able to fix it simply by multipling everything by 10.

We also built out 2 different UIs; one for landscape (tablets) and one for portrait (phones). While it leads to a better app experience, it means twice the work when testing, as the entire flow has to be gone through again.

The biggest hitch when developing was probably that we updated Unity about a bajillion times. We seemed to have hit the perfect storm of new UI, Unity 5, new plugins, and 64-bit iOS. Whether because we were forced to or not, each switch brought its own lottery of figuring out what had changed and what was no longer there (not to mention which of our links no longer worked). If you can, fix your tools, as you waste too much time going back over things.

Play MicroGolf Challenge

MicroGolf is now available on iOS and Android, and is currently translated in English, French, German, Spanish, Italien, Portugese, Russian, Chinese, and Japanese.

You can also check out some images of the project.

Playing MicroGolf Challenge

Comments

Roger abner

Hey guys I love this game, I've been playing literally for years! What's up no more updates? I can't even find the download for my new phone! Please help!

Damian Connolly

Hi Roger,
It's currently been sunsetted in favour of its bigger, better cousin Microgolf Masters (iOS - Android).

I haven't had time to post about it yet, but it was different enough to warrant an entirely new game rather than an update.

Submit a comment

* indicates required