Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API

From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
OK, I think Ive figured out how I want to implement the core of my game.
Basic idea. Everything is made of sigils. What is a sigil? Lorewise, a representation of a concrete idea. Mechanically, it's a container for one or more ingame effects.
Again, anything you can think of, be it mundane or arcane, is a sigil. Every object attribute and method that causes a mutation of the game world state is composed of either a single or a sequence of sigils, known as a signa. You can do abstraction and have one thing encapsulate others, all that good stuff.
We go turnbased because tabletop rules. In your turn, you choose what to do with the sigils available to you. Common stuff like walk, talk, crouch, attack, et cetera are available to everyone.
You choose which effects to use, keeping in mind that order matters, and these effects either clash against or boost each other according to internal rules. Any relevant environmental modifiers around you or status effects apply here as well. Theyre also made of sigils, so theyre just implicitly components of the spell.
Finally, we get the result. An aura. It is simply the aggregate of all the sigils, containing the final transaction that will be applied to the game world, with dicerolls, if any are needed, already performed.
So here's the crucial bit. We record the aura for each turn, taken by either the player or the game itself, which includes the sequence of sigils used. Because each of these are words, or a series of words, it can be used narratively.
Let me give you an example. You are in a swamp, you use your turn to move around. This gives you an aura like so.
src: player, location: swamp, status: ok, walk.
We push that to a stack the game can see.
Now the game has to take its turn, and will look at the stack to get ideas. So lets say this swamp hindered your movement, gave you some trouble getting around. This is noteworthy enough as it affected something in the game world, and theres nothing else going on, so its made into a topic. The game will now pay attention to it and make it available for talking about.
topic: swamp-slow on player-party.
Everything is sigils, remember? Speaking is an effect, as is giving you something to talk about. Adding a topic results in an aura, push that to the stack.
Maybe then the game decides have the players companion make a comment on this topic. OK, just pair speak with other sigils to make an expression. The current topic is simply about a single negative effect, so one or two should be enough for a comment.
Factoring in the companions traits, also sigils, and the fact that for now this only a minor annoyance, we end up with an aura.
speak: topic -> complain about.
Do you see where this is going yet? The spellmaker gives us the means for text generation. The key here is instead of processing natural language like a bunch of dumbasses we just have an array of structures meant specifically for this purpose.
Anyway, the player now takes their turn. They can keep silent and continue moving, or say something as well. So let's say you pick the speak sigil too because why not, the current topic is also available to you, so you can reply. Depending on what the last message (aura) was, you get a range of options, and why not, let's factor in the player's chosen traits as well.
speak: shutdown -> complain about topic DOT change-topic -> mcguffin-quest.
We're on a mission to recover some plot stuff so shut up.
This results in further state changes, albeit behind the scenes. Our companion isn't happy, and we have a sequence of structures to prove it. Actions taken in relation to a topic can be associated with it if they're deemed significant, id est they caused a mutation of the game world's state.
speak: remind -> topic-name.
Thats right. Companion dude WILL remember that, you son of a bitch, and you bet your ass hes gonna bring it up if you keep acting like youre his boss or some shit. You dont even pay him!
You may say its such a small thing, but it all matters in a story. So we keep track of it, see what we can make this branch off into once a little more time has gone by.
What do you mean crazy, Im a fucking patrician of tenebrous arcana. You solve the problem by not solving the problem, obviously. Fuck natural language processing, all my homies use Litechnics to make narrative-driven programmable representations of the human condition.
Further rules include breaking gameplay down into scenes and acts as if it were theatre, because why not, and having baddies cooking shit up behind the scenes. Mechanism for that is the same, read the current stack and output structured wordsoup based on it.
We can even have a chorus narrating.
Or an audience reacting lmao.
OH GOD.
BUT I'M SO FRIGGIN SLOW OF A DEV.
WHAT IF I DON'T LIVE LONG ENOUGH TO IMPLEMENT THIS?
SHIT.
WORST SHOULD COME TO PASS,
PLEASE AVENGE MY DEATH.
rant
def not crazieee