Combat Systems

Forum for the creative side of the game development process: art, music, storyline, gameplay, concepts, etc. Any sort of relevant discussion is welcome here.

Moderator: PC Supremacists

Post Reply
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Combat Systems

Post by trufun202 »

I'm developing an action / adventure RPG, and I'm gearing up to developing the combat system. My goal is to implement something that's high-flying / hack-n-slash, like God of War or X-Blades. I've got a few ideas on how to implement this, but I'm interested in hearing other people's implementations.

So, if you've found any articles on realtime combat systems, or if you wanna share your own ideas, lets hear it.
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Combat Systems

Post by Falco Girgis »

Hey, I got your personal message a few days ago on the subject. Sorry that I haven't responded. Since our last video, I've been absolutely swamped with personal messages (most of which are just noobs saying "i wnt 2 mayk games"). I've been devving all night. I just woke up laying on the floor, haha.

I had a rather unique system worked out for when we were planning on an action RPG as well. I'll share the details with you tomorrow. We've decided to switch to a more Chrono Trigger-y combat system for our project, so it's not going to be used.
User avatar
dejai
Chaos Rift Junior
Chaos Rift Junior
Posts: 207
Joined: Fri Apr 11, 2008 8:44 pm

Re: Combat Systems

Post by dejai »

Wow another rpg? Why is it so generic? Make it interesting. If you can honestly say its like nothing you have ever seen that would be awesome. Originality is the key. Generics are so boring. Last thing I want to do is play another rpg with another story about an antagonist and protagonist and a bunch of characters in between. I enjoy original story, original ideas. Still good work on the coding side of life if your skilled enough to make the god of wars combat system I applaud you.
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Combat Systems

Post by Falco Girgis »

. . . What?

Okay, first of all. He didn't go into any specifics about his RPG. Your rant about being generic is based on... nothing? And if an RPG really did implement a God of War style combat system, that would be far from generic. That's never been done before.

Back on topic.

I'm all about the philosophy behind why games are fun. Why is God of War fun? It's the way that you wreak havoc, obviously. It's the huge array of combos, the way that player feels as though they're inflicting serious damage, and the arsenal of different and interesting ways to kill things.

Now what makes other games that try for the same action-based combat suck? Usually it's because they become button mashers of some sort. There aren't enough moves to really go crazy with, and there aren't enough reasons to be using these different moves. So the player just hits buttons.

I call designing an action based combat system risky business, personally. If you screw up, you really screw up. It could go from being an epic, kick ass, action packed murder fest to being mindless killing by pushing the A button over and over. It's infinitely harder to screw up a turn based combat system. Look at Poke'mon. It's tried and tested, and it works.

That being said, we both (at least I was) were going to be using this style combat for an RPG. My idea was to add another level of customization. I wanted the player (based on class/job, level, a "scroll" he found, whatever) to learn different moves. Maybe a fast right jab, a slow and powerful left kick, a heavy left punch, an uppercut, whatever.

These moves have different point values. These values are for how much of your combo they take up. Say at level 5 you're allowed a 5 point combo. The player can assign these attacks to buttons and string them together one after another until the allowed points have been used up. Then you have to start a new combo.

It got quite a bit more intricate than that, but I'm sort of fuzzy on everything that we planned. This was towards the birth of our project, before we opted to go with a more traditional combat system.
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: Combat Systems

Post by trufun202 »

dejai wrote:Wow another rpg? Why is it so generic? Make it interesting. If you can honestly say its like nothing you have ever seen that would be awesome. Originality is the key. Generics are so boring. Last thing I want to do is play another rpg with another story about an antagonist and protagonist and a bunch of characters in between. I enjoy original story, original ideas. Still good work on the coding side of life if your skilled enough to make the god of wars combat system I applaud you.
Yeah, I hear ya...trust me, I do. But honestly, this project is just as much about learning than it is creating a solid game that everyone loves. I went with an RPG for several reasons:

1. Its a remake of a classic game that deserves a update (imo).

2. The gameplay and environment lends itself quite well to learning 3D game programming. For example, working with Heightmap-based Terrain and RaySceneQueries is a good starting point. It gets the programmer familiar with 3D geometry, Vectors, and the concept of a Scene. And by the time you've got those complete, you've got yourself an object with collision detection that can run along the terrain.

3. There's plenty of reference material to pull from - like the original 8-bit game and similar modern-day games. Thus allowing me to focus on what I need to learn to make progress, rather than designing play mechanics.

I'm playing the role of artist, animator, and programmer on this project. Because of the reasons above, I've been able to make huge progress and learn ALOT over the past few months.

In all likelyhood, this project is preparing me for my next 3D gaming project. :oops:
GyroVorbis wrote: Okay, first of all. He didn't go into any specifics about his RPG. Your rant about being generic is based on... nothing? And if an RPG really did implement a God of War style combat system, that would be far from generic. That's never been done before.

Back on topic.

I'm all about the philosophy behind why games are fun. Why is God of War fun? It's the way that you wreak havoc, obviously. It's the huge array of combos, the way that player feels as though they're inflicting serious damage, and the arsenal of different and interesting ways to kill things.

Now what makes other games that try for the same action-based combat suck? Usually it's because they become button mashers of some sort. There aren't enough moves to really go crazy with, and there aren't enough reasons to be using these different moves. So the player just hits buttons.

I call designing an action based combat system risky business, personally. If you screw up, you really screw up. It could go from being an epic, kick ass, action packed murder fest to being mindless killing by pushing the A button over and over. It's infinitely harder to screw up a turn based combat system. Look at Poke'mon. It's tried and tested, and it works.

