gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Game Design > RPG Typical Events

#17498 - ScottLininger - Tue Mar 09, 2004 5:10 pm

So I've been working on an RPG, and I've been trying to develop an exhaustive list of all of the engine-level "events" that can happen in a generic game. Anybody have suggestions? I'm trying to get a list that is broad enough to encompass 90% of your standard situations without being tied to a particular genre.

Here's my list so far:

First Enter Specific Space
Enter Specific Space
Stand on Space - (kind of like Mike's "tick" approach: fires every cycle)
First Use Item on Space
Use Item on Space
- (with an "item" being a generic concept that could include things like the PC's eyes or ears, or their ability to speak.)

First Enter Terrain Type
Enter Terrain Type
Stand on Terrain Type
First Use Item on Terrain Type
Use Item on Terrain Type

First Touch NPC
Touch NPC
First Use Item on NPC
Use Item on NPC


I'm not trying to create an engine that actually accomplishes everything at first try, but I thought that getting a complete list would make me aware of holes in my approach.

If you're in a more argumentative mood, then I'd also welcome examples of RPG events that the above list would NOT handle well. ;)

Thx,

Scott

#17516 - sajiimori - Tue Mar 09, 2004 7:55 pm

I wouldn't stress over it. Good code, like good prose, is all about revision. Don't be over-attached to your code -- write a throw-away version or two. You'll have a better product in the end.

Edit: I didn't realize who I was talking to! This is old news for you. ^_^

#18264 - sgeos - Tue Mar 23, 2004 6:12 am

I'd give every critter a counter attack function and pass anything that targets that critter through the counter attack function. That function can call the move or not. More of a random comment than a response, really. I'd start with objectives instead of features.

-Brendan

#20868 - keldon - Tue May 18, 2004 9:35 pm

No No, what you are doing is perfect, it will leave you with no surprises when creating the engine.

I'd love to give you my list I compiled years ago, it may still exist in one of my archives of old stuff I should have thrown out so I'll have to do a search and come back next week.

Anyway just play a game and look at the events that they respond to - - and that's half of your research done already :-)

Use item is very vague, rather use item in item state #x, that way walking into a guy will not kill him with your sword - - also directions aswell, for example many games hurt your player when you walk into the boss - - how thick is that ?!? unless he's made of acid of course.

But your events depend on what events count really ?!?

#20916 - sgeos - Wed May 19, 2004 8:00 pm

Perhaps a matrix/cube/hyper cube would be the best way to solve this?

Axis-A (Source Condition?)
Carry Item
Use Item
Have/use spell
Have/use ability
Have so-and-so in party
Have X cash on hand

Axis-B (Target?)
Enter Space
Leave space
Enter area
Leave area
Talk to NPC
Attack enemy
Kill enemy

Axis-C (Global settings?)
First Time
Nth Time
Global flag set
Global flag clear

The above is an example. One would conceivably want an event to trigger if the party attempts to leave the desert, has a character with heal3 is in the party at least 10,000 money. The event could be changed if one or more of the party members was dead at the time.

-Brendan