Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Making the XP Combat System Deeper

I'm not much of a scripter or sprite-maker, so I plan on using the basic system of combat for my RPG (aka: The provided one) unless something better and just as convenient pops up.
Now, here's the problem: The basic system is..... basic.

Can someone please help me to deepen the combat system of RPG Maker XP? So far, I've incorporated a light/heavy armour system (the latter giving more defence and magic defence but lowering agility severely) which I will balance accordingly, and I've made the weapons and armour available to each class extensive (AKA: you aren't restricted to just axes/swords/whatever, you get a wider selection).

The next thing I am planning: More strategic skills (for both characters and enemies)... but I'm not sure which direction to go with this. Can someone with experience with the system please give me some insight on what kind of skills should be added? My Monster character uses general damaging skills, with Berserk as an extra... but that's about all I've done with skills so far.

Thanks to whoever can help me with this.
 
I was wondering, are you just going to use the ratio per step thing to have a battle, a sprite walking around that tries to touch you and then you go into the battle, or something new? because that is also something people like to see in a game, some things can get boreing quick while others can hold a person's attention for hours.
 
@Unka Josh: Your advice is certainly helpful. I'll need to get a feel for it myself by practice, it seems.


@Zander: I'd certainly LIKE to do something interesting... but the question is, can I manage to? The walking into random encounters bit is the easiest, and I'd spice it up more by having less encounters but making them quite a bit tougher... Also, sometimes you'd get a special encounter, like a sub-quest, where you build up a rivalry with the Orc Captain who comes for you later, and that sort of thing.
With the monsters running at you thing, the only thing I'd be able to think of would be setting them to through and then having their move route set to "Towards Player" and "Repeat".... They'd end up walking through each other, walls, and chase you before they saw you in that case, though....

Does anyone know of any good systems for encounters I might want to use?
 
That is all fine and dandy, but the only problem with that is that you can't really spend alot of time and make your maps look good, and nice. You have to have so many maps that it's hard to put detail into your work, but it is up to you.
 
Re:  Monsters wandering around.  There's certainly other options out there-- it's not too hard to make an event-only detection system that compares the X and Y of an event with the player, and only makes them follow if they're close enough, or in front of the enemy, or whatever.  Likewise, custom move routes can be more interesting than just "Move towards player"-- an attacking enemy might turn towards the player, then charge 1 step forward five or six times in a row, letting an alert player dodge the attack, for example.
 
Zander":23qb0yq4 said:
That is all fine and dandy, but the only problem with that is that you can't really spend alot of time and make your maps look good, and nice. You have to have so many maps that it's hard to put detail into your work, but it is up to you.
?? I always put maximum detail into each area--that's what's going to be so great about my RPG. Pretty near to EVERYTHING can be looked at, everyone in your home town has a name and backstory (sometimes a side-quest) and everything will develop based on how you play the game (for example, if you do well in the school final exam, people will congratulate you--or make snide comments if they're the jealous type who doesn't like you).
The main trouble I might have, is that I have a limit of a 500x500 map for the world map. I'm not sure how big the world will end up, but I planned on it being pretty extensive.

Unka Josh":23qb0yq4 said:
Re:  Monsters wandering around.  There's certainly other options out there-- it's not too hard to make an event-only detection system that compares the X and Y of an event with the player, and only makes them follow if they're close enough, or in front of the enemy, or whatever.  Likewise, custom move routes can be more interesting than just "Move towards player"-- an attacking enemy might turn towards the player, then charge 1 step forward five or six times in a row, letting an alert player dodge the attack, for example.
I'm pretty new to this--so I'm afraid I don't really understand how to do that without a script or a lot of event-fixing...
 
I'm assuming that you'd need help with the "Detector" bit, instead of the move route, which is pretty easy.

So, here's a very simple, basic player-detector.  This one's very simple-- it activates if the player gets too close to the event.

This is a common event called "detector."  It's called by all events that use this system.

http://i234.photobucket.com/albums/ee103/UnkaJosh/DetectorEvent2.png[/img]

And here's a monster that uses the detector.

http://i234.photobucket.com/albums/ee103/UnkaJosh/DetectorEvent1.png[/img]

If you noticed, Detector, when the player gets close enough, activates Self Switch A.  This will activate the self switch of whichever event called Detector, which is a nifty shortcut.

Also note that this page of the monster event is Parallel Process, which is necessary if the monster's going to keep looking for the player.

Once Self Switch A is turned on, the monster event goes to page 2.

http://i234.photobucket.com/albums/ee103/UnkaJosh/DetectorEvent3.png[/img]

Page 3 is blank, with no graphic, so the monster stays dead once you kill it.
 
Unka Josh":2njrgzap said:
I'm assuming that you'd need help with the "Detector" bit, instead of the move route, which is pretty easy.

So, here's a very simple, basic player-detector.  This one's very simple-- it activates if the player gets too close to the event.

This is a common event called "detector."  It's called by all events that use this system.

http://i234.photobucket.com/albums/ee103/UnkaJosh/DetectorEvent2.png[/img]

And here's a monster that uses the detector.

http://i234.photobucket.com/albums/ee103/UnkaJosh/DetectorEvent1.png[/img]

If you noticed, Detector, when the player gets close enough, activates Self Switch A.  This will activate the self switch of whichever event called Detector, which is a nifty shortcut.

Also note that this page of the monster event is Parallel Process, which is necessary if the monster's going to keep looking for the player.

Once Self Switch A is turned on, the monster event goes to page 2.

http://i234.photobucket.com/albums/ee103/UnkaJosh/DetectorEvent3.png[/img]

Page 3 is blank, with no graphic, so the monster stays dead once you kill it.
Well, if that's all that has to be done, I guess I can do touchable monster events :D! Hmmm.... perhaps I might also do the walking into encounters thing, but I'd lessen it greatly. Maybe not. ...Yeah, I guess not unless the situation warrants it.
Thanks VERY MUCH for the scripts and whatnot :D!


....I'm wondering About temporary allies now. Aka: Four spearmen join you in your attack on the enemy general. I was thinking that they wouldn't be player controlled, but would instead follow AI. Know of anything that could accomplish this sort of thing?
 
re: makeing the world map,

you could always make a certain part in the story where the hero(s) must venture out to a diffrent world map, like on a boat out of a port-town.
(just an Idea)

As for the AI it would be complicated, and I am no scripter  :sad:, but It most definitly can be done, and it has been done in many ABS's. you will have to ask a scripter for that, Unka Josh may know  :shock: ( I think the touchable bit is very nice, but you will need some new monster sprites ( that walk around). The ones they give you every-one has seen so many times that they just want to turn off the game once it starts  :pissed:.
 
I'm no scripter, actually.  Well, I'm slowly learning Ruby, but this isn't scripting-- it's just event coding. 

How would adding allies work in this case?  Do you mean temporary party members?  If you want them to appear on the main map, moving towards enemies and neutralizing them, you're looking at a rather complex system of conditional branches.
 
That's a good point are you wanting them to show up as a battler sprite or what? and what exactly do you want to acomplish with them? lastly, If you could do this I would sugeest useing a catapillar script.
 
I'll take your advice with the world map thing, Zander. The whole 500x500 thing will be one continent filled with plenty of stuff. If I need to add more stuff than can be fit, I'll just have it that you need to travel to a different continent.


Well, I wanted this: Character: "Hey! Warrior NPC! We're going to kill the Evil Guy... you help!" Spearman: "Huh..? Sure... why not?" *Spearman join war band* *Battle Starts* You select the actions of each of your party members but not the spearman--battle commences. Monster A attacks, Character attacks, Character 2 and Monster B defend, Spearman attacks!

I want spearman and whatnot to join your party without taking up a character slot. Also, you wouldn't control them, they'd act on their own AI.

....Of course, if you could tell me how to set up a battle with non-player characters (aka: Soldier vsa. monster or villager vs. monster) I could do some pretty interesting things.


In dungeons, characters and soldiers follow you via caterpillar script (this would look very interesting when you get ten soldiers and three characters following you xD). Outside of dungeons (or inside dungeon safehouses), they hang around whatever area you are in (except the soldiers, they stay in one area of the town/whatever).
 
Y'know, I haven't had a chance to test this or try this out, but I thought of a way to do this...

Battle Events (Troops tab).  If the Spearman switch is on, periodically Show Battle Animation and Deal Damage for the Spearman's attacks.  You could use Show Picture to have the Spearman visible on the screen, too. 

If you do this, monsters won't be able to attack the Spearman normally... but you could make the script more complex, where monsters would have a chance of disabling the Spearman, perhaps depending on how injured they are.
 
Unka Josh":2lyvs58a said:
You can do some interesting things with just a few minor things, too-- my current project (It'll get finished some day, honest...) uses a system where I
a) Gave all attacks elements,
b) Eliminated the generic Attack option, and thus
c) Made all attacks cost SP,
d) Fully restored SP after every fight, and
e) Made SP recover partially with the Defend command, which I renamed "Rest."

