Nick Crockett


Cinder Ridge
Computer game, in progress

Overview     Research     Demos + Artifacts

Research


My background research has focused on the following:
  • American nature writing and the history of the environmental movement in the US.
  • Local history in Nevada County, including the gold rush and genocide of indigenous people as well as the hippie movement of the 1960's.
  • Contemporary forestry and logging practices.
  • The history and land management practices of indigenous people in the area, especially the Nisenan and Miwok peoples.
  • I have reached out to representatives of the Nisenan tribe to discuss possible collaboration on the project; they seemed interested and excited about it but things are still at a very early stage.
  • Ecology of the mixed-conifer forests, chaparral, and oak savannas in that part of the Sierra Nevada. This includes books but also subjective, in-person observations over the course of the year and a half I lived there and conversations with friends and family who live in the area.
  • Speculative histories of the near-future, including Kim Stanley Robinson, Peter Frase, and others.
  • History of New Deal era projects like the WPA and civilian conservation corps.
  • How nature is presented in games specifically, as either static background for adventuring or as unlimited resource supply. A lot of my own research and thinking, but also “Playing Nature” by Alenda Chang has been a helpful resource.


One important goal of the piece is to capture and share a personal, subjective view of the Sierra Nevada foothills where I grew up. These forests are threatened by increasingly devastating wildfires exacerbated by climate change. I was grateful to get to spend so much time there during the COVID-19 pandemic.

Much “nature-oriented” media presents the landscape as a proving ground for rugged individuality, featuring solo ‘survivalists’ who venture into remote areas to prove their mettle and demonstrate their skills in an unselfconscious re-enactment of American pioneer mythology. Although experiencing isolation in nature can be emotionally or spiritually fulfilling, we are more interested in depicting nature and the biosphere in terms of collective responsibility, shared experience, and attention and care for nonhuman entities. I’ve relied a lot on writers like local poet and activist Gary Snyder, as well as more recent writings by artist Jenny Odell, the science fiction writer Kim Stanley Robinson, and others.


Another important idea is to model aspects of real forest ecologies.

These signs from an interpretive nature trail near the Omega diggins along Highway 20 illustrate how different species are interconnected, and how human intervention in the forest can improve the forest’s health.

We may use a similar visual motif for gameplay tips during loading screens.

I came to Alenda Chang’s Playing Nature late in my research for the project, but was happy to find how her thinking resonated with (and expanded upon) my own. She writes:

In my view, a game’s “Environmentality” does not depend on its possessing an overt environmentalist rhetoric, but rather follows from its modeling of ecological states and relations, however admirable or terrible that modeling may be. At present, most games commit at least one if not all of the following missteps in their realization of in-game environments: relegating environment to background scenery, relying on stereotyped landscapes [as opposed to specific places and ecosystems], and predicating player success on extraction and use of natural resources. (p21)


I’ve been discussing green future tech with my partner Julia Wang, who formerly worked as a visual designer and photographer for Google X (an experimental “moonshot” division of google). Although I feel strongly that it’s important to foreground social and political solutions to the climate crisis, I am interested in representing green tech in the game such as computer vision for analysing plant health, drone based broadcasting of seeds, and more, especially where it lends itself to compelling gameplay, or could be used to make quality-of-life features make sense in the fiction of the game.




One major inspiration for the project is the Independence Trail, outside of Nevada City, CA.
From the Nevada City chamber of commerce:

Located just over six miles from downtown Nevada City, the forested Independence Trail founded by Naturalist John Olmsted was the first wheelchair accessible wilderness trail in the country.

The trail utilizes the old Excelsior Ditch, built around 1859 to carry water for hydraulic mining. Because of the easy, level grade, this is a good walking trail for families and folks with limited mobility. Depending on the route you take – east or west – this shaded trail is known for its mixed conifer and hardwood forest, old wooden flumes, dramatic views of Rush Creek, occasional views of the South Yuba River canyon and rugged challenging scrambles to river swim holes.

