1 - A blog!

I'm making a new game. I spent most of the last year making improvements to Warlock: Age of Entropy for a steam release, but I've been really inspired by my new game idea so I've put that on the back-burner for now. I apologize to any Warlock fans who have been languishing without an update on the itch.io page for over a year now; I'm still planning on doing a Steam version at some point (with a price point ~$5), but if you email me at strafespey@gmail.com and you want to play the new version, I'll just send you a copy for free. There really are a ton of improvements to Warlock that I have just been working on in secret - a religion system, sound and visual effects, a new boss, many new spells, etc.

I decided I wanted to make an ARPG that controls from an over-the-shoulder perspective with WASD to move. There's a lot of awesome indie games that fill a similar niche (for example, Risk of Rain 2), but I have yet to see a fully-realized ARPG with a character building system and multiple acts done in this way. I've thought a lot about worldbuilding in some of my prototype ideas that never saw fruition, so I've been really excited to flex my worldbuilding muscle through a 3D game. The idea of making a 3D game was really daunting to me, since I thought it would require exponentially more work than creating a 2D game. Honestly, though, Unity is so great for 3D, and I'm making progress very quickly.

Just Terrain

It's pretty daunting to start a new project in Unity. I started by just adding some terrain and coloring it. Since I'm going with a low-poly style, I think the simple monocolor textures on terrain work fine.

I envision Act 1 to start in a central quest hub (in a coniferous forest), where the player will be asked to travel west into the Forest to do some quests (maybe killing an alpha wolf that has been terrorizing the villagers, I haven't decided yet). The second zone will be a lowlands swamp. Both of these will branch off of the hub and the player will return to the hub in-between. Eventually, the player will head east into another forest, with some higher level enemies (some goblin packs and bandit scouts). This forest, instead of leading back into the hub, will progress continuously toward the finale of the act.

We'll go from this second forest into a bandit village built on the side of a cliff (lots of verticality to play with). From there, we'll be up on the cliff in the highlands, which will be a more liminal zone to break the pace of the intense bandit village. Finally we'll end in some sort of castle. I'll polish up these ideas with sidequests and maybe some auxillary zones, but I think this is a pretty decent idea for an Act 1. I'll also have a cave with multiple entrances connecting the 3 starting zones. It will look something like this:

                      ┌───────────────┐
              ┌──────►│    Forest     │ (warm-up, tutorial)
              │       │   w/ Cave     │
              │       └───────┬───────┘
              │               │ (cave system loops back
              │               │  to hub + branches to lowlands)
              │               ▼
       ┌──────┴──────┐      cave
       │  ALDER TOWN │◄────entrance ──────────────────┐
       └──┬───────┬──┘                                │
          │       │   ┌───────────────┐    cave       │
          │       └──►│  The Lowlands │◄──entrance────┘
          │           └───────────────┘
          │
          │   ┌──────────────────┐   ┌──────────────────┐   ┌────────────────┐   ┌──────────┐
          └──►│ Sophomore Forest ├──►│  Bandit Village  ├──►│ The Highlands  ├──►│  Castle  │
              │   (transition)   │   │   TURNING POINT  │   │   (breather)   │   │ (finale) │
              └──────────────────┘   └──────────────────┘   └────────────────┘   └──────────┘

For now though, I am just working on the hub zone - I added a few houses and trees to the terrain and it doesn't look too bad, even with a pretty low amount of effort.

Starting Off

I ran some C# scripts to mass place trees and foliage in a circle around the village + added a few more houses, and suddenly, the hub started to take shape.

Blueprint

The next thing for me to think about is how to occlude the loading of new scenes. I decided to create a winding S-path to the west so I can trigger the forest zone load while the player is navigating through the trees. We'll rely on a ridge and some fog to trigger the lowlands zone loading. I've also put a lot of legwork into planning multiplayer. I think this kind of game is perfect for playing with friends, so I've kept the idea of how these loading triggers will function in a P2P network architecture as well. The awesome part of making a low-poly game is that the load on the client is pretty low even with a lot of stuff loaded in. I drew up some back-of-the-envelope calculations to anticipate the demand on the client.

The math for a larger combat zone with 60-80 enemies is as follows:

Metric Estimated Value
Environment triangles ~5–5.5M
Enemy geometry (80 enemies) ~80,000 vertices (500–1,000 per enemy)
Unique mesh memory ~10–15 MB
Total renderers ~10,000–13,000
Visible renderers (after frustum + LOD culling) ~1,500–3,000
Active enemies (within activation radius) ~20–30 per player

Estimated peak memory (three-scene case):

Component Estimated Memory
Hub mesh data ~8 MB
Zone_Forest mesh data ~8-15 MB
Zone_Lowlands mesh data (terrain + distant LODs only) ~3-5 MB
Persistent scenes ~2-5 MB
Shared textures/materials ~10-20 MB
Total ~31-53 MB

Planning for a 4GB memory budget, we're doing really well. I started adding some fog originating from the south to signal the transition into the lowlands biome - now the scene is starting to look pretty good.

Looking Better

Keep an eye on this blog for updates on Warlock: Age of Entropy and my new project.