Let me begin by saying [size=20pt]I am a writer, not a coder.[/size] I’m starting to work on learning C but for right now a lot of the things I say might be completely unfeasible in any short time span. I love dreams. I think they’re great; a lot of my writing is based off the idea of dreaming, the subconscious.
The system for dreams right now is entirely based off mutations- while this can produce some cool effects (what do these dreams mean?!?!) they’re only a tiny glimpse at the scope of what I feel we could do.
There are four main things that could improve it:
- A recurring element- everyone has one in their dreams
- Subconscious- things that happened semi-recently get inserted to form stories
- Lucid dreams- a trait, a random event
- Nightmares- effects morale; only happens when you dream about bad things, to certain degrees
But first we need a format for this- a way to give people a json to expand on it, or even just a way for the code to make dreams interesting.
How about dreams choose from a pool of sequences to start a dream—
A <thing1> appears! (1)
A <thing1> fades slowly into existence! (1)
You feel <emotion1> suddenly. (2)
For some reason, <emotion1> takes you. (2)
An uncanny feeling of <emotion1> hits, reminding you of <thing1> (3)
<specificthing1> appears! (4)
A <thing1> is forming. It will cause a/an <event1> (5)
From darkness, <specificthing1> appears before <selfevent1>. (6)
Everything makes sense! (7)
<event> (8)
You vaguely feel like a <thing1> (9)
You find yourself in a <place1> (10)
Every thing (monster or item) seen has a 15% chance of entering consciousness; things that appear 4-10 hours before sleep can appear in a dream. If there are no things, “shadow” appears.
Emotions are entirely random, from a pool customizable in a .json
Specific things are exactly the same as except handled differently in the scenarios. There will be lots of but few
Events are all manner of things; anything that happens to the world, makes a sound, dies, etc. I could give a detailed list if this is too vague. 2-5 hour wait period. If none, "
Self events can be anything that you do- moving, eating, attacking, taking damage, etc. Too vague? I’ll give a synapse of everything that can appear. 1-5 hour wait period. If none, “leave” appears.
Any map tile you’ve been in has a chance of appearing as a “place” if it happened about an hour before sleep. If there are no applicable places by luck, “dark place” appears.
(x) connects to the next scenario (x) in the dream- so anything ending with (4) can become any of the (4) dreams next. This means there is a TON to write. I’m up to it. I’ve got a lot of free time.
(1) It <selfevent1>s a <specificthing1>. (1)
(1) It <selfevent1>s a <thing2>. (2)
(1) It leaps at you! (3)
(2) You realize you feel <emotion1> because of <specificthing1> (4)
(2) You are filled with <emotion1> It is overwhelming. (5)
(2) You feel compelled to leave <place1> (6)
Again, I am willing to write all these formats. That’s what I’m here for. I just trust actual coders to maybe be able to implement it.
—1
Recurring element
When a character is created, we could give them some random jumble of things that happen. Maybe
0-3 things
0-2 specific things
0-2 emotions
1-2 events or ideas
0-1 self events
0-1 places
This will make them MUCH more likely to happen in a dream (even if they don’t enter their subconscious), giving players a familiarity with their character. Maybe they had a traumatizing memory of ???
—2
I covered this earlier, but basically–
All elements of a dream, aside from the recurring ones, are taken directly out of the game. This means if you fought a fungal bloom for a few hours and then went to bed much later, there’s a chance your dream will be FILLED with fungaloids. But if it’s too recent, and you’re still thinking about it, you’ll exclude them entirely. But you won’t forget the dead scientist you saw on the way there! Etc. etc.
—3
This is incredibly ambitious, and doesn’t need to be implemented to capture the idea.
But, in a perfect world–
Trait Lucid Dreamer
1 point
“You always feel like you can control your dreams. Some call it a blessing, some call it a curse.”
Instead of having these scenarios, you will wake up immediately- in a lucid, fake world that acts similarly to ours. Time is accelerated, so every action has a tiny chance to wake you up at some point in the nighttime (real world) But until then, you can move around and interact with your bedside place. No enemies appear, but you can pick up items, drive cars, explode things etc. If you die, you wake up immediately.
AGAIN, THIS IS A HUGELY SCOPED IDEA. DON’T ADD THIS UNLESS THE OTHER SYSTEM IS FLESHED OUT.
—4
Elements that we find scary- i.e. zombies, nether creatures, basically anything that is Hostile- if they appear in our dream, we lose a bit of morale upon waking up. Things like friendly blobs, or your dog, or an NPC, or eating a great meal, will improve it. Also, certain emotions will generically boost your morale when you wake up.
Might be hard to implement- in which case, skip it.
[size=15pt]That was a lot of stuff. Let me repeat- I know little about coding, so maybe this is all impossible. It probably is. But I’ve been waiting a long time to try to get this out. We have an amazing roguelike with so many elements- which, in turn, means we have huge possibilities for the subconscious.[/size]