Dev Update Jan 17 - Villains, Threats, & Regions
[p]Good writing has one central focused topic. But, a lot has happened in the last 2 weeks, so this is a triple-topic blog post.[/p][p]These past two weeks mark my first stretch back working full-time on Archmage Rises in quite a while. [/p][p]First, I put out a significant bug fix patch with a lot more fixes than that short list conveys.[/p][p]Then I focused on the most foundational work the game needs.[/p][h2]Turning Down Contract Work[/h2][p]Over the Christmas holidays, a studio reached out to hire me as a consultant. At first I said yes. Certain income is nice! But the more I thought about it, the parameters of the deal just didn’t feel right.[/p][p]One consideration was it would steal energy and attention from Archmage Rises, mainly around mental context switching. The kind of background drain that does not show up on a timesheet. In the end, I passed on the offer.[/p][p]It was a risky choice, but my wife and I feel it was the right one for now. I want my attention fully on this game.[/p]
Archmage Rises is different and I have to bring that difference to the forefront.[/p][p]To make design discussion easier and more focused, I spun up a dedicated Design Discord channel and started posting questions and design examples there, this pairs alongside the Real Time Dev blog where I’m posting almost hourly as I work.[/p][p]For those that prefer Steam, I posted design discussions on Steam forums. I check these threads each morning as I start work.[/p][p]Threat System[/p][p]Regions [/p][p]Early feedback has been encouraging. The direction feels right.[/p][p][/p]
You can read the real design doc of what I’m attempting to build (with good formatting!) and it gets updated whenever I make changes.[/p][p]Threat System[/p][p]In software we talk about features as “user stories”. I think a story is a better way to describe a system and convey it’s features and feels better than a series of logical bullets.[/p][p]I think about the threat system through the concrete story of a Spider Queen.[/p][p]
[/p][h2]The Spider Queen[/h2][p]A spider infestation slowly converts a human region into a breeding ground. The queen is an amoral biological force optimizing for reproduction and safety. The player hunts her by cornering her by destroying her location options.[/p][p]I’m just highlighting a piece of the design here, I think this bit about the Threat Escalation explains a lot.[/p][h3]Threat Escalation[/h3][p]
[/p]
[/p][p]https://www.archmagerises.com/news/2024/3/9/developer-update-regions[/p][p][/p][p]This week:[/p]
[/p][p]Next step is adding forests and mountains.[/p][p]Perhaps it is nostalgia, but the mental ‘goal’ for terrain generation is my fond memories playing Ultima V. I found a cool website that has the whole game map on it you can walk around in it. I printed out some of my favorite spots and put them up on the wall to inspire me
[/p][p]
[/p][p]Also on the wall is my favorite most inspirational quote from the Steam Forum. What you say matters.[/p][p]That summarizes where the project is at. I’m excited to hit the Region map generation next week![/p]
Macro Game Loop
[p]For our purposes I’ll define a macro game loop as “What am I doing and why do I want to do it?”[/p][p]Starting Jan 5 my main effort is on the macro game loop. I have been working through a systems-driven approach for creating large, persistent problems in the world that the player has to respond to over time.[/p][p]The game must answer this question:[/p][p]“What gets worse if the player does nothing?[/p][p]Most of the games I play the answer is simple: “nothing.”
Archmage Rises is different and I have to bring that difference to the forefront.[/p][p]To make design discussion easier and more focused, I spun up a dedicated Design Discord channel and started posting questions and design examples there, this pairs alongside the Real Time Dev blog where I’m posting almost hourly as I work.[/p][p]For those that prefer Steam, I posted design discussions on Steam forums. I check these threads each morning as I start work.[/p][p]Threat System[/p][p]Regions [/p][p]Early feedback has been encouraging. The direction feels right.[/p][p][/p]
Threat System Design
[p]For the first time in this project history, I’m sharing an internal design document. I didn’t know Confluence could do that! You can read the real design doc of what I’m attempting to build (with good formatting!) and it gets updated whenever I make changes.[/p][p]Threat System[/p][p]In software we talk about features as “user stories”. I think a story is a better way to describe a system and convey it’s features and feels better than a series of logical bullets.[/p][p]I think about the threat system through the concrete story of a Spider Queen.[/p][p]
- [p] Threat Moves provide progress along the Threat Track Foundation → Aggression → Conquest → Domination[/p]
- [p]However, Escalation on Threat Track is gated by certain requirements.[/p]
- [p]Cannot enter Phase 3 Conquest until N sites are Infested[/p]
- [p]Cannot full assault a Town until a minor attack is performed on it[/p]
- [p]Queen cannot enter Phase 4 Domination of attacking the capital until she conquerors a Town[/p]
Pre-req: Regions
[p]There is no way around it, the threat system depends heavily on a map made up of Regions, which in turn requires reworking how the world map is generated. This is a system I am not deeply familiar with, so there is both learning and refactoring involved.[/p][p]I’ve known I had to implement Regions for a while, you can read the design goals in this dev blog:[/p][p]https://www.archmagerises.com/news/2024/3/9/developer-update-regions[/p][p][/p][p]This week:[/p]
- [p]Created a new, simpler, cleaner way to store map data and render it. All the logic was on the renderer, when it went to draw a hex is when it decided what kind of terrain and features it had. The renderer was hundreds of lines long and overly complex. It is now 12 lines and handles 6 layers of ‘stuff’.[/p]
- [p]Moved the logic to when the map is created (where it should have been). This setup now allows the player to modify terrain through world spells. Or state changes like a burned down forest or ruined village.[/p]
- [p]Added 12 new terrain types, like shallow vs deep ocean, badlands, volcanic ground, and jungles.[/p]
- [p]Created a new region generation algorithm. I’ve only put a few hours into it but I’m already liking the shapes it is making, I see fun in it.[/p]
[/p][p]