Dev Diary #1 - Map Updates & New Engine

BootlegFireworks | Pax Britannica |

March 16, 2024

Lead your country during the period of British peace known as Pax Britannica and see if you can impose your will upon weaker neighbors while becoming the world's Superpower or be crushed under military, economic, and technological superiority of stronger countries.

  • View media
Post news Report RSS Dev Diary #1 - Map Updates & New Engine

I explore the new map look, demonstrate map mode support & discuss my move from custom engine to Unity in this Dev Diary.

Dev Diary # 1 - Map Updates and Engine Install.

Welcome back to another development diary update of Pax Britannica! Today I want to showcase changes made to the map & mapmodes since my last development diary update as well as explain my switch from custom engine to Unity. Unfortunately due to this engine change much of my gameplay work since last update has vanished due to being redone so no screenshots will be featured today.

As previously discussed, my game has recently switched from its previous custom engine to Unity and this transition has required me to rewrite much of its code from scratch. While doing this has caused much rework to occur elsewhere in the game, it did provide an opportunity to modify how map rendering occurs - this new way adds visual interest while keeping true to my desired pixel art style!

Changes I have implemented mainly focus on border rendering; I also modified its resolution. Borders now not only separate countries from one another but are now also drawn between provinces in lighter colors; most of Europe contains single province countries so they appear solid; however I added provinces to UK and France so as to demonstrate province highlighting and borders simultaneously. Also new are thinner borders compared to my last version which makes them look cleaner while remaining clear and easily visible.

As you play, you may have also noticed some temporary user interface (UI). These UI elements serve to test that map features are functioning as expected and include provincial name/flag details on the bottom left, player country information in the top left and map mode buttons on the right - something I will address shortly.

Map Modes

My map rendering choice was driven by my desire to quickly implement map modes, even without many mechanics in place yet. So far there haven't been too many mechanics added, but nonetheless I wanted to test if my expectations would pan out; thus creating two map modes called Terrain and Politcal which show which province owners own each province on the map; Terrain takes this further by coloring each province differently based on what kind of terrain type exists within its boundaries and looks something like this image below.

At present, provinces consist of either water or grass to test out my map modes feature. My plan is for modifiable map modes later when Lua scripting support has been introduced into my game engine.

As mentioned at the outset of my diary, I switched engines from custom one to Unity and this has caused issues during development as Unity uses C# rather than Java and therefore some code couldn't be reused without needing modifications - thus adding to headaches I don't need. So why cause more headaches by making the change?

First and foremost, once all the kinks are ironed out and I become familiar with Unity, development should become faster. For instance, when adding features on the engine side that require engine functionality first and then using them within my game, Unity takes care of this already for me - an example being user interface development; with my current schedule not leaving much room to add complex UI systems myself.

As development advances, so could my team. While currently it's just me working alone on this project, some friends have expressed an interest in helping out at some stage down the line. Since my custom engine requires thorough documentation so other can effectively utilize it and I envisioned developing it alongside this project, adding others would risk making this engine my primary focus and take away my attention as a developer; that wouldn't be ideal either!

Though I find it painful to foregoing my engine's inclusion, especially after spending so much time to justify its inclusion in previous dev diaries, ultimately this decision is the right choice for this project.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: