Search

Untrustedlife

Your window into the mind of a questionably sane queer non-binary indie horror game dev

Tag

indie

I invented timeline anomalies in my world simulator and now I feel like Sans Undertale

So I’ve been working on Pilgrimage, my probability-first creature survival RPG/world simulator, and I’ve added something incredibly ridiculous.

Here’s how it works.

When you encounter a creature, the game doesn’t necessarily simulate its entire life beforehand. Instead, it generates the creature at the moment you encounter it and retroactively constructs its history and collapses it to one creature.

But there’s a teeny, tiny, catch.

That creature is fated to exist at the exact moment you meet it.

This is a constraint in my probability-collapse system. If you encounter a 60-year-old creature, it must have survived everything that happened during those 60 years. That creature might have already existed and been actively simulated in the world, or it might be collapsing into existence for the first time at the exact moment you encounter it, with its entire past being generated retroactively.

So the game generates decades of training, dangerous plant encounters, near-death experiences, and skill progression.

And if a survival roll determines that the creature should have died?

That timeline is ABROGATED.

The death doesn’t become part of the Canon. The creature survives because its existence at the moment of observation is already established.

But heres the funny part.

THE CREATURE STILL KEEPS THE XP FROM THE FAILED ROLL.

Which means it can gain experience from encounters that would have killed it in an alternate possible history.

And that got me thinking…

Could I find evidence of those rejected timelines by examining creatures’ stats?

So naturally, I started digging through my game’s save files like Sans Undertale investigating timeline anomalies.

AND I FOUND A SUSPECT.

Natural Great Tit.

An interface displaying the skills and experiences of a character named Natural Great Tit in a game, including skills such as Fighting, Foraging, and Learning, with experience points listed for each skill.

An otherwise unremarkable bird with 36 Escape Artist XP, despite having no relevant recorded survival events in its Canon.

Under the mechanics I’m investigating, this suggests the creature experienced a fatal encounter whose outcome was rejected because it was fated to survive. Specifically, in normal gameplay, encounters that grant Escape Artist XP ALL would generate survival events in the CANON when the creature successfully survives. Since this creature has Escape Artist XP without any corresponding survival events at level 0, that means that it failed a fatal survival check, but kept the XP from that rejected outcome anyway.

THAT MEANS THIS BIRD DIED IN A TIMELINE THAT NEVER EXISTED.

AND IT KEPT THE EXPERIENCE.

And so its name is also a dirty lie, its the least natural thing in the simulation! We spotted a jumper!

The especially ridiculous thing is that the “fate” protection only applies to the creature’s reconstructed past.

Once it actually meets the player?

All bets are off.

So a creature can spend sixty years being protected from death by fate itself, accumulating experience from discarded possibilities, only to immediately get eaten by a player-controlled flatworm.

I started out making a world simulator.

Somehow I ended up doing forensic investigations into alternate timelines.

heh, Natural Great Tit.

you’re gonna have a bad time.

A character resembling a skeleton stands in the center of a battle screen, surrounded by various ghostly figures and attack animations, with a red heart symbol indicating the player's health.

Though this mechnaic is not live in the current released version, you can download my game here: https://untrustedlife.com/pilgrimage/

Two Week Mini Devlog

I decided that since I haven’t put out a new update yet i should at the very least let you guys know how development has been going on Pilgrimage :3

It’s been about two weeks since the last update, and I’ve done a frankly stupid amount of work under the hood in that timeframe, but havent yet added something that would be immediaetly visible to players (aside from some UI changes) :3

As you know , if you’ve been following my devlogs, I’ve been heavily rewriting the encounter systems so reactions are less tied to King’s Sea III specifically and can eventually be reused across other modes. I also reworked a bunch of animation/log timing, cleaned up held-plant interactions, moved Wisdom fully into the attribute/XP system instead of it being an inviisble attribute like it was before. But in the last few days I also made XP scaling configurable, added a bunch of new creature vocalizations/sound effects, and rewrote how ghosts work over long periods of world history.

Ghosts now fade from relevance over time based on their TENACITY instead of every dead historical figure being equally likely to appear as one forever. TENACIOUS ghosts can stick around a lot longer, and extremely ancient ghosts can still very rarely remanifest.

I also made ghost encounters MUCH rarer. This was because in very haunted regions almost every encounter would be with a ghost, which is very silly. Now chances are changed by a factor of 100. So they are much rarer, but not as rare, as for example Shinies (Which do exist in my game, yes, you can encounter a shiny trout, or a shiny human or whatever (It uses pokemon odds :3, and you can also be born shiny :3) )

There are also a pile of smaller fixes, cleanup, ASCII art tweaks, encounter behavior changes, and CANON viewer improvements that ive mentioned in previous devlogs.

I also updated the website/itchio site with a new header art by @Grimwit

So, no new version yet. I want to keep working on it until there’s something a little more immediately visible to hang the next release on. But development has very much not stopped lol.

Plan is to further work on ghost adjacent things for the next bit while continuing my much more boring refatcoring work (It is spooky season after all…).

Squishes and Plops

Tonight I reworked how creature sounds work! Instead of having sound effects tied to specific lines of text like i used to, creatures now have their own lists of possible sounds. This makes it much easier to give them a bit more personality. I also added a bunch of new sounds. Wolves can now howl, the Grindylow can make some deeply concerning noises, and the Jeremys now have an assortment of squishes and plops.

I also worked on throwing. Throwing something at a creature no longer guarantees that it dies or runs away, there are rolls involved now, and sometimes a creature might find the you adorable and flee anyway.

Still plenty more to do..onward :3

Up ↑