Staredit Network > Forums > SC1 UMS Theory and Ideas > Topic: Elements of RPG
Elements of RPG
Jul 29 2024, 8:12 pm
By: MetalGear  

Jul 29 2024, 8:12 pm MetalGear Post #1



~ Elements of RPG ~

My first RPG was Oblivion RPG (2013), and for
some reason it became popular.

In this document, I'll review the basic tools and
main lessons from my journey of RPG design.
I'll also reveal some secrets about how I make
triggers perform complex calculations, like:


1) How to reference binary codes (useful when
I randomise big numbers of switches).


2) Create an efficient and accurate percentage
system with only a few triggers.


3) Convert large stacks of memory between
death counters in a single trigger cycle easily.



~ Recent lessons ~

1) Avoid economy options

For two reasons: economy affects the pace
of the game (should be set) and it removes
choice because players nearly always start
by choosing economy upgrades.


2)
Give Forges to players

Players want fast games without having to
travel to an upgrade building.


3)
Make heavy choices

It is best to give the player only a few choices
that carry weight, greatly impacting the game,
rather than many choices with small benefits.
This has a powerful psychological effect.


4)
Relinquish infinite power

Do not give players the possibility of attaining
infinite magic power. Make the spells big; not
spammable.

People actually do not like feeling invincible
or all-powerful.


5)
Block the middle

Do not give players the middle of the map. It
makes them feel too confident. Every story
needs a sense of danger. The middle of the
map should be restricted or dangerous,
and earned through reward.


6)
Deny access

Make the players feel contained. New areas
of the map should become available through
battle or story progress. This increases the
sense of reward.


7)
Element of surprise

Add the element of surprise to improve the
feeling of excitement. Every game needs this.

Surprising people can be done in many ways:


- Different story directions
- Give weak units random powerful spells
- Random rainstorm (affects gameplay)
- Make NPCs do random jobs or move around
- Give NPCs emotions and random responses
- Alternative paths to victory
- Day/night system with environment changes

8)
Logical items

Item menus should be logical and well-crafted.
For example, when choosing a battle item from
a list, ALL items should be worth choosing in
many situations.


9)
Disable spell-spamming

When players max out spells and magic power,
they incline to spamming all spells at the same
time. This makes battle look easy with heroes
overpowered. Adding a toxicity meter or some
type of disadvantage to spell-spamming might
improve this.

Alternative methods would be to make spells
cost a percentage of magic power and have
the player improve magic regeneration rather
than MP, allowing only 1 or 2 spells to be cast
at any given time. Or simply add a shared
cooldown for spells.


10)
Intricate storyline

Never underestimate the power or importance
of your story. Do not create a story to fit your
battle system. Take time, literal Earth time to
walk the earth and develop a story.


11)
Assist money

Even if it's just 10% money bonus, people really
enjoy the benefits of assisting allies. Think also
about Assist XP.


12)
Different resource types

Adding different resources increases the depth
of a game significantly.

It also creates a mystery and the need to learn
how the resource types are different from each
other in value and how shopkeepers treat them.

(Some resources use curve-graphs to depict
cost to property values.)


13)
Auto-stats

Players do not want to mess around with the
unexciting job of adding small attribute points.
It is best to offer a choice of Battle Class at the
beginning of the game that improves attributes
automatically.


14)
Auto-equip

Add an auto-equip system that automatically
equips the most expensive items. Allow the
player the option of manual control so they
have a choice.

Anything that speeds up the game or makes
people feel protected is a good thing.


15)
Danger zones

Make some extremely dangerous areas so that
players don't get too confident. Sustain a sense
of danger throughout the game and promise a
big reward.

Give very high bounties for killing big and strong
enemies and increase their rarity. It will excite
players to find these big-bounty units and they'll
want to kill them. This provides a sense of game
mastery.

Also, you can provide these beasts with a 25%
chance to drop a valuable item. Make this item
attainable on the first or second kill to educate
the player.


16)
Power increments

Gaining power must be big and slow, to enhance
the sense of reward. Motivate the player for big
opportunities.



~ Dimensions of progress ~

The difficulty of a game should be ranged from
easy to hard across multiple dimensions.

Strategy types can include:


- Logic puzzles
- Battle decisions
- Knowledge of sociology (NPC choices)
- Sneakcraft (sneaking past guards)
- Memory of timing
- Building defence in a town
- Economic decisions
- Versing NPCs at a quiz show
- Battle Arena challenges
- Running a shop or business
- Chatting to bar girls
- Decrypting a message or secret language
- Winning a game at a casino



~ Referencing binary codes ~

When using Randomise Switch, this is a binary
system. It provides 1 of 2 results:
set or clear.

Example #1

If you only have 4 results to randomise, that's
easy, right?


Result 1
Switch 1: set
Switch 2: clear

Result 2
Switch 1: clear
Switch 2: set

Result 3
Switch 1: set
Switch 2: set

Result 4
Switch 1: clear
Switch 2: clear

You can program these in any order. And you
know this. You also know that every time you
add a Switch, it doubles the results.

1 Switch = 2 Results (set / clear)
2 Switches = 4
3 Switches = 8
4 Switches = 16
5 Switches = 32
6 Switches = 64
7 Switches = 128

Imagine that you want to program
7 Switches
with
128 outcomes. How would you remember
which sequences you have already programmed?
You need a system to identify these results.

Here it is...

Switch / Value

1 = 1
2 = 2
3 = 4
4 = 8
5 = 16
6 = 32
7 = 64

To reference a sequence, start from the highest
number and work down. Make sure all switches
are Clear.


Example #2

To reference Sequence #13, start from Switch 4
with a value of
8 (Switch 5 has a value of 16; too
high) and
set this switch. Switch 3 is next, has a
value of
4. 8 + 4 = 12, fits into 13. Set the switch.
We need the value
1 from Switch 1 to complete
13, so go ahead and set the switch.

Sequence #13

Switch 1 = set
Switch 2 = clear
Switch 3 = set
Switch 4 = set
Switch 5 = clear
Switch 6 = clear
Switch 7 = clear



~ Fast percentage ~

Okay, hopefully you're keeping up with me. Now,
suppose you have a spell or number of spells,
that when cast, have a specific % chance of
killing an extra unit or something else. You
want an immediate function that provides a
random value from
0 to 100.

In relatively the same way that I showed you
the binary reference (using switches to depict
values), we can perform a function at the start
of every trigger cycle to randomise and convert
any number of switches to values (increasing
by double each switch) and then adding these
values to a death counter for a random number.

Here's how...

10 switches provides 1024 results. Right?


Switch 1 : randomise
If Switch 1 is
set , add 1 to Percent (DC)

Switch 2 : randomise
If Switch 2 is
set , add 2 to Percent (DC)

Switch 3 : randomise
If Switch 3 is
set , add 4 to Percent (DC)

...all the way to Switch 10.


Switch 10 : randomise
If Switch 10 is
set , add 512 to Percent (DC)

Obviously the system renders a value anywhere
from
0 to 1024.

So when you use the condition in your spells,
divide by 10 hypothetically, this will give you
a value very close to an exact percentage.

If your spell requirement is
15%:

1024 x 0.15 = 153.6

If
Percent is at most 154 (rounded up);
Perform special event.



~ Converting memory ~

In every game you create, ALWAYS (please, do
this) create a death counter called
Memory.

You will be able to use this
death counter
anywhere in your triggers, because you'll
set its value back to
0 after every use.

Why am I telling you this?

Let's suppose you have an attribute for your
hero called
Guard. You can accumulate up to
100 points in Guard.

Each point of Guard attribute provides some
benefit to your hero, and at some point in the
game, you need to copy and paste the value
of
Guard points into another death counter
whilst preserving the original value in Guard.

Remember how 7 switches provides 128
values?


Trigger #1
If Guard is at least 64 ;
Subtract 64 from Guard ;
Add 64 to Memory ;
Add 64 to Death counter ;


Trigger #2
If Guard is at least 32 ;
Subtract 32 from Guard ;
Add 32 to Memory ;
Add 32 to Death counter ;

Do this all the way down to value 1. You
should have 7 triggers. Now, every single
Guard point has been converted to Memory
and Death counter.

Now do the opposite combination of 7
triggers to empty Memory and restore Guard.


Trigger #8
If Memory is at least 64 ;
Subtract 64 from Memory ;
Add 64 to Guard .


Post has been edited 1 time(s), last time on Jul 30 2024, 4:09 am by MetalGear.



None.

Aug 15 2024, 9:38 am Oh_Man Post #2

Find Me On Discord (Brood War UMS Community & Staredit Network)

Awesome topic. Here's what I'll add:

Quote
1) Avoid economy options

For two reasons: economy affects the pace
of the game (should be set) and it removes
choice because players nearly always start
by choosing economy upgrades.
Another way to say "Given the opportunity, players will optimize the fun out of a game." If given choice between fun option and efficient option, players often will go for the efficient option at cost of fun. That's why it's important to make meaningful properly balanced choices (no easy matter).

Quote
4) Relinquish infinite power

Do not give players the possibility of attaining
infinite magic power. Make the spells big; not
spammable.

People actually do not like feeling invincible
or all-powerful.
I would add that you can do this sometime but only in short bursts. Players want to be challenged and if they get god mode / massive damage they aren't challenged and stop having fun.

Nox is a good example of doing this right. You spend the whole game hunting for four pieces to assemble the legendary Staff of Nox. Once you finally have the staff, for a brief moment you wield massive power and huge waves of enemies come at you, which would easily snuff you out previously, but because you have the staff, you annihilate them all, and it is awesome fun. But then you lose the staff and the game continues at your previous power level.

Another example is the end of Half Life 2, your gravity gun gets supercharged and the music kicks in and you are just an absolute god picking up soldiers and ragdolling them across the room.

So it can be done but save it for climax moments and don't let it outstay its welcome and bore the player.

Quote
5) Block the middle

Do not give players the middle of the map. It
makes them feel too confident. Every story
needs a sense of danger. The middle of the
map should be restricted or dangerous,
and earned through reward.
I am curious to know your reason for this. I get the idea of having some area that you can never get to until the very end (Labrinyhtos RPG map does this well, you always see this walled off area in zone 1 but it's not until the very end of the game where you unlock the air unit and can fly over the wall and finally see what's inside)...

...but why specifically does it have to be the MIDDLE?

Quote
7) Element of surprise

Add the element of surprise to improve the
feeling of excitement. Every game needs this.
I always remember fondly a great moment in the game Dead Space. Elevators are always a safe space, you can finally relax and catch your breath as the game loads the next level while you're in the elevator. But at one time in the game, a zombie actually jumps out of a vent while you're in the elevator, causing you to shit your pants.

To generalise/summarise that, a good way to surprise the player is train them to expect something (eg. the elevator is always safe), and then, when they least expect it (mid or late game when the expectation has become engrained) suddenly break that 'rule' (zombie jumps you in the elevator).

Quote
10) Intricate storyline
Never underestimate the power or importance
of your story. Do not create a story to fit your
battle system. Take time, literal Earth time to
walk the earth and develop a story.
Many games can be made without story, just look at Super Mario Bros it has basically no story (your princess is in another castle). I think fun factor is more important than story, but of course if you can have your take and eat it to then hell yes.

I will say, good story is what elevates games from simple entertainment to works of art, imo. Having fun is all well and good, but actually reaching someone on an emotional level will create a whole new bond with your game/map.

Writing a story especially a good one also is its own entire genre. There's so much that goes into crafting a story that saying "make a good story" is hardly helpful advice. It's no easy feat or simple matter. So many Hollywood movies today even with millions of dollars and whole writing staffs still struggle to consistently make good stories.

Quote
13) Auto-stats
Players do not want to mess around with the
unexciting job of adding small attribute points.
It is best to offer a choice of Battle Class at the
beginning of the game that improves attributes
automatically.
I don't know about this. Many games use attribute points for a reason including massive franchises like Diablo. I think attribute systems are appealing because they give players the ability to fine tune their builds. I do agree that it can be boring in the long run though. I think this is why D4 now toys with "paragon boards" where they've essentially turned attribute point spending into its own little minigame where you have to chart a route through an attribute point maze.




Aug 21 2024, 12:01 pm Oh_Man Post #3

Find Me On Discord (Brood War UMS Community & Staredit Network)

I thought of another cool idea while I was taking a dump at work today:

Bosses with one kill moves are a bit annoying to fight against. Most boss fights are learn the bosses patterns, then win. And until you do that, you get killed a lot.

So instead to make it a bit more enjoyable and smooth out this learning curve a bit, do something like this:

0 - boss fight starts
1 - First time you get hit by bosses one hit kill attack, only do ~25% damage
2 - second time, do ~70% damage
3 - third time, one hit kill!

By giving the attacks a charge up period players can still learn the patterns but with less deaths and having to restart from scratch.

You could also then slowly erase this charge up period after subsequent attempts if you want the tutorial period to last only a short while but that could result in things like save scumming by players so they can stil have the easier fights so be wary of that.




Aug 21 2024, 8:41 pm Ultraviolet Post #4

We do a little trolling

Quote from Oh_Man
while I was taking a dump at work today

Unnecessary information :unsure:



My Projects:

Impossible Ultraviolet | Impossible UV 2 | Impossible UV 3
Mercenaries 2020 | Mercenaries III
Squad Defense

Legacy Projects (No guarantee of functionality in modern SC):

Pixel Adventure 2 | Space Snipers | Control the Ball

______________________________________________

Join me in Torn City

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[11:45 pm]
ClansAreForGays -- Anyone wanna played Skewed StarCraft?
[2026-4-14. : 12:07 am]
Vrael -- NudeRaider
NudeRaider shouted: Vrael ranting still is though
you're a gentleman and a scholar, thank you
[2026-4-13. : 10:07 pm]
NudeRaider -- ya why phone people when you can just write letters
[2026-4-13. : 9:37 pm]
IskatuMesk -- I have never and will never own a phone
[2026-4-13. : 9:15 pm]
NudeRaider -- Vrael ranting still is though
[2026-4-13. : 9:14 pm]
ClansAreForGays -- anticapitalism isnt edgy anymore
[2026-4-13. : 3:31 pm]
Vrael -- it only costs 50% of my post-tax salary for life and in return I get to also become a drone whose sole purpose is CAPITALISM
[2026-4-13. : 3:30 pm]
Vrael -- pssht, you're still using a phone? I just record 100% of my life using my ElonBrainChip
[2026-4-13. : 2:13 pm]
NudeRaider -- bro I don't go anywhere without my phone to record anything significant
[2026-4-13. : 1:28 pm]
Vrael -- Zoan
Zoan shouted: not if u wer there
id say even if you were there its tricky, human memory can be very faulty
Please log in to shout.


Members Online: l)ark_ssj9kevin, Zycorax