It's different.

Awe man.  This was EXACTLY what I was going to suggest!  However;  I was thinking of Guild Wars when coming up with the idea.  They use a set amount of sp.  And some attributes raise it, but usually never above 300 sp (which would be 300%)  And it regains very fast, but every skill takes quite a bit of sp/energy so you MUST fight strategically, or you'll be left with nothing but defend.  However; in a turnbased system this is difficult, which is where Unka's rest idea is perfect.

Next:  I have tried quite a few different battle systems and this is what I've learned.  I have NO scripting experience, which even makes figuring out where to put spritesheets for sideview systems very difficult for me.  So I've never used a sideview system before aside from the basic demos.  I love ABS sytems, but they do limit some things depending on the game you're developing.

Blizz' ABS is a GREAT script for beginner game makers.  It requires no scripting experience, and comes with a separate program that allows you to customize EVERYTHING about the battle system with no experience necessary.  It's an automatic battle system, so you see your enemies on screen.  It also comes with a dash and sneak feature and they're fully customizable.  The hud is nice also.  I'd definitely check it out if I were you. 

Other than that...  If you want to avoid scripts completely then I'd try something new.  Maybe play with new gaming ideas.  I once developed a very extensive idea for an mmo that I WILL make at some point within my life (I'm sure everyone says that...) I planned on using a neat "bleed system"  that would make it so instead of using just hp, you had a blood meter that drained when you were wounded.  The lower it got, the more damage you took from attacks, along with becoming woozy, tired, draining your energy, and healing spells became less effective since they usually don't restore blood, but heal cuts and gashes.  Anyway... I decided that it would best suit a game like Age of Conan (Great mmo if you can see past the still pretty choppy release problems) Just an idea. 

