Adding Achievements
2015/04/10


Overview

This sprint was entirely about implementing most of the achievements and polishing some of the general features as requested. Early on, I managed to build a system to stream and display the idle video, therefore allowing the game to convey a kiosk mode that properly fades out after a set time, displaying a trailer until the user continues interaction. However, the bulk of the time spent this iteration was based on creating many achievements for all the Micro-Games and general gameplay aspects.

Achievements

The achievement system was built a while back, but still has a solid foundation that made implementing all achievements quick and simple. Each Micro-Game has a statistics file to save data to, and each achievement can call functions from statistics classes to check values. This allows for most of the achievement logic to be designated within the XML, just be stating the classes, functions, and test values for any given achievement.

After that, it's simply a matter of ensuring that the call function designated exists and returns the proper information. In most cases, this also meant just adding in the increment / change functions within the Micro-Games, allowing them to update the statistics files when required. Most of the achievements required tracking items that already had moments to insert the statistic catches, but some required some additional adjustments. For instance, some games required some additional checks for situational occurrences within gameplay, which usually could be done just by validating the information within the statistics class.

Most achievements were implementing, with the remaining few only relating to the fact that they either need subtle changes or may need to wait on design changes within the gameplay. Due to the amount of achievements, this process took a few hours, but the individual achievement implementation generally only took 10-20 minutes, which includes the testing procedure to ensure it appears at the right time.

Conclusion

At this stage, with most of the achievements complete, the programming team will primarily just focus on general polish and adjustments as requested. The few remaining things to implement involve subtle changes to the play mode selection screen, the design of the credits screen, and general additions of art and sound within the game. Therefore, most of this should occur through upcoming meetings to bring the game to a finalized state before recording and presentation.