That being said, we both (at least I was) were going to be using this style combat for an RPG. My idea was to add another level of customization. I wanted the player (based on class/job, level, a "scroll" he found, whatever) to learn different moves. Maybe a fast right jab, a slow and powerful left kick, a heavy left punch, an uppercut, whatever.

These moves have different point values. These values are for how much of your combo they take up. Say at level 5 you're allowed a 5 point combo. The player can assign these attacks to buttons and string them together one after another until the allowed points have been used up. Then you have to start a new combo.

It got quite a bit more intricate than that, but I'm sort of fuzzy on everything that we planned. This was towards the birth of our project, before we opted to go with a more traditional combat system.
Sweet, thanks duder. Agreed, turn-based is way easier to implement, control, and balance.

For my realtime combat system, I'm thinking I'll create a mathematical "cone" that follows the player's sword swing. This will be used for collision detection. The cone can increase in size with the size and strength of the weapon. If the cone collides with an enemy, then I can evaluate stats, hit/miss, etc. And, based on the hit strength / direction of the swing, I send the enemy flying.

The fun part is going to be integrating a combo system. So, thinking back to the Killer Instinct days, I'll have a series of actions that quality as "Openers." These will be following by a "Linker" and a "Finisher." Completing each stage of the combo is based on a timer and the collision detection.

We'll see how it goes. I'm gonna wrap up my research on Lua-based quests and then I'll take a stab at combat.
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Combat Systems

Post by Falco Girgis »

Speaking of "Lua based quests," have you found any useful articles on the matter? If you don't mind posting them, I'd love to take a look.
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: Combat Systems

Post by trufun202 »

GyroVorbis wrote:Speaking of "Lua based quests," have you found any useful articles on the matter? If you don't mind posting them, I'd love to take a look.
I haven't, but I think I'm going to be able to do most of my quests using Tokens or Items. I consider an Item something that can be seen in the player's inventory. A token is something system level, that the player has no concept of - but the scripts can check against it...

So...for Item-based quests...

Code: Select all

if player.IsTalkingTo("SomeNPC") and player.HasItem("letter") then
    ShowTextBox("Thanks for the letter, please take this potion!")
    player.RemoveItem("letter")
    player.AddItem("potion")
end
and for Token-based quests...

Code: Select all

if player.GetKillCount("snake") > 15 then
    player.AddToken("snakeskilled")
end

if player.IsTalkingTo("AnotherNPC") and player.HasToken("snakeskilled") then
    ShowTextBox("Thanks for killing all those snakes for me!")
end
Dunno if that helps, but thats my idea so far. :P
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
User avatar
dandymcgee
ES Beta Backer
ES Beta Backer
Posts: 4709
Joined: Tue Apr 29, 2008 3:24 pm
Current Project: https://github.com/dbechrd/RicoTech
Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
Programming Language of Choice: C
Location: San Francisco
Contact:

Re: Combat Systems

Post by dandymcgee »

I know it was directed toward Gyrovorbis, but that looks good! I thought it was funny because I just implemented a textbox into my "game", and the function name to call it from lua is showtextbox() :P. I'm actually still deciding on how exactly how to handle it.. as a matter of fact I think I'll go make a new topic for that question right now. :mrgreen:
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches! :twisted:
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Combat Systems

Post by Falco Girgis »

Hey, trufun, that looks exactly as I was planning on doing it. Good, I feel assured now. :D
User avatar
dejai
Chaos Rift Junior
Chaos Rift Junior
Posts: 207
Joined: Fri Apr 11, 2008 8:44 pm

Re: Combat Systems

Post by dejai »

I am sorry for my comment earlier I was wrong. I did read through your post the words, "high-fly and action / adventure RPG" and I thought it would be better to get you to think more imaginatively. Game creation is a form of self expression just as much as it is a technical challenge if not more. By letting your imagination run free in the streams that are appropriate and achievable without getting to ambitious you could make a respectable quality product. Again sorry for my previous comment, the moral of the story "Be Original". Thanks.
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: Combat Systems

Post by trufun202 »

dejai wrote:I am sorry for my comment earlier I was wrong. I did read through your post the words, "high-fly and action / adventure RPG" and I thought it would be better to get you to think more imaginatively. Game creation is a form of self expression just as much as it is a technical challenge if not more. By letting your imagination run free in the streams that are appropriate and achievable without getting to ambitious you could make a respectable quality product. Again sorry for my previous comment, the moral of the story "Be Original". Thanks.
No worries, I hear ya. 8-)
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
User avatar
MarauderIIC
Respected Programmer
Respected Programmer
Posts: 3406
Joined: Sat Jul 10, 2004 3:05 pm
Location: Maryland, USA

Re: Combat Systems

Post by MarauderIIC »

The thing with tokens is it can get to be a big huge mess. Say you add on to a quest, but the next # token is taken. Or say you have 100 quests with 5 steps each. Ugh *shiver*

I've seen such a big huge mess. Is there no cleaner way to do it?
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: Combat Systems

Post by trufun202 »

MarauderIIC wrote:The thing with tokens is it can get to be a big huge mess. Say you add on to a quest, but the next # token is taken. Or say you have 100 quests with 5 steps each. Ugh *shiver*

I've seen such a big huge mess. Is there no cleaner way to do it?
Maybe a clever naming / numbering convention. So you could tell the type of quest / objective based on the ID.

Reminds me of my days working at Gamestop. From the SKU I could tell you which console the game was for, if it were new or used, and have an approximate timeframe when it was released.

Good call tho. I'll take that into consideration before I fully implement quests.

btw, here's the video of my Lua-based quests: http://www.youtube.com/watch?v=zZXnty8AgRs
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
Post Reply