Valley of Shadow is a first-person narrative puzzle video game, that did not begin as such. It’s current iteration is linear, straightforward, tone-heavy, and puzzle-dense. But when we fired up the Unity 3D game engine to start a sandbox world in a new project, way back in November of 2017, it was a very different premise with a very different trajectory. It was big, heavy, bombastic, too rich in dreams for our two-man group to wield, and over the course of one year we managed to cut away all of the fat of our project to reveal the nutritient-rich foodstuff underneath.
We began with a world of high contrast and deep outlines, and a rough but certain notion that we were going to develop a large open world rich, vibrant, and full of creativity. Nooks and crannies of caves would melt into valleys, and crest upward into mountainous regions, every step and turn of the whole brimming with mechanics and mystery. We purchased and downloaded and installed many very interesting stylized texture pallettes, interesting AI ally packages, and skyboxes, as well as began wrapping extremely basic On/Off triggers in some preliminary colored boxes and basic geometry.
What I wanted to accomplish as a designer in these early stages was to play around in a creative flow-state, to form hallways, rooms and scenarios with lights, pits and traps that coallesced into some sort of Platonic ideal of a "dungeon delve." I was trying to combine basic mechanics, visuals and audio into "tone", to make a video game that resembled a quintessential adventure. I was in a state of deep play through those first 30-60 days of development, and managed to cobble together a kind-of broken statue of a game base by placing simple On/Off activation triggers onto torch objects in the world, and having the player "pick up" torches and carry them around once they click on a wall torch (thus activating the On/Off trigger).
This was extremely basic, but promising, and eventually Nicholas moved deeper into development alongside me, backing up my meanderings with richer programming. Up until about two months into my own sandbox development, he was dipping his toes in occasionally to give me a trigger script here, a Player Damage script there. He moved forward with traps, doors, and lights, deepening the possible tone that we could take with the game as a whole, and furthering the notion that this game was somehow going to be related to "dungeon delving." Everything was still extremely early in the development phase, so early in fact that to this day I consider those first six months of development "pre-production" in an official sense. It was all in-engine play.
Throughout this time I would jump in-and-out of the "dungeon" section, oscillating between that area and a "home" area, akin to a "home base", with the grand idea being a place that the player retreats to in order to relax after the high-stress dungeon environments. Nicholas and I very quickly added several high-level game mechanics that we ultimately wanted to implement:
1. Garden planting
2. Day/Night Cycle (to grow plants)
3. Plant harvesting
4. Item Crafting (from the harvested plants)
5. Resource gathering (from the outside world environments)
6. Item Crafting (from the gathered resources)
By this point we decided that we wanted to establish a game flow of "Dungeon -> House -> Dungeon," which, if properly implemented, would amount to a nice "crest -> trough" of a wave function between Stress and Relaxation. The player leaves a familiar home base which is able to be customized with individual furniture pieces (found out in the dungeons AND/OR crafted within the home) thereby making it a more intimate and inviting play space. Once the player leaves the home, she journeys out into a large open world full of fantastical dangers and perils, ultimately to find herself within the confines of one of several dungeons scattered throughout the massive world.
If you have any considerable game development experience, particularly experience that involves "scope", you have likely already spotted the issue that we had by this point. We were drastically and hopelessly outside the realm of realistic scope. And because we were outside of that scope, we were thus outside of our realistic ability to develop this fast-ballooning behemoth.
But we didn't stop there.
In the seven years before pre-production had begun on this project, we had always envisioned a game with spellcasting. There's always just been something so majestic, powerful, and fulfilling about casting spells in games which, we thought, had done it well. Morrowind always comes to mind for us in instances like this. And so we wanted to incorporate spellcasting within this project, which led us to further mechanical additions.
7. Spell Crafting (from gathered resources combined with harvested plants)
8. Staff Crafting (from resources and plants)
9. Dedicated Wizard space at the home base
10. Wizard Familiar system (requiring AI coding)
At the time this was becoming far too unweildy to really ever be a reality for a two-man development team, but we were just fresh out of several years of mobile development and the sky was the limit in our own heads. So away we went.
The art gradually improved from what was essentially greyboxed geometric shapes, into slightly more complex low-fidelity pieces. I pushed harder on the lighting in the dungeon areas but my 3D skills were not only rusty, but very much nascent. And so I gradually improved upon the visual fidelity while attempting, through various methods, to encapsulate the behemoth within a baseline tone.
The home was contemporary, but the dungeons and world were medieval. The spells were simple, but we wanted (as time went on) to increase their complexity either in base mechanics or in combinatory aspects between spells. The dungeons were linear, but the world was massive and open. We wanted long bouts of tension and challenge, but we eschewed any sort of enemy AI or environment-based creature system.
There was a lot going on, and frankly, many of the ideas that we were able to implement were at least mechanically promising. Even in the pre-production phase a few of them were becoming increasingly intriguing and, in the hands of better developers, could have achieved liftoff. But eventually the weight and imbalance of the multi-faceted game crumbled. What was originally a sandbox testbed for trigger mechanics had bypassed a larval stage to become a massive open-world, base-building, resource-gathering, item-crafting spellcasting RPG with heavy tension and tonal elements. Even with a small team of 20 developers I am, as of today, not quite confident that something of that scope could be adequately pulled off without significant reduction in scope.
Ironically, however, it was not our good sense which caused us to pivot. Not at that point, anyway. What began our pivot was Nicholas's insistence that we incorporate a "Light" spell that the player can cast which casts shadows across the environment. You see, Unity3D has a built-in shader that we were using, called the "Toon Outline" shader, which doesn't incorporate passes for shadow casting. So with the visual aesthetic we were using at that time, we were not able to incorporate shadows.
I was at an impasse. Part of me was extremely intrigued by the kind-of low-fidelity "vector art" style that we were currently using. It was bright, oddly and contrastingly cheery against the harsh tension of the environment and dark SFX and soundtrack that we were then using. But I really just knew that I would shoot myself in the foot if I were to pass up an opportunity to incorporate cascading shadows across more mid-fidelity (or even high-fidelity) graphical styles. Shadows add significantly more depth to any scene, and dynamic shadows add tension to tight spaces like dungeons. So after some searching for pre-coded Toon Outline shaders online (I am not a technical artist, and Nicholas does not code shaders), the ones I could find were outdated with Unity's then-latest version. So I bit the bullet and scrapped all of the art I had done up until that point in pre-production.
But that's what pre-production is for. Trial and error. Testing concepts in-situ.
When we had made that decision, essentially, the project, now code-named "Spell Venture", was on Phase 2 of its development. We were moving over into mid-fidelity work and it was turning out very well. Except I really, really needed to oil the rust out of my joints. All of my textures were terrible and flat, and I was still making all of my textures by-hand in GIMP (a free version of Photoshop, found here). And while I was working my way through the new aesthetic in fits and starts, Nicholas was implementing the very, very early versions of "Light Puzzle Mechanics". These were essentially lock-and-key puzzle systems, wherein the Light cast by the player hovers in one place in the environment and attempts to locate (via Raycasting) "sensors" in the environment which are in an unbroken line away from the Light source. So if a sensor was behind a barrier, thereby sitting in a shadow away from the Light spell, it would remain "locked." Once Nicholas adequately implemented this system, we knew we had something interesting on our hands.
After the Light spell, Nicholas began firing-away at several other spells: Haste, which increased the player's running speed for a short time; Darkvision, which boosted the contrast and object brightness of the player's vision in the dark; and quite a few more. But as time went on, we began to realize, finally, that our scope was just too broad. We were significantly limited not only in certain skill sets, but also in time, personal budget, and frankly, inspiration for various aspects of the game that we had in our heads. Neither of us were particularly well-suited or inspired to world-building, and so although we had wanted an "open world" in the game, we had no idea what to really populate it with in any inspired or intriguing fashion. It was basically just "this massive thing" that we just "knew we had to have in the game," and that turned out to hamper our development in the end as we constantly struggled and worried about that aspect of the game.
As it turns out, once you begin second-guessing one major aspect of your scope, you inevitably begin to second and third-guess all of the aspects and mechanics that rely upon that major aspect. Without a massive open-world, how would the Home base react? What about resource collection? Where do you find spells? What is the storyline? What keeps the player within the game? What makes the game loop fun? What even is the game loop?
Over the course of about a full week, the true size of this mammoth project had revealed itself to us. Merely by asking "do we really want to do this part?" we ran into very troubling and very eye-opening truths about what we had been blindly building. Through this process we discovered that questioning the foundations of your scope, of your mechanics, is one of the core tenants of game development.
So we began whittling away at the monster we had built. Slowly at first, but then faster over time. The House, as it turns out, remained and improved, but only after I had received very helpful artistic and stylistic critique from one of my Twitch followers during a development stream. Following that advice, I began learning the Physically-Based Rendering texture pipeline, and after about thirty days of very diligent study and practice, I began incorporating that pipeline into Spell Venture. By that point we had officially entered the "Puzzle Game" and high-fidelity territory.
Massive changes happened quickly. The home, once a fictional house of a fictional person, transformed into the house from our actual, real childhood. The rooms and furniture became rooms and furnishings based on photographs and memories. The world outside eroded into linear Puzzle dungeons, which grew out of the ground into "temples", within which held secrets to our real lives locked away behind increasingly complex puzzle systems. The massive open-world became the "Overworld", which was a smaller, more compact version of an open-world system, dubbed "Valley of Shadow". And then eventually, it left the project altogether.
When these changes came together, it rode in on the back of strong and inspired tonality. Based on the background that my brother Nicholas and I share, the game all-of-a-sudden "made sense." First in an abstract way, and then, as we trimmed more fat and carved more granite, in a very visual, artistic sense. And finally we were able, only just recently really, to merge the tone with the spells themselves. Over time everything has begun to feel just right. We began with something far too large, far too unwieldy, far too uninspired, and we've managed to carve out our statue from that block of stone. The game is something Nicholas and I enjoy playing, something that we share in mechanics, development, tone, and narrative, and we are both increasingly happy with the outcome of our work.
To summarize, "Valley of Shadow" has gone through four iterations to-date.
A. Sandbox Testbed
B. Massive Open-World Resource-Gathering Base-Building SpellCrafting RPG
C. Spell-Based-Puzzle-Solving Systemic-Into-Linear Game Flow
D. Narrative Spell-Based Puzzle Game
And along the way we've moved from "uinspired" to "inspired," and we could not really have done that without diligent effort, metric tons of tinkering, and the ability to reduce our scope, no matter how painful it was at the time. We’ve kept the spell system, but have limited our efforts to five total spells: Light, Force Missile, Fireball, Chain Lightning, and Teleport. The player gains these spells one at a time, and utilizes each spell to complete environment puzzles in their quest to unlock the secrets of the world they inhabit. Every time a player gains a new spell, the puzzles in front of them become more complex, compounding the lock-and-key systems. So the first “level” of the game uses only the Light spell to bypass the puzzles. The second “level” of the game will require the player to use both the Light spell and the Force Missile spell together in harmony in order to bypass. And so on.
So from the very large to the very small, we have explored so many diverse options in our game development, and hit upon the concoction that feels just right for the two of us, and we couldn’t be happier and more proud than we are at this moment. We cannot wait to continue sharing what we have with gamers everywhere.
If you've made it this far, keep working on your project, keep pushing yourself, and don't be afraid to ask yourself "do I really need this part?" Reduce your scope, double-down on your strengths, and find what inspires you. Follow that inspiration.