Dimensia Updates

Over the years, since my initial packaged version circa ~end of 2013 / beginning of 2014, I’ve had a few bug bashes and major updates to one of my projects. The most significant of them being a several month update in 2021, and then a port to MonoGame in 2024 (though only officially packaging in 2025).

This post is meant to go over some of the major updates and thought process behind the updates, if you’re wanting to read about the game as a whole, please refer to this post.

2024/2025 MonoGame Re-write - v1.3.x

Given that XNA has been deprecated for quite some time, this was one of the largest bottlenecks for future compatibility with Dimensia. When I was originally developing Dimensia, I made use of Windows native API calls, including Windows Forms, message boxes, and absolute pathing for save files. These had to be scraped in favour of cross-platform compatibility.

The MonoGame refactor was slightly challenging; however, it was satisfying to finally pull off. The main changes I made in this build were:

Expand changelog v1.3.x

1.3.1 February, 2025

Overhauls

  • Bumped to v1.3.1

Minor improvements

  • Mitigated flickering of time text when ending a level

Minor changes

  • When in a storm weather effect, reduced the frequency of the lightning strikes from roughly one strike every 3.3 seconds, to one strike every 6 seconds
  • Lowered chance for storm to 15% rather than 20% (which in turn increased chance of rain from 20% to 25%)
  • Renamed the setting “Player Tints” to “Player Tint” to be more accurate

Minor code improvements

  • Improved performance of how rain was updated

Misc

  • Removed the unneeded language folders in the Dimensia folder after compilation

1.3 - MonoGame port, February 2025

Overhauls

  • Bumped to v1.3
  • Shifted everything to MonoGame:
    • This required removing all MessageBox.shows in favour of a first party MonoGame popup
    • Removed all Forms used in LevelEditor in favour of a first party form solution for data entry
  • Centralized the pathing logic, and shifted more save/log files to My Documents -> My Games -> Dimensia folder
  • Added new “About This Game” and “Credit” sections inside the settings

Minor bug fixes

  • Missiles are now cleared on “Restart Level” button

Minor improvements

  • Made the level slightly more opaque during the level statistics
  • Updated icon
  • Overhauled the FPS counter, reduced wording to reduce screenspace and improved FPS accuracy for average / minimum
  • Enabled the hoverboot perk by default
  • Improved the positioning of the Dimensia lightning easter egg in the menu, press “o”!
    • Also added a 5% chance per second, while in the main menu, for this to automatically activate

Minor changes

  • Removed the local IP from showing when hosting a server, this was buggy on MacOSX and didn’t add much value
  • Changed wording when host closes the server from aborted to closed
  • Made walking sound effects slightly louder
  • Made death sound effects slightly quieter

Minor code improvements

  • Shifted from profile Reach to profile HiDef (finally!), in support of modern graphic devices
  • Used CoPilot to optimize the extremely messy network coding (hopefully this doesn’t introduce more issues)

Known Bugs

  • Host disconnect not registered on client / buggy in general
  • When client disconnects from the host, some cases still show “Host closed the server” on the client
  • In general, networking is very buggy and can get into serious perf loops on failed connections (related to recent AI changes?)

This move was a much-needed migration to ensure the future compatibility of Dimensia.

2021 Bug Bash - v1.2

The plan was to spend a few weeks fixing crucial bugs in the old project and wrapping up the game. What started as a few weeks turned into several months, but I was ultimately satisfied with the end product. With over 100 commits and numerous pull requests, I felt ready to call it a day and look forward to new projects.

I must admit, revisiting a project I built when I first started coding was challenging. The code quality was quite poor, but it was rewarding to see how far I’ve come since then. Some of the key updates included:

Expand changelog v1.2
  • Fixed hundreds of minor bugs and a few major crashes
  • Implemented a new lighting engine
  • Added many new levels
  • Overhauled the multiplayer experience
  • Introduced new Easter eggs and an achievement menu

Overall, this update made the game much more stable and complete.

Download

To download this game, please refer to here.