I also really like the idea of changing sp to energy.  That way you can justify using a physical attack.  Good luck with this.
 
Hope I didn't offend anyone by not replying so long, I've been busy trying to implement this combat system.... but something hit me: How do I make it that your SP goes back to max after each random encounter? I can understand how you'd do it with a scripted fight, but scripts put in for encounters don't activate if set to go off after the enemies are dead. Do I just place a Parallel-Process event that heals the party's SP to full whenever they exit an encounter in areas where you get random encounters?
 
Alright... I thought that setting a variable to the player's max sp would work, but it turns out that you can't do that... or I just didn't see how while trying to figure this out for you.

What I would do is make all of your skills use a common event.  For this common event, make it turn a switch: (recover) on.  Then make another common event (recover) Set it to parallel with the condition the recover switch.  Then in that event, recover all sp.  Then under that, turn the switch off.

What that should do is make it so after every battle it'll recover your sp ONLY if you used a skill...  so hopefully no enemies use an sp drain attack or something because then unless you used a skill after, then you'd be stuck sp-less until your next skill.

Just an idea. Good luck, Conners.
 
No, actually I use a much, much simpler method.

Common event, Parallel Process, Switch 0001:  Game Started ON.

Recover All:  Party.

Parallel Process events won't run during a fight.  Thus, whenever the party isn't in a fight, the party recovers fully.
 
Well, beside the fact that recover all will also regain hp, this would work just fine.  I thought of this first, but i thought it would slow the gameplay down.  And it seemed that it was a very choppy way of doing it... but I guess it would work.  Good idea, Unka.
 
You'd be better adding:

Code:
for i in 0...$game_party.actors.size
  $game_party.actors[i].hp = $game_party.actors[i].maxhp
  $game_party.actors[i].sp = $game_party.actors[i].maxsp
end

In the initialize part of Scene_Battle, if I understand what you want right.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top