The wooden canal was destroyed in the Jones Bar fire of 2021, but efforts are underway to restore the trail. I thought the reappropriation of gold mining equipment to build a wheelchair-accessible hiking trail through (in my opinion) some of the most beautiful countryside anywhere was very inspiring. With the game I want to consider carefully how characters bodies interact with the environment, and feature characters with varying levels of mobility.



Although I have a strong personal connection to this place, I think that California’s gold country, with its history of resource extraction and exterminism, is a fitting setting for a work of climate fiction. Characters might reflect on the incredibly destructive hydraulic mining that took place here, the hardrock mining that poisoned the freshwater creeks and streams, or on nature's resilience in spite of these man-made disasters.

I’m also very interested in including some representation of the Nisenan people, who were systematically killed by white settlers in the gold rush, and since then have faced an extended battle for federal recognition. Some of the game mechanics I have been prototyping are adapted from hunting, foraging, and land management practices described in tribal chairman Richad B Johnson’s book History of Us. I’m interested in also featuring characters who are members of the tribe. I’ve reached out to Shelly Covert, secretary, community outreach and spokesperson of the Nevada City Rancheria Nisenan Tribal Council and executive director of the California Heritage: Indigenous Research Project (CHIRP) to discuss these possibilities. She was very enthusiastic about the project, things are still in a pretty early state (and she’s a pretty busy person!)


As with Fire Underground, I’m also very interested in labor history, and am looking at the WPA and the Civilian Conservation Corps. At the risk of indulging in too much backward-looking nostalgia, these new deal era programs offer a compelling model for some of what climate action could look like in the future.




Demos + Artifacts


Sketches and Storyboards

I’m not as diligent with storyboarding this project because it’s not a film. However sketching on paper, or sometimes on the computer, has been very helpful for working out complex interactions before prototyping. Simply laying out a trail in a 3rd person game became surprisingly complex:


I am especially interested in designing different tasks that the player can complete with a small team. Many wilderness survival games (and tv shows, and literature) emphasize the individual’s ability to overcome and master nature. However a lot of these tasks become easier, and likely more fun with others.
Certain design ideas, like hunting, trapping, and the use of controlled burns to restore soil and manage wildlife are loosely inspired by the practices of the Nisenan people as described in Tribal Chairman Richard B Johnson’s A History of Us.


Iteration on Human Characters

I spent a lot of time iterating on design of the human characters. I think I’m getting closer but have stopped pushing it for now to focus on prototyping other game mechanics.

With the character designs, I wanted to show a wide range of body types including skin tone, weight, proportions, gender presentation, and more. Wanting to honor hippie tradition of skinny dipping at the Yuba River, I also want to show characters in various states of undress. For that, it would be important to arrive at a style that suggests actual contours of human bodies, but is still stylized, expressive, and legible at a distance.

Initially, I tried modeling characters in sculpey and capturing them with photogrammetry. Although I enjoyed aspects of the process, for the level of refinement I actually wanted for my characters would take me too long to accomplish with the physical sculpting.

This is where character designs are at now - a happy medium for me between more stylized proportions but still expressing some more subtle details. I have a few base meshes that I can adjust to produce a variety of proportions and body types, and I use a handful of modular parts for less unique details like hands, ears, and feet. I want to keep iterating on the character designs (especially facial expressions) but for now have moved on to prototyping more of the gameplay.




I want to keep facial animation pretty simple, for now a shader masks the pupils and handles eye movement.


Although my prototypes have been mostly concerned with the style of character’s bodies, I am interested in showing more practical gear for this kind of work:


Rigging, weight painting, and being able to reuse animations on different characters is a big concern with this project.Although I have used Mixamo rigs and animations for some prototyping, I want to eventually use custom animations as much as possible for a more consistent style. I’ve learned a lot about rigging and weight painting for this project.


The only wildlife I’ve worked on so far is this hare:


Vehicles


I haven’t done a lot of work on vehicles and other tech, but one idea I am excited about is imagining green tech that is:
  • modular, easily maintainable
  • practical, “used future” aesthetics and design
  • utility vehicles with cute / appealing / desireable designs, which don’t look like spaceships or angry robots.


