What a horrible night to have a curse (❤️ Castlevania)! This is a preview screenshot of a spooky level I’m working on, rafting down a deadly poison river with a few monsters to be weary of.
I’ve been working more on Kiroshi Doshi recently and am working on the level finishing loop. One part of this is the level completion marker, I enjoy when these have a mini challenge, as opposed to just crossing a finish line. For example, Mario ends with a flagpole challenge, with the goal of landing on the very top, and Donkey Kong Country (Returns & Tropical Freeze) ends with a timing challenge. Depending on when you jump in the special end level barrel, it will give you a different prize ranging from bananas to extra lives.
After completing the level finisher (ex. Mario Flagpole) I want to display a page of level stats such as how many collectables you picked up, how many collectables are possible to pick up, and how much time it took you. To display this kind of info I needed to decide how I am storing it. I’ve considered using a csv file, but that seems to only be good for translations in Godot. I considered storing level info in JSON files, but in the end I decided to just store the level information in dictionaries inside my global script. So I created one dictionary called levelnfo{} that stores static, non changing level info such as level ID, level name, and total collectables, and another dictionary for player level stats called recordBest{}, which stores the players best records, such as the most amount of coins collected and fastest time completed per level. This second dictionary is being saved and loaded from the savegame user file.
After finishing the level completion loop I can start putting them into a level select map!