How can we build worlds meant for telling stories in? How is that different from creating rich, thorough, realistic designs? The suggestion with Day 3 is to focus on building a world that evokes the same feelings as your story. I think another part of it, for me, is to build a world I want to spend time with through narrative!

Since I am building a world for a game, I thought about this as what experiences I want to share with players. I'd like to choose an environment that invigorates players and invites them to observe its landscapes and foliage.

I remembered a week I spent in Iceland in high school: I felt eager to adventure and learn about this new world. The terrain was rough, hilly, rocky, covered in moss. The air was brisk and restless. And the land offered hot springs, geysers, and glaciers—such variety on such a small island was perfect for a kid already feeling so primed for exploration.

Eastshade (I won't shut up about this game) made me feel something similar. I love games where I can just go explore the designer's creations and feel immersed in their worlds. That's how I play the Elder Scrolls games (in fact, the combat is boring to me). Eastshade offered me something perfect: a small world with a broad range of detailed, lush scenery to appreciate and to wander through (from pink forests to glaciers to sunny beaches).

I described the “taiga” environment on Day 1 as “refreshing, cold, fierce, alive”, and I described “Iceland (Maritime)” as “energized, alert, ancient”. I think they capture what I'm going for here. I guess I have the start of a setting!

#gamedevelopment #worldbuilding

  • Rainstorm to inspire comfort-seeking behavior like making tea or gathering blankets
  • Fog to make a new environment feel even more unfamiliar
  • Fog to make a familiar environment feel uncomfortable before some alarming scene
  • Snow-in to inspire characters to seek warmth
  • Blazing hot sun for a character bonding outside
  • Windy weather for exploring or uncovering new territory
  • Tornado for sudden chaos and destruction
  • Hurricane for drawn-out stress and looming damage
  • Volcanic eruption for loss of history, complete erasure of culture or family
  • Freeze for complete silence and rigidity, internal emptiness after the confrontation

#gamedevelopment #worldbuilding

  • Rainforest: lively, lush, rich, hot
  • Jungle: dangerous, precipitous
  • Taiga: refreshing, cold, fierce, alive
  • Desert: sunny, tired
  • Iceland (Maritime): energized, alert, ancient
  • Temperate: exhausted, bogged down
  • Savannah: expansive, grand, old
  • Machu Picchu (Andean Mountains): vibrant, historic
  • Northern mountains: academic, stuck in the old ways, icy

#gamedevelopment #worldbuilding

Really, this is is more like an unstructured notebook. It's a place for me to put stuff I don’t want to forget: I tend to have a difficult time holding on to big concepts, and I find myself rediscovering them often. Maybe If I write them down, I'll spend less time spinning my wheels. It is somewhere between a digital garden and a second brain.

Each entry in the garden is marked with a status. I've adopted this concept from Maggie Appleton's digital garden, where Maggie tags entries with Seedling, Budding, and Evergreen.

#seedling #budding #evergreen

As I work, I'll add more topics here.

#eink #godot #webmonetization #worldbuilding #gamedevelopment #travel

After poring over Eastshade's devblog, I became especially interested in the concept of the vertical slice. I had heard the term before, but reading this post helped me truly appreciate its value.

In game development, a vertical slice is a fully playable piece of a game, so named because when one imagines a game as horizontal layers of systems, a vertical slice takes the most important parts of those systems (usually including artwork) and combines them to create a small, playable chunk of the game.

Their value is somewhat debated in the game development world. What Games Are author Tadhg Kelly likens asking for a vertical slice to “asking to see a piece of the final cake before agreeing to pay for the whole,” arguing that creating a vertical slice actually requires completing most of the game, even though the slice may seem to lack content.


This week saw a rework of Homegrown's inventory system and the beginning of a rework of its U.I aesthetic. The U.I. system needed to improve for the title screen and inventory window, and the inventory system needed to adjust to store player models and be accessible for both inventory viewing and block placement and removal.


Homegrown is a multiplayer game in which players grow and build up their own small islands, accepting other players as visitors. Players can open up shops to trade their goods and add behaviors to animate their in-game models and make them interactive. The game’s primary goals are to provide an escape from the real world into a calming, nonviolent atmosphere and to foster a sense of safety and community among players.

Note: Homegrown is very early in development, and while a few of the elements discussed below are implemented, the game is very far from being finished.

As a multiplayer game, this sense of community comes from other players sharing and interacting with the same game worlds. In Homegrown, a 2D side-scrolling game, each player will begin with a small, forested island and a dock. Players will learn the ropes of the game by collecting materials and building a boat for the dock. Once the boat is completed, players can visit other players' islands. (A player can receive visitors before their boat is completed, though.) Servers reward players for performing actions like visiting their islands and trading with them.


Enchantments are ways for Homegrown players to further interact with models they build. Put simply, players can use a basic visual scripting system to give their models life and help them interact with the world. (Homegrown is a work in progress and is not at all ready for players, but I've been working on it for a while now.)

Each enchantment has a “root condition” that causes the enchantment to work. These conditions are split into triggers and gates. Triggers are conditions in the in-game world that players might want their models to observe: it's nighttime or daytime, it's sunny or rainy, a player just pressed a key, a player just said a special phrase in the chat, a model announced something (this works something like a function call), or something else. Gates are conditions that are true or false based on the states of other conditions. They are logic gates, and for now the game has three of them: And, Or, and Nand. Each gate can have any number of inputs.


Homegrown is a multiplayer game in which players grow and build up their own small islands, accepting other players as visitors. Players can open up shops to trade their goods and add behaviors to animate their in-game models and make them interactive.

Rarely do motivation and free time align as a student, so I'm taking development slowly but surely. A lot of the groundwork for these systems is already laid. As of now, I have accounts management, server connections, models (i.e. block placement, removal and selection), syncing of models, syncing of multiplayer player movements, and world and inventory saving. Frustratingly, not much of this is worth showing off to friends and family; it's hard to see the work I've done on the surface level. The game isn't a game yet but a collection of conversing, interactive systems.