Fugue Devlog 13: More World Modeling

05.14.2021

Very busy with some other things so not much progress as of late. I've mostly been modeling more assets for the world map, which has forced me to think more thoroughly on what each city might look like. I don't feel totally ready to commit to anything I've made yet though.

Modeling and texturing are very time consuming processes, even with the low-res look I'm going for. I'm convinced that 99% of the time spent working on the game will be modeling and texturing.

I find modeling very meditative and enjoyable, though for the map the things I've been modeling are much bigger (e.g. buildings and cities), and for some reason that's a lot more daunting. It might be because larger objects need more details to look convincing. Modeling smaller objects is a lot nicer.

One thing that hasn't helped is that Blender (2.92) constantly crashes. I'm not sure what the cause is because it doesn't save a crash log.

Texturing is the slowest part of the process. Building the textures can be time-consuming: collecting the images, processing them and then assembling them into a single texture, editing parts to be seamless, etc. Most if not all of this can't really be automated or streamlined much further than they already are. One thing I'm trying to keep in mind is that because of the low-res style I can usually get away with low-resolution textures, which makes searching for appropriate ones a lot quicker (in particular: stacking islands together—kind of baffling that this isn't a part of Blender).

I'm also still learning workflow tips for faster UV editing. Blender's built-in UV editing tools are also kind of lacking, but I learned of TexTools which has helped make some aspects of it a lot quicker.

I'm also experimenting with how much I want to rely on free 3d models from elsewhere. For the megaflora on the map (see below) I'm using this model of a borage flower (organic shapes are harder for me to do quickly) but processing and editing it to better fit into the game also takes a decent amount of time.

Megaflora on the map

This city, inspired by the Ganden Sumtsenling Monastery that I visited many years ago, was so tedious to texture, mostly because I was selecting and positioning faces in a really clumsy way:

Tiantai on the map

This pagoda was pretty quick to model, mostly because the UV editing is relatively simple, but also because I'd started using TexTools:

Dagu Pagoda

I'll spend some time watching videos on more UV editing tips to see if I can make the process less tedious.

I also wrote a bit about some of the thinking behind the game for the Are.na blog.


Log: 5/14/2021

05.14.2021
log

This week: This week was very busy so I didn't have much time to read. In addition to an uptick in work obligations we spent most of our spare time uprooting as much knotweed as we could. Throughout the process I very much appreciated how useful my trowel was, which I used mostly as a lever and not as a shovel. In that spirit I have a few selections of interesting agriculture tools/equipment (for harvest specifically).

Mussel harvester

Carrot harvester

Olive harvester

This kind of violent mechanical vibration is common, and the idea that the most efficient way to harvest from a tree is to just shake the shit out of it is kind of funny:

Walnut harvester

For olive trees I've also seen these weed-whacker-like devices used:

Olive shaker

There's also this gnarly looking machine:

Olive lateral canopy shaker

There's a whole YouTube microgenre for mechanized harvesters:

Ag machine YouTube

Hand tools are way more interesting:

Blueberry rake

Some kind of super-scythe?

As a bonus, I was shared this CDC document on farmer ergonomics (h/t Eli). It includes not only advice on movements that reduce repetitive stress injuries but also equipment like the berry rake above and this harvest cart:

Harvest cart



Fugue Devlog 12: The World, the Story, and the Game Mechanics

05.10.2021

The last week has mostly been a lot of waffling about game mechanics. Should characters have skills/attributes? Should there be any combat, and if so, what should it be like? Are there any "skill games" (like the hacking mini-games that are so prevalent in games)? I originally threw around the idea of there being these kinds of mini-games for different character skills, like repairing machinery or cooking food.

I'm leaning towards just sticking to the dialogue system as the main "mechanic" and seeing how far I can stretch that. If there's any combat, it could be interesting to use the dialogue system for that—in games like Final Fantasy 7, combat is basically through a set of menus, which isn't all that different than the dialogue system I've set up. Or combat happening through dialogue choices as skill checks, like in Disco Elysium (h/t Matt). This is just an example—in practice, there will be very little combat if any in the game. Other skill games/mini-games could take place through the dialogue system too. I like this approach because it gives me a constraint (and so makes the task of coming up with mechanics a bit less daunting) and also lets me hone the dialogue system further.

I'm not totally confident in that decision; I have a weird premature regret about not including other mechanics because I'm worried the play experience will feel lacking. At the same time, I know that plenty of games that are basically just dialogue are really, really good. There are a couple of systems, like law and organizational resource management, I want to include in the game, but these don't necessarily translate into new mechanics (i.e. they can probably be expressed through the dialogue system). I think I just have to stick with this decision for now and be open-minded about something changing later.

One reason I'm hesitant about introducing more mechanics is that the branching narrative will already introduce a lot of complexity, requiring a lot more dialogue and scenes and what not for each branching path. It might be too much as-is: I've also spent some time trying to think through the world and narrative to have a better feel for how much branching and different scenes there'll be, and it's shaping up to be a lot.

I also started laying out the geography of the world. The various regions are developed according to a few priorities: the aesthetic priority/what feeling that landscape evokes; its implications on the geopolitics and history of the world; how geologically feasible they are. For the latter point everything is inspired by real formations/environments, but the spatial arrangement needs to be feasible, like where should the mountain ranges be? What biomes should be near them?

To help answer these questions I read a bit about how mountains, rivers, and so on work. There were several helpful guides on mountain formation, rivers and watersheds, general advice on the map design and vegetation. This channel has several videos on not only these topics but also on mineral deposits, wind, and more.

This procedural map generator also helped give some base material to shape.

I figure once I have a map it will make sorting out additional details a bit easier. I can ask it questions or think through how the existing factions and cities would maneuver through the world instead of coming up with ideas out of thin air and then trying to make them all fit together. For example: placing one city (Baita City) on a major river that empties out into a bay (Bao Bay) which is the location of another major city. If trade occurs mostly along the coast of the land, then Bao Bay can unilaterally blockade Baita City, so Baita City might want to develop a land route to the other major city. But perhaps the only viable path is expensive or dangerous to develop so Baita City can't do so until some new technology makes it feasible. But once that happens it dramatically shifts the relationship between Baita City and Bao Bay. Similarly, the character and culture of a settlement is going to be influenced by its geography so this also helps me have a stronger idea of what the cities look and feel like.

Here's what I have so far:

Working out the world geography

Closer view of the mainland

I need to work out the two smaller islands, fill in more details of the mainland, and add in settlements. I had a pretty good workflow going using Blender's vertex coloring to paint on different terrain textures, but for some reason the vertex color limit is set to 8 (really annoying), so I have to figure out a different approach now.

This part of the process is such an emotional roller coaster, at times overwhelming from the possibilities/uncertainty, daunting from all the work different decisions imply, frightening because of all the ways things could go wrong, anxiety-inducing from the possibility of foreclosing certain mechanics or world/narrative features by committing to choices, or satisfying when pieces start to click together. In any case, it's not something that I can rush. The world's regions, factions, and narrative arc are coming together...but very slowly.


Log: 5/7/2021

05.07.2021
log

This week: Food and revolution, food and injustice, types of academic papers, and Chinese animated cinema.

The Belly of the Revolution: Agriculture, Energy, and the Future of Communism, Jasper Bernes

Another great essay by Jasper Bernes, partly continuing the line of thought in his essay on logistics with a turn towards questions around agriculture and, to pull on what feels like the main thread, food security (to use an NGO phrase...maybe more accurate to call it "food sovereignty", but I think that means something slightly different than what's discussed here). A lot of the essay reinforces what I learned and came to appreciate while researching fertilizer. Its core is the same general problem found everywhere: the means of individual and community survival/reproduction are disjoint spatially and in terms of control. Echoing the essay on logistics, Bernes notes that any revolution which is not totally simultaneous across the planet will—if can't meet its own needs—have to continue engaging with remaining capitalist countries to a degree of some dependency, and thus remain vulnerable to blockades, embargoes, and the like. If food shortages become an issue, then people become increasingly desperate, making an already risky and frightening project even more so, shifting the calculus for some that they would (probably understandably) rather abandon the revolution for material security. To prevent this happening, the leadership or whatever analogue there is may resort to increasingly violent coercion to prevent that or to pressure food producers to work harder. Thus food independence or food "security" is a necessary condition for any such movement.

Food injustice has deep roots: let’s start with America’s apple pie, Raj Patel

A tour of the history of various foods and their relationship to colonialism, racism, and labor movements. It's always startling to me how much of food is taken for granted as-is; I still remember how weird it felt to realize that chilis, for example, which feel so foundational to so many culinary traditions, were introduced relatively recently on those traditions' histories. Or how much violence is part of the history of sweet things—which I can't help but think of whenever I see the exorbitant amounts of sugar used on baking shows.

I don't think I've ever seen a food show that really incorporates these histories. The closest I can think of is the podcast Gastropod (which is fantastic). But nothing like a food travel show or one of the many cooking/food shows on Netflix. I did want to pitch a show tentatively called "Planet Food" which would take this on, with episodes like:

  • Bananas: about "banana republics", the United Fruit Company (now Chiquita) and its US-backed war in Guatemala; bananas as a vulnerable monoculture and how synthetic banana flavor is actually from a now-extinct variety.
  • Corn: a lot to cover here: its importance as a indigenous crop, now a massive crop for livestock and high fructose corn syrup, the latter which emerged out of constant gluts and need for new corn-based products, which then lets you go into the problem of agricultural overproduction more generally.
  • Preservation/fermentation: as alternatives to refrigeration: brines/pickles, fish sauce, curing, smoking, etc.
  • Fish: overfishing as a common problem studied in economics, fish farms and those conditions, "chilean sea bass" as a case of food "branding", the amount of human trafficking in fishing, and the net as a key technology in fishing (I'm forgetting where I originally read this, but I believe it was nylon nets that were a major change in fishing net technology).
  • Not sure what the title of this one would be, but about how dissociated fruits/vegetables/etc are from their plants, centering around an exercise where people have to draw the plant that a given fruit/vegetable/etc is from.

h/t Halah

"Types of Paper"

I'm enjoying the "types of paper" meme—industry/field-specific memes are a quick way to get a feel for that industry/fields concerns/values/culture and these are kind of an enhanced version of that. If I wanted to review an unfamiliar field's research on a topic I would honestly probably want to start with the matching types-of-paper meme to quickly get situated.

New Gods: Nezha Reborn

I watched the new Nezha movie (I actually haven't seen the first one yet) and I don't know if I would call it a "good" movie but it did indulge a fantasy of this kind of movie existing when I was growing up. I really only knew about Nezha through Uproar in Heaven/大闹天宫 which I loved growing up. An aside: a few years back I wanted to watch it again and could only find this weird new edited version. The original one wasn't digitized or something, but after digging I managed to find a fan restoration and now I keep a copy on all my backup drives (it's also on YouTube). The intro music is still as great as I remember.

Not too long ago I also watched Jiang Ziya by the same studio with my parents. It wasn't very good—the animation style is great, but we all found the movie too long and very confusing. Interestingly both the first Nezha film and this one are supposed to be anchors in a "Fengshen Cinematic Universe" (i.e. films based on Investiture of the Gods/封神演义). On the animation style: the past Chinese 3d animated films I'd seen all looks like their technology and technique lagged like 5-10 years behind Pixar, but these set of films all have carved out a compelling style that also look (to my untrained eye) technically impressive.

I wonder when/if Chinese cinema will start breaking into either US mainstream or subcultures. Korean cinema has been really high quality for a long time but only as of the past couple years started breaching wider US audiences. Hong Kong cinema has also been a staple of the more art-house film crowd but not much breakthrough to wider US audiences (best I can think of is Infernal Affairs which was "translated" into The Departed). To my knowledge Japanese cinema has also struggled to achieve a larger US audience, even with anime's now mainstream appeal (if not mainstream, then much wider than when I was growing up). The difference I see with Chinese cinema is the amount of money Chinese studios can throw behind projects and the massive captive audience they have (only a few foreign movies are allowed to screen in China each year). To my knowledge this is why we've seen movies like that Jason Statham shark movie with Li Bingbing and I've definitely noticed the increase in Tencent and Alibaba logos at the front of many new movies. QQ was also the messenger of choice in one Marvel movie (see below, I can't remember which one). I wonder if amid rising sinophobia this will become a target of conservative/nationalist backlash or not (something something propaganda).



Fugue Devlog 11: NPCs and Cut Scenes

04.30.2021

I realized I forgot to build out an important part of the dialogue system: "cut scene" support. These aren't true cut scenes in the sense that they aren't cinematic sequences; here I'm using the term to describe something more like a play: characters moving around, saying things, with audio and animation triggers. This meant expanding the dialogue system to support "stage directions", and that required re-writing a few parts.

The implementation also meant that I had to reckon with NPCs. So far the entities engaging in dialogue were just the player and static objects. Of course it's far more typical that NPCs will be the ones engaging in dialogue. I'd written an Interactable class for things that the player can interact with, but it didn't capture the necessary functionality for NPCs (such as moving around), so I had to re-write that a bit.

Dialogue advancement got more complicated—I wanted to support chains of stage directions (e.g. walking to a place, turning around, walking to another place, etc), so dialogue timeouts and/or manual dialogue advancement don't happen until all of the stage direction sequences are finished.

This all required enough changes that everything felt a bit brittle, so I also spent a bit of time refactoring the code a bit.

Here's a small example of the cutscene system (the moving character is an NPC and the behavior is entirely directed by a dialogue script). The stage directions here are: walk to the designated point, turn to look at the player, then run the "pick up" animation.

Demo of the "cutscene" dialogue options

Stage directions can be attached to any line in a verse:

Adding stage directions in the dialogue editor

Sometimes NPCs should move around etc without saying anything, so I've added a special speaker name of <none> for these cases. The general syntax for a stage direction is npc node name:target node name (excluding directions that don't have an actor, e.g. playing an audio clip). If there are multiple directions for a single actor attached to one verse-line, they're executed in sequence. If there are directions for multiple actors, they're executed in parallel. I'm hoping this doesn't relinquish too much timing control, but who knows at this point.

One problem here is that these are just open-ended text inputs. There's nothing checking that these actor or target nodes actually exist.

I updated the dialogue editor script validation to now require an associated scene, against which all references of speakers/actors and target nodes are checked against:

Updated dialogue editor validation against associated scene nodes

That should now cover all the systems that'll be necessary no matter how the world, narrative, and other game mechanics shape up. Before moving forward with the rest of the development I need to sort those out to figure out what exactly I'll need.

<< >>