Hi folks, we’re proud to share with you our latest game that we worked on as developers: Go Mark’s Run, for iOS and Android. Change Agency was in charge of producing a game for the French hypermarket chain E.Leclerc to promote their own brand Marque Repère. James Bang was the studio behind the game & art design.
The game mixes platformer and runner game genres. Through short levels, you have to collect as many coins as possible and stay alive. After A Blind Legend, a big Unity game made without graphics, it was cool to have fancy things on screen!
Go Mark’s Run is a 2D game using an orthographic camera. However the famous characters were designed in 3D, so we used FBX for them. Thanks to Unity’s sorting layers, and z-management we were able to mix 2D & 3D without pain.
Materials use a single custom shader for effects and custom lighting on top of a standard setup.
We worked a lot on an AS3 platformer engine, the Citrus Engine. After many games we came to a simple conclusion using a physics engine is not always a good solution for a platformer game. Physics based platformer engine can really suck depending your level design: having curve is a big deal, fighting with no deterministic physics etc. The Corgi Engine by using Raycasts makes the good choice, and there is still room to use physics in your game. Also it comes with many good features: pre-made prefabs, checkpoints management, input management, animation management, level management, camera & parallax… Compared to the Citrus Engine, we see many benefits using Unity thanks to its editor than doing it in pure code, even more when you’re working with a team.
The game uses several services: iCloud & Game Center on iOS, Google Play Games for Android, OneSignal for push notifications, local notifications, and Facebook sharer. iCloud and Google Play Saved Games were really important for saving game progress across devices. Unfortunately it doesn’t work across OS, we chose to not used Google Play Games on iOS because iPhone’s users are not used to connect to Google when launching a game. Anyway it’s great to know that Google Play Games works fine on iOS, that would be the best option for making real time or turned based multiplayer game.
Must have plugins
Debugging on device with Unity isn’t an handy task. You need to have Xcode (for iOS) or using Monitor/ADB (for Android) and then filter messages. Hopefully, there is an elegant solution: TouchConsole Pro plugin. You see errors on your device and you can easily send them to the dev team. You can also register command to save time when testing the project. A must have which sould be added into any new Unity project!
We enjoyed working with Unity UI. Without writing a single line of layout code, we have a working multi-resolution animated menu! However it’s missing something so badly: we can’t use particles inside a UI canvas (at the moment)! There are solutions involving several cameras (basically render the 3D particle system to a texture with a camera), but depending on your UI it can be a nightmare. So we used Canvas Particle Emitter plugin. Unfortunately it doesn’t use Unity particle system, but it’s easy to get started with and performances are good!
Making screenshots for a game is always a long and tedious task. Hopefully Screenshot Creator saves you lot of time 😉
Go Mark’s Run was really a fun project, and we enjoyed working with the James Bang team! And to finish, they made a quick making of: