Gw Temp

Menu

Tutorial - 'Hero Mood System (Part I)' by Mateui

An item about RPGMaker 2000 posted on

Blurb

In this first part, learn how to create an Independent Hero Mood System in Rm2k.

Body

Hero Mood System (Part I)
By: Mateui

This tutorial will teach you how to make an Independent Hero Mood System (HMS) in RPG Maker 2000. What is an HMS? Will, I guess that I have to tell you, by showing its features.

Features:
- A Hero Mood System is exactly what the name implies. This system will give your character(s) a greater personality by giving them various moods and reactions depending on the mood they are in. For instance, if Maria is “mad” at the current moment, and she talks to a villager, she will be more mean and rude than she is at her “happy” state.

- Custom Create different “states” for your characters. Change the number of states, and what they are called at your own will.

The next two features are the opposite of each other so you must choose only one of them to include in your Hero Mood System.

1) Dependence System: The player can change the Hero’s mood state at will. By using a menu he can change the Hero from an angry mood to a happy one. (FEATURED IN PART II)

2) Independence System: The player has no or very little control over the Hero’s emotions or mood. He cannot change the mood by the use of a menu.

Have you chosen yet? Dependent or Independent? Your choice will greatly affect how your game will be played, as it will give you or the player more control of the game. Let’s get moving. (Note: the Dependent System will be located in the second part of this article series.)

Independent Hero Mood System:
(Ok. Just to let you know, both Dependent, and Independent Mood Systems will look really nice if implemented into a CMS. However, if you do not have the time or ability to make a CMS yourself, you can make a show choice menu in order to view and change mood states easily.) (Also, I am using Emperor Evil’s latest Patch, so some of the coding may look different to you.)

Before starting, decide on a number scale that will determine your Hero’s mood. For example, this is how I use the one found in this tutorial.
- Angry (0 – 20)
- Sad (21 – 40)
- Content (41 – 60)
- Happy (61 – 80)
- Ecstatic (81 – 100)

------------------------------------
- Open up RPG Maker 2000.
- Open up the Database (F8).
- Go into the Common Events tab.
- Common Event #1
- Name it: “Hero Mood.”
- Event Start Condition: “Parallel Process.”
- Double-click on the blank space under “Events Commands.”
--------------------------------------

Okay. Here comes the coding!
(NOTE: (“>=” means greater than or equal to, and “<=” means less than or equal to.)

---------------------------------------
<>If Var(0001:Hero Mood)0(>=)
<>If Var(0001:Hero Mood)20(<=)
<>
:END CASE
<>
:END CASE
<>
----------------------------------------

Ok. Got it? If not, then I’ll explain a little. You have created two forks, one of them being embedded in the other one. What this will do is check if both statements are true. If they are, something special will happen. We are going to add this in now.

-----------------------------------------
<>If Var(0001:Hero Mood)0(>=)
<>If Var(0001:Hero Mood)20(<=)
<>Change Switch: Var[0001:Angry]Switch ON
<>
:END CASE
<>
:END CASE
<>
------------------------------------------

Nothing too special, but it works! ^_^! Now, we are going to make the rest of the mood changes. There’s a lot of work involved! Ready... go!

------------------------------------------
<>If Var(0001:Hero Mood)0(>=)
<>If Var(0001:Hero Mood)20(<=)
<>Change Switch: Var[0001:Angry]Switch ON
<>
:END CASE
<>
:END CASE
<>If Var(0001:Hero Mood)21(>=)
<>If Var(0001:Hero Mood)40(<=)
<>Change Switch: Var[0002:Sad]Switch ON
<>
:END CASE
<>
:END CASE
<>If Var(0001:Hero Mood)41(>=)
<>If Var(0001:Hero Mood)60(<=)
<>Change Switch: Var[0003:Content]Switch ON
:END CASE
<>
:END CASE
<>
<>If Var(0001:Hero Mood)61(>=)
<>If Var(0001:Hero Mood)80(<=)
<>Change Switch: Var[0004:Happy]Switch ON
:END CASE
<>
:END CASE
<>
<>If Var(0001:Hero Mood)81(>=)
<>If Var(0001:Hero Mood)100(<=)
<>Change Switch: Var[0005:Ecstatic]Switch ON
:END CASE
<>
:END CASE
<>
-------------------------------------------

Ok. Now you have all the moods set in. Great! Almost done! But wait! A problem! Oh No! Look what would happen if your Hero was Happy, but then turned Mad? Yes, you would have both moods set on the ON position. Let’s fix that now.

--------------------------------------------
<>If Var(0001:Hero Mood)0(>=)
<>If Var(0001:Hero Mood)20(<=)
<>Change Switch: Var[0001:Angry]Switch ON
<>Change Switch: Var[0002:Sad]Switch OFF
<>Change Switch: Var[0003:Content]Switch OFF
<>Change Switch: Var[0004:Happy]Switch OFF
<>Change Switch: Var[0005:Ecstatic]Switch OFF
:END CASE
<>
:END CASE
<>If Var(0001:Hero Mood)21(>=)
<>If Var(0001:Hero Mood)40(<=)
<>Change Switch: Var[0002:Sad]Switch ON
<>Change Switch: Var[0003:Content]Switch OFF
<>Change Switch: Var[0004:Happy]Switch OFF
<>Change Switch: Var[0005:Ecstatic]Switch OFF
<>Change Switch: Var[0001:Angry]Switch OFF
:END CASE
<>
:END CASE
<>If Var(0001:Hero Mood)41(>=)
<>If Var(0001:Hero Mood)60(<=)
<>Change Switch: Var[0003:Content]Switch ON
<>Change Switch: Var[0004:Happy]Switch OFF
<>Change Switch: Var[0005:Ecstatic]Switch OFF
<>Change Switch: Var[0001:Angry]Switch OFF
<>Change Switch: Var[0002:Sad]Switch OFF
:END CASE
<>
:END CASE
<>
<>If Var(0001:Hero Mood)61(>=)
<>If Var(0001:Hero Mood)80(<=)
<>Change Switch: Var[0004:Happy]Switch ON
<>Change Switch: Var[0005:Ecstatic]Switch OFF
<>Change Switch: Var[0001:Angry]Switch OFF
<>Change Switch: Var[0002:Sad]Switch OFF
<>Change Switch: Var[0003:Content]Switch OFF
:END CASE
<>
:END CASE
<>
<>If Var(0001:Hero Mood)81(>=)
<>If Var(0001:Hero Mood)100(<=)
<>Change Switch: Var[0005:Ecstatic]Switch ON
<>Change Switch: Var[0001:Angry]Switch OFF
<>Change Switch: Var[0002:Sad]Switch OFF
<>Change Switch: Var[0003:Content]Switch OFF
<>Change Switch: Var[0004:Happy]Switch OFF
:END CASE
<>
:END CASE
<>
----------------------------------------

Ok. I believe that this is all. Still confused how this works? I’ll explain. Obviously, the “Hero Mood” variable raises and drops according to specific actions. If it drops to a certain point, the mood of the Hero will change. Every mood switch will turn OFF, but the current mood will turn ON. That’s basically it. I’ll get to the implementation now.


Implementation: Using the Independent Hero Mood System in your Game:

You’ve got the coding done, but now what? You’ve really have nothing until you actually use it in your game. Obviously, using the Independent Hero Mood System is different if you have a CMS.

With your own Custom Menu, you will actually be able to see what mood your main Hero is in. Without it, you will not, unless you take the time to prepare something that will tell the player what mood is currently ON. I’m not going to get into that but I am sure that you will be able to figure it out on your own. (I’m not your mother, am I? ^_^)

Do you want dialogue choices to effect the player mood? If so, then that should be easy to perform. Basically, if an NPC asks a question, you can give the player 4 different ways to respond. Let’s look at an example:

QUESTION:
“Can you help me find my lost sheep?”
CHOICES:
- Sure! I’d be glad to help!
- Ok, why not?
- Get Lost #!#&*
- ...

Now this is what would happen. If the player chose the first choice, then you could a “Change Variable” command raising the Hero Mood by, let’s say, 20. For the second choice, 15, for the third, -20, and for the last, -5. You can even go specifically into a specific mood by turning all the mood switches OFF, and then turning one ON.

See. You have total control of the Hero’s mood according to their choices (As well as your own.) To make you game even more non-linear, in a way, is to change the NPC’s behavior according to the player’s mood. Think about it. The Hero is in a mad mood. The NPC, knowing this, would also likely be mad, or in a defensive state. If the Hero was in a Happy mood, then the NPC would also be cheerful, and as a result, would give the player a ticket to a festival being held next week. This way, the NPCs would not seem to be static characters, as they would react to your choices and mood.

Conclusion:

Do you see the possibilities? With just one system, you could have a totally unique and memorable game! Be free to use this, as long as you give me some credit. (I worked hard to make and write this...) Change some things around, such as the mood states, and variable numbers.

Hope that this has helped you. Later!

-Mateui