Building the World
I’ve been on another posting hiatus to focus on development, doing the rather unsexy work of revamping old systems, optimizing performance, and developing tools for myself. Over the past few months I feel I’ve accumulated enough of that stuff to make for a post though in the future I think I’ll stick to shorter updates.
Reflecting on the release of other games with the word “infinite” in their product description, I feel that I should again clarify what I mean by the game being set on an infinite wall. Yes, players can climb forever in any direction. However, the interesting areas of the game are hand crafted as a part of a narrative. I do this partly to avert procedural blandness, eschewing infinite but predictable “variety” in favor of structures that are placed with intention, everything naturally connected rather generated via algorithm.
The main story path will be a series of unique locations, usually centered on settlements made by the people of the wall. The path will be marked with bright flares that can be seen from afar, so players will know where to go next from the start.
Outside of the critical path are the satellite locations. They’re lower in profile than cities and towers, and are there for less casual players that want an additional challenging goals to reach. Climbing to and from them would not be easy, but they’re completely optional.
Beyond the satellite locations is the hinterland, a procedurally generated waste that stretches on and on, full of random biomes but not much else (I recently re-added the automatic biomes after an overhaul of the generation code, placing them with voronoi noise). The challenge in these outer areas lies in finding those extremely rare generated save points while staying alive. Also, I may sprinkle a few handmade secrets in this vastness, very far off-path. This expanse is for hardcore world-climbers only.
This seems like a natural way of spreading things out, letting players choose their own difficulty level. There are no invisible walls gating you, just a stark nothingness beyond. Hard constraints are usually a good thing in games, keeping players focused on specific goals and keeping the action moving along. In early years of the project, I struggled with the idea that players would stray off the path and unintentionally spoil their experience. Now, I’m more inclined to trust players to forge their own paths.
My one constraint has been the introduction of save points, so that if players do indeed wander too far, they can easily undo their mistake and return to the beaten path by reloading. This also makes setting out from the safety of a settlement a more meaningful event. No more save-scumming after every jump! A misstep won’t take you back a few steps but back into the last visited town. Did I ever mention that I am a huge fan of the Dark Souls franchise?
New Wand Model
I’ve made so many iterations of the wand while developing the game. I’ve always wanted to make it feel more like a tool than a magic wand, and this version comes closest to that intention.
I’ve created models for two new locations. The first is a structure inspired by ICO, a series of towers surrounding a monolithic fortress. Note that the texture is temporary, it shouldn’t be this grey in the end.
The second location is an outpost/lighthouse/waystation. It features a large crystal that refracts sunlight in every direction, meant to be a sort of a guidepost for players.
I’ve created a world-editor that will help me generate and set data. This will speed up my ability to create levels, place props/bricks, and override procedural biomes. I call this my “Region Builder.” A region is my internal term for a group of neighboring super chunks.
As an example, below is the brick editor. It gives me the ability to move, and re-type, and resize bricks. Beats directly manipulating data. I have similar tools for chunks, super chunks, props etc.
Right now, I’m in the process of rebuilding my levels in the Region Builder. I’m trying out new image effects that will improve the overall look and feel of the game (hopefully without too much of a performance cost).