This truck is an early example of this - I imagine it as a way to fast travel between different locations, and also a place to store and recharge battery powered tools. I may replace this with more of a camper van style vehicle.

I wanted to try printing and painting the truck to get more texture, but 3D printing is hard to get right! I may come back to this later.

I don’t see green tech as sufficient to solve the problems presented by climate change, but I think that some green future tech could be a good way to make quality-of-life gameplay features make sense diegetically.


Plant Assets


At first I tried using photogrammetry to capture complex textures like tree bark. I ran into issues making the textures from these captures tile believably, and anyways I liked the idea of preserving some ‘handmade’ craft objects in my process, rather than using uncanny photogrammetry captures.


I switched to texture painting en plein air with acrylic paint, especially while I was still living in Grass Valley.
At first I tried simply painting bark textures, and then using photoshop tricks to generate normal maps and AO maps from those. This looked okay, but I was curious what I could do with more three-dimensional sculpting.


Although I liked the bark textures I painted this way, they didn’t translate as cleanly into normal maps and AO maps. For leaves and other small details though, the painting worked well with some experimentation. Below are some lighting tests with these assets.


I’ve also been experimenting with stylized painting for smaller plants. Below are some tests of invasive plants;  Blackberries, Scotch Broom, and the Tree of Heaven.



I began sculpting tiles of tree bark on square pieces of cardboard with sculpey. Making tileable bark this way was initially a challenge, but I realised I could solve the problem by sculpting two tiles. As I worked, I moved the tiles around relative to eachother. The original sculpt doesn’t tile perfectly, as the clay deformed easily when I touched the edges to move it, but it was close enough that I could blend it together with blender and photoshop more easily.



The seams are still a little visible, but some photoshop magic helped hide these defects...


It’s pretty trivial to generate normal maps and AO maps from a 3D scan.



Lighting

Because of how light affects plant growth in real life, I wanted to have a robust system for the sky, where the angle of the sunlight changes throughout the year. I’m not sure yet whether I want the game to use full 12-month cycles, or something more abbreviated, like Stardew Valley’s 4 seasons (each lasting 28 days or 4 weeks), so I set up this system to accommodate any number of days in a year with a few small changes. I’m pleased with how the moon and sun change throughout the year, and how the moon and sun both light the trees. 


This clip shows how the system works from the outside. Instead of a proper “skybox” I use a large inverted sphere, with other, smaller spheres representing the sun and moon that orbit inside.


The sky sphere also has a starry backdrop including the real constellations, which rotates semi-accurately throughout the night.



To make the constellations, I found a spherical map of the sky, mapped it to a UV sphere, and used snapping to model the constellations on the surface of the sphere. Then I used a particle system in Blender to attach a small quad to each vertex, which has a tiny cutout image of a star mapped onto it. I applied a random scale to each star, then for the larger stars manually scaled them up. In the game, these sit on top of a background of dimmer, randomly dispersed stars.


I wrote a custom shader for leaves which:
  • adjusts alpha cutoff inversely based on distance, as discussed in this presentation by Campo Santo’s Jane Ng.
  • slightly modifies hue based on perlin noise and world coordinates to add visual variety.
  • can be made to sway in wind.



The shader also has a “dryness” slider, so I can reproduce the look of trees after they have been scorched by a fire, killed by bark beetles, etc.

Even if a fire doesn’t reach the crown, the heat can still kill the trees, leaving their leaves brittle and orange. The same coloration occurs when bark beetles infect and kill a tree.

To get the lighting to look right on trees, I had to also modify the surface normals of leaves by transfering data from simple shapes, as described in this tutorial by youtuber Akishaqs.

The tree on the left below has default surface normals. Notice how the lighting on the leaves is inconsistent with how the shadows fall on the ground: leaves on the sunny side of the tree aren’t illuminated.
On the right, I’ve transferred normal data from a teardrop shaped mesh placed around the tree.




Prototyping Character Movement
One of the key goals for the project is to examine the relationship between human beings and the landscape. Inspired by games like Death Stranding and Breath of the Wild, as well as the Independence Trail outside Nevada City, CA, I wanted to consider carefully how the human characters physically traverse the landscape.


