So Steam Greenlight is long over and unfortunately Super Lumi Live didn’t get through. To over 300 of you who voted yes, thank you so much for supporting the game and wanting to see it on Steam. All is not lost though because with the help of my publishing partner Flying Interactive, we’ve used Steam Direct to get onto the store instead.Implementing Steam’s features using Riley Labrecque’s excellent C# wrapper for Steamworks was a not too terrible experience. That’s glowing praise in my view considering how cumbersome some other stores back-ends are.
The game takes advantage of Steam’s stats and achievements and I’ve got to say that implementing the achievement system was a lot of fun! I settled on a direct messaging system which uses key events during the game like LevelStart or GameCleared to tell the achievements what the game is doing. I then use a static class called AchievementBlackboard to throw any data there that the achievements want to know about during their update call.When coming up with achievement ideas I tried to follow the principle of having no easy ones like “First Level Complete!” or “You Jumped Once!”. I instead wanted as many of the achievements as I could to be a challenge which fell outside of the normal context of the game. Achievements like “Hot Coals” which is awarded by clearing a level under the 2-Star time target while also being in the air for over 95% of the time.Statistics are exactly that. It tracks a few things and puts them into a handy list and also saves them to your Steam account.
The game tracks your achievements on Steam and on an individual in-game profile seperately. In a future patch I’ll add the ability to sync up the Steam ones with any achievements awarded on your profile. This will also be handy if Steam can’t initialise properly within the game for whatever reason.The game now also comes with an error reporter so that in the unfortunate event that something goes wrong, you can be rest assured, if you click OK, that I will get what is known as a stack trace sent to an email account from which I can pinpoint the exact line of offending code. These little extra things really make me happy when they work 🙂Thanks for reading,