Gw Temp

Menu

Tutorial - 'Dream System' by Guest

An item about RPGMaker 2000 posted on

Blurb

How to create an excellent BG style dream system for your game, adding an overall level of realism and DARKNESS! WoooOOoooO!

Body

From the author of the Baldur's Gate Style Journal, I give you-

The Dream System

Ever thought, Gee, the inn system is pretty boring. All you ever do is go to sleep and wake up healed. What about dreams?

Yes, what about dreams? Dreams can be a huge part of a plot. Dreams can inspire heroes to start or continue their quests, while they can inspire villains to commit heinous crimes. Dreams can also be great entertainment, and a nice bit of comic relief for a very serious RPG. They can be incredibly meaningful, and utterly pointless. They can help your plot, or they can exist solely to amuse the players.

So what am I getting at, here? I'm going to teach you how to add a dream system into your game so that whenever your player goes to sleep at an inn, he has a chance of having one of potentially many dreams.

I'll warn you, this is a little advanced, so newbies to RM2k shouldn't try this before researching thoroughly on variables and forks.

First thing you need is maps. How many different types of dreams do you want? The maps are going to play the same scene every time they are visited, so my suggestion is to have a lot. It's a pain in the ass, I know, but it would seem fake if you only had 2 or 3, and the player kept getting the same dreams over and over again.

So decide how many dreams you want, and make a map for each. I made 6. So just name them what you will, and design them. Don't worry about any scripting yet.

Next thing you need- 2 variables. One named dreamchance, and one named diffdream. Now you need a bunch of switches. The one that's fixed is dreamon, but the rest of the switches depend on how many dreams you're having. Just have dreamstop1, 2, 3, 4 and so on.

Now you need an inn. Doesn't matter how you design it or who runs it. Pick a sprite to be the innkeeper and put this code into his event box thingy-

<>Msg- Want to rest?
<>Show Choice: Yes/No
:[Yes] Case
<>Change Switch : [????: dreamon]-ON Set
<>
:[No] Case
<>
:End Case
<>

Now you need to get into the Database and go to Common Events. Call this common event Dream Sequence, make it Parallel Process, and make the appearance switch "dreamon"

Here's the code for it-

<> Variable Ch: [????: dreamchance] Set Randm [1*15]
<>Fork Optn:Varbl[????:dreamchance]-10less ((Make sure this has an ELSE case))
/// This section determines the chances of dreaming. You can defenitely change this, to make it more or less probable. Or, if you want it to constantly happen, you can delete this entirely.///
<>Variable Ch:[????:diffdream] Set, Randm[1*6] ((Change 1 to 6 to fit however many dreams you want to have))
<>Fork Optn:Varbl[????:diffdream]-1
<>Teleport: ????:Dreammapname1 (???,???)
///This is the teleportation to the dream. There is no scripting for the dream in the common event. It's all in the map that you made. You can do whatever you want with it. You can give the player control of the hero, or you can take control and show them a little movie, using the move objects function and other things. Remember to have some kind of script going that will send you back to the inn, whether you have to have it triggered by an event, or what. Also, since they slept to get their health back, you should have a Full Recovery script in there too. You should make one of these for every single dream map you've got.///
<>
:End Case
<>
:Else Case
<>Flash Screen: (R00,G00 B00, V31), 6.0 sec (W)
<>Recover All Members
:End Case
<>Change Switch : [????:dreamon] OFF, Set

The else case basically heals your members without a dream. The flash adds a sleep effect. Just slide all the sliders until they're black, but put the power slider to the maximum. Wait until Done should be checked, and you can choose whatever time you want.

Now, you might want to add this Flash screen effect to all your other dreams, to make it look like the player fell asleep. What I did, is that I put an invisible event in each of the dream maps, on autostart, that flashed the screen black for 6 seconds. Then I used the dreamstop switches to keep the autostart from going.

That's pretty much all. I'm not gonna script out an actual dream for you, that you should be able to do yourself. Just program all the stuff happening in the dream into the map, and you should be fine. Just remember to have something trigger a teleport that sends you back to the inn fully healed. After all, you want the benefits of sleep as much as you want dreams, and I can't imagine the player would be happy about being trapped in a dream.

This script is open to anything. You can make entire games revolving around it. You can make items that allow you to stay in dreams, and they can be a major part of the game. Have fun with it.

If there are any problems with it, please let me know. Also, if there are any problems with it, and you've solved those problems, also let me know, so I can make the tutorial better. If you use this script, I would really appreciate credit, and maybe a link to Webspyderslair.com. Thanks, and I hope you make good use of this!

-The Spyder