Traversal
This clip shows an early test of breath of the wild style climbing mechanics - the player can run and climb on basically anything, and is limited by a stamina bar.

At the time I wanted a more sophisticated system for climbing, and wanted to give players a chance to find creative solutions to a climbing “problem”. 

This clip is a later prototype of climbing mechanics. This character has no premade animations other than a neutral crouch pose, all the animation is controlled by the player via IK. The player controls the hands and feet of the character contextually, using only a thumbstick and one button. Which limb reaches out for a hand/foothold depends on which direction the player tilts the joystick - upper left and right quadrants correspond to the upper left and right arms, and the lower left and right correspond to the legs. Movement is constrained by where the character can physically reach with their other 3 limbs planted. I thought later I could possibly add stamina depletion based on the player’s footing.

I liked how this felt a lot, but it didn’t fit with the ‘squad-based’ mechanics of the game. It could become a fun minigame or a future project of it’s own.

NPC characters
This clip shows an early attempt at NPC pathfinding, using a more simplified  system for player movement (without involved climbing) that I think is closer to how the game should ultimately be. This also includes some of the more recent animations I’ve done for the characters.

I’m interested in how the player’s interventions in the landscape like clearing firebreaks, planting, and more affect traversability for other characters, and in turn how that affects logistics of construction projects in the game.

This clip shows my first pass at directing NPC characters to act independently of the player. The player is able to direct NPCS to move to different locations with a few different verbs available: walk, hurry, and sneak.

Behind the scenes this was implemented with a verb-adverb system. Actions like “Go Here” could take an argument for different adverbs like “quietly” or “quickly”, which the player can toggle through with a modifier key. This still basically exists in the code but I’m not sure how useful it is in most situations other than sneaking up on game.



Interacting with wildlife
One of the clearest first gameplay tasks I wanted to prototype was rounding up small game for trapping as the Nisenan would, but also potentially for other purposes - tagging wildlife, etc.

Jackrabbits (and eventually other small game) will run and hide under plants. Dense foliage makes it difficult for the player to track where the rabbits are, although with careful attention you can spot them. 


Walking in formation to roundup
I’m excited about how wildlife interacts with the position of plants, with structures the player can build, and with the NPC characters the player works with. This video shows an early prototype where the player directs NPCs to walk in formation to scare rabbits out of the bushes.


Construction


This video shows one of the first systems I prototyped; a trail planning tool. 
This first iteration generates a spline that uses trail blazes the player puts down as nodes. This included operations like add, insert, delete. 

Later I returned to this system with a pretty major refactor to allow more modular construction. Shown here is a different version for planning fences, which are drawn in straight lines rather than curved splines.
I’m hoping to avoid obviously grid-based gameplay as much as possible to enhance the natural feeling of the environment. The citybuilding simulation game Foundation was an interesting reference.
Once the player draws out a plan, they can work together with other characters to place resources. Here you can see stacked posts and rolls of netting must be carried by characters.
I didn’t want to give players infinitely “deep pockets” for carrying unlimited resources, as many role playing games do. Most resources need to be carried one-at-a-time, or by a small group, encouraging the player to bring NPC companions along for logistics. Having even one companion can cut construction time in half.
I’m considering something similar with the tools, where only one or two can be carried at a time, but for now a handful of tools are available in a “toolbelt” and are accessible with the D-pad.


I didn’t want moment-to-moment control of the NPCs to feel too ‘top down’ or cursor-oriented as in the chasing rabbits example above. To direct NPCs to do something, the player calls them all to follow along. Then, when the player performs an action (such as “pick up resource: post”, or “equip tool: hammer”), the NPCs will do their best to copy that action. When given the “Place Resource” action, NPCs will search outward from the node where the player placed theirs for linked construction nodes. Actions are queued up, so if the player picks up and places two posts, the NPCs will also try to pick up and place two posts.

