7DRL 2021 Day 3

..

7DRL 2021

Day 3 - Limits and zen simulations

Last night when I solved a vexing (but simple) bug that was causing weird rendering of the dungeon I had decided that I was next ready to work on the actual gameplay mechanics! Well, today I started out actually by implementing the date function instead. My original idea had been to make a game somewhat indebted to the game-ritual Vesper.5 by Michael Brough, which allows the player to only move once a day. So I started out by implementing a function to get the date, check if it's the same as the last date appended to a savedate file, and then report back whether it's a new day or the same day. If it's a new day, you can move the player, otherwise, you can't.

Vesper.5

Then I promptly turned this off so I can work on and debug and play the game as I develop it! Maybe I'll turn this back on later, maybe not. Will see how it turns out. The goal would be to turn this back on when I release.

So now I started to go through emojis to look for people, and then after to look for items to add to the game procedurally. I started realizing I don't really want to add monsters. I'm still after a personal quest to make something more like a roguelike walking sim, something that doesn't rely on attacking for its game mechanics. I love wandering in Caves of Qud, exploring, seeing what comes up, and having conversations. Can I make it something more like that? It does have quests, which helps move the action forward, and it has danger/risk.

Caves of Qud

Simulating a giant ecosystem I think is outside the scope of what I can accomplish or work on in a week, though I could extend this after the 7drl finishes. I started thinking about the almost roguelike Robotfindskitten, by Leonard Richardson, originally from 1997/2000. It's described as "yet another zen simulation."

robotfindskitten

The gameplay dynamics are simple. You are a lowly robot wandering around. There are lots of letters (aka objects or maybe other creatures) that you see but can't identify until you bump into them, the same way that you bump into monsters in other roguelikes. And that's it. When you find kitten or quit, then the game ends.

Here's a list of items I came across in my current playthrough just now, and the letters that were representing them, which appears entirely arbitrary:

A quick animated ascii text of the robot moving to the kitten over a few frames, and then the program ends and quits!

This is a petite game that leverages its procedural algorithm so that the player's goal is really to explore the items just for the satisfaction of seeing what items get generated and how they're described. That's basically the entirety of the experience, and its pretty minimal at that. But it's an occasional thrill.

Likewise, in the Roguelike Caves of Qud, one of my favorite things to do is to go visit the graveyard that lies above Joppa. Reading the tombstone epitaphs brings a thrill, not because it's a serious experience but because of the zaniness of what's written there, and the variety of things that appear. Beyond that, the world of Qud rewards exploration for the lore, books, factions, and histories discovered there.

My own game will likely be more Robotfindskitten-like, but let's see.

Before bed at 3am I started thinking about how being able to make a single move might not be the most compelling. Even if you could amke a single move, then continue to interact with a person or object at that space. What if it was more like you could play in a single section each day, then a gate opens and you can move to the next 'room' or area. I'm thinking about how when you finish enough tasks in untitled goose game it opens the gate to allow you to walk to the next mini area.

I'm also thinking about Tiny Villages. I love the villages in Qud, and even the primitive town maps of roguelikes Larn and Moria. Perhaps I can make small generated outposts and mini towns that can be explored each day, with robotfindskitten items as well as occasional graves or magical items. And a gate or passageway allows one to proceed to the next area (and closes off previous one?) when it's a new day.

//----------------create zone---------------

let buildings = ['🏛ī¸','â›ē']

let landscapes = ['🏔ī¸''','đŸŒŋ','🌱','🌾','đŸŒģ','đŸŒĩ']

let plants = ['🌹','đŸŒē','đŸŒģ','đŸŒŧ','🌷','🎋']

let shrines = ['⛩ī¸','đŸ—ŋ']

let items = ['🍄','🌰','

I'm wondering if i'll find enough hut, house, stall, building emojis I want to use. Might have to switch to a tileset? But if that's the case, I'll need a different approach to drawing the screen. I guess I'll need to do that anayway. Maybe time for Curses or Blessed.

Blessed Library on NPM

Or maybe like the original Robotfindskitten, the individual letter characters can be just as arbitrary, their description when you walk into them doing the work of describing a world (in our mind) much more than the limited graphic representation of the emoji.