Since the start of 2016 I have been extremely focused on developing Shadowdawn: Genesis. The first priority was of course porting the original engine from the original XNA version to MonoGame so that I no longer faced the risk of deprecated platforms (yes, looking at you Xbox 360 and PS Mobile). I still hope to release the game on PS Vita since MonoGame supports the system, but for now the bare minimum I am aiming for is PC and Steam. Also, since development has basically begun anew on the game, any lingering programming issues such as persisting bugs, un-optimized or impossible to manage code, or missing features has been my priority as I port each section of the game over. It has been rather exciting as I accomplish each goal, finally supporting the following new features:
- Full featured day/night cycle, with moon phases tracked over roughly a month of time. These settings are script-sensitive, meaning that AI, environmental effects, luck, and even combat statistics can be affected if so desired. NPC schedules and scripted events can also be triggered at specific times.
- Finally implemented a proper Z-coordinate, so that flight and hovering at accurate positions is possible, as well as jumping. Objects in the world are properly sorted so that Arashi and other actors (such as flying birds) can pass under higher objects, and appear over lower objects. Objects properly stack as well without z-sorting issues.
- Every actor, player or otherwise, on screen has a character sheet, so they can use equipment that may be unique to them. Drops can be affected by this as well, and Morsett’s rogue and Shion’s stratagem abilities will be changed. This helps to alleviate the backend issue I had coding the game, where the player, the party members, and the monsters/NPCs had three different interfaces that I had to juggle between the engine and map classes.
- Now allowing the player to change their leader. The original design only allowed for players to play as Arashi with the party members as AI only, but the new code allows for more freedom of control. Arashi is still the only required character and can never be removed from the party (for story reasons), but she can be placed in leader, vanguard, or support positions, each with their own abilities and features, just like the other potential characters.
- Likewise, also fixed the animation script so that the entire game is more unified. Animations are easier to implement and adjust as more content is added. Enemies are animated now as well.
And here’s the first screenshot since porting it to MonoGame. Note that not all the HUD components have been restored; however, a sun/moon tracker has been added to the upper right (it’s currently 1:30pm in-game, which can now be viewed in the main menu):