These features combine pathfinding with a queue of tasks. Each task is represented as an object containing a coroutine that characters execute along with a description and any helper functions or variables the task requires.  For now, I’m using the A* Pathfinding Project asset by Aaron Granberg to handle path finding.


Fire


One way I am interested in complicating mechanics around plant growth and forest management is by simulating aspects of how forest fires spread in real life, including factors like slopes and ladder fuels.

Below is one of my first tests of burning grass on Unity terrain. Instantiating hundreds of flame particle systems got out of hand quickly, and the result is not very visually appealing.



I’ve been experimenting with shader graph to make more interesting looking flames, which are also more performant than a bunch of particle systems. I was also able to encorporate some more handmade crafts into this style of flame, using a simple orange wash as the basis of the effect. These flames also look great scaled up, and with small and large flames combined. For larger or more distant objects I can get away with a single large plane rather than many small flame particles.



Tree Growth


An important goal is to treat the environment as a dynamic ecosystem, rather than a static background for adventure and exploitation. This early test shows a stand of cedar trees growing over many in-game years, at an excellerated rate. Simple rules govern how and where the trees grow based on shade from nearby tall trees, changing weather, ground cover, and rainfall. I was pleased at how much it resembles a real forest after a few years.


I’ve been playing with systems that track levels of leaf litter and shade, which in turn affect the level of moisture in the ground. The images below show some of this data represented visually (RGB values corresponding to different types of leaf litter on the left, and grayscale values corresponding to surface moisture on the right).
I’m especially interested in how plants affect each other’s growth.


Shade and mulch/duff allow soil to keep more moisture longer. However reduced light from shade also affects plant growth, and lots of dry leaf litter (especially dry pine needles hanging on other plants) can contribute to the spread of fires. Other factors like soil composition, and even which way a slope is facing (south, towards the sun, or north, away from the sun) have a big impact on how different types of plants grow. 

I’m not sure how involved these mechanics should be - maybe something more streamlined and gestural would suffice, but for a game about reforestation, it would be good for players to be thinking about these kinds of relationships as they try to grow and maintain a healthy forest.

I’m working on modifying tree growth so it occurs in regular vertical stages. How this looks and works is more obvious with conifers, but I’m still working on how this might work for oaks and other branching trees. This will more easily accommodate certain gameplay like “limbing up” trees to reduce ladder fuels. It also gives me a way to procedurally create stands of trees where leaves only occur at it’s outer “shell”, as in nature. If a tree has enough tall neighbors, it will lose it’s lower leaves that aren’t getting enough sun.




Paper Prototyping


After building a lot of test scenes of the 3rd person game mechanics, I realized I needed to get a handle on the long term progression / strategy of the game. Julia helped me make a paper prototype of an environment broken down into small “open worlds” with tons of pieces made with cardboard and POSCA paint markers.


The player moves a bunch of crew tokens around the board, planting trees, building trails, shelters, and other improvements.
I also did a simple little prototype to help work out how shade and plant growth could work in greater detail:



After a couple of long playtests, it seemed like the rules might be fun, but the data-heavy nature of the game made it unweildy to play as a single player board game. Each tile has a variety of stats that determine how plants grow, how they burn, how moist the soil is, etc. I found that I spent most of the time playing calculating the effects of weather and updating tiles on the board, so I decided to try switching to a digital 2D prototype.

  • Players can upgrade connecting trails, cut / plant various plant types, and start controlled burns.
  • Some tasks require multiple crew to be on the same tile, others can be done by one person but might take several turns to complete.
  • A “predicted weather” track allows you to plan ahead for bad weather.
  • Depending on conditions and weather, fires start and spread uphill (rightward).
  • Plants grow or wither and die (becoming fast-burning dry fuel) based on water, shade, and ashes left by previous fires)
  • Grass and Shrubs instantly grow to their full size. Shrubs are hardy but don’t offer as much shade as a fully grown tree.
  • Trees start small and vulnerable, but if you can keep them alive for a couple of years they grow tall and cast lots of shade, which improves water retention and reduces fire danger.

For all the complexity, actually playing becomes fairly simple once the player learns some basic rules of thumb.




< Research