Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

The Beginning Part II

Sign in to follow this  


Before I started developing Warmage: Exodus, I was frustrated about a couple of things with CRPGs:
1) Everything was moving away from the simple elegance of isometric/overhead styles to the first person or other cumbersome (for gameplay) 3D viewpoints.
2) Point and Click does not give enough direct control of the character.
3) User created content was starting to come around, but is largely useless in-game.

A WIP of the Greater Targean Hulk

These are the three points that I wanted to address with Warmage: Exodus, along with making it a blast to play. I am sure many people couldn't live without any one of the three things above, but for me these things started to ruin the experience of the CRPG.

Addressing the first point is easy -- go 100% isometric. This puts the game at a graphical disadvantage from the start compared to many modern games. Because of this, extra attention has to be put into the details of all the art. The first step was deciding to use high-poly pre-rendered models. The second part was to use as much graphical integration as possible for the HUD, GUI and other elements. Instead of simply just having a HUD, I felt it needed to be 'organic' -- almost feel alive. Going isometric was easy, but the seamless integration of art styles has not been so forgiving yet.

Skirk -- Desert Reptile

The second point: I want to move my own character. No, I don't want to point somewhere and tell my character to move there -- I actually want complete control of him. I want my character to be able to dodge enemy attacks (not simply rolling dice behind the scene)and to flank enemies from behind for stealthy attacks.

Bluntly, I want more real-time interaction than point and click can offer. The control scheme is probably the most experimental part of the game (compared to what has come and gone) and it is still not completely finished. The basic concept is that you can freely move your character around the world but you can also go into a 'target' mode, where you character follows the cursor. The first scheme is great for melee combat, as it allows you complete freedom of how you attack and from where. The second is useful in spell casting -- it allows you to maintain precision while still being able to strafe around an enemy.

ScorpionFly -- Desert Insectoid

User created content is a great thing. It adds an extra layer of interaction and depth to a game that can keep people interested. Instead of just using user created items, which although sometimes useful is lame, the user has much more freedom. There are no pre-set spells in the game. 0. The player has complete control over their respective repertoire of spells. This system is based on a hierarchy of pre-existing attribute types (sacred, elemental, etc.), user chosen spell type (offensive-projectile, offensive-area of effect, defensive-enhancement) and then user balanced characteristics for the spell (range, speed, etc.) which increase the cost of spells essence-wise and casting time. The character learns new 'Knowledge sets' that allow them to apply more types of characteristics to spells. The balancing for the system has proven difficult thus far, but the desire to make a new spell is an excellent driving force for progression (at least in the demo).

The same type of customization is true for melee combat as well, although not to the same extent. This feature, however, isn't fully implemented yet, so I'll discuss this later when it is more hammered into code.

That about wraps up the history of the project to this point. Hopefully this has been an interesting read for someone out there. I'd love to hear opinions about any of the things mentioned -- I am always open to suggestions.

Sign in to follow this  


Recommended Comments

I would be interested in hearing more about how you are implementing the system giving the users more control. Seems very difficult with the limited graphics. It isn't as if the user can say "move right arm to dodge sword attack". It seems more likely to be a still limited system, like allowing jumping, ducking, et cetera -- but those only avoid a certain sets of attacks each.

Share this comment

Link to comment
You are correct -- it is somewhat limiting compared to what is possible with 3D graphics, but here is my best effort.

First, even though it is strictly 2D, every in-game object is given a height value (Z). For collision, there are three hit zones based on this height: low, middle, and high, as well as three direction collision: front, side, back.

Different player actions affect how their character's hit zones are treated during collision check. For instance, ducking means that the characters 'high' zone will not be checked during collison. If you have arches in the environment, you can set their low, middle values so that when a character ducks, they can pass below the arch, but cannot when walking upright. You could even make it a low arch, and require crawling under it, although crawling isn't implemented in the game.

For combat this means a couple of things. Different attack types collide against specific hit zones. A horizontal slash may have a height value that is in the middle zone on a human, but may be completely above a short enemy's height and in the low zone of an ogre. A human would take moderate damage from this blow, the short creature would escape unscathed, and the ogre would take lesser damage, but a movement modifier also. Likewise, if the attack's height was in the short creature's high collision zone, the short creature would take massive damage (head trauma).

By the same token, if the attack has a height value that is in a human's middle zone, but the human ducks, then the damage would be treated as if it were a high zone (more damage) collision.

Attacking from the front, back, and side* also add specific damage modifiers.

*currently side damage occurs when a vertical attack is used and the target is strafing or rolling -- not a good system yet, but I'm working on it.

So the player has three basic movement types: walk forward, strafe and backpeddle, and three evasion maneuver's: duck, jump, and roll.

Duck discounts the player's high collision zone, jump the low, and roll the high plus reduces damage taken during the roll to side damage.

A brief example: The character comes upon 20 1 foot tall goblinoids. Their natural attack is at the player's feet. This means the player doesn't take much damage, but is slowed down considerably. The player could start jumping rapidly to avoid some of these attacks. A horizontal type attack is too high to fight these creatures, so the player must use a vertical type attack, or a low-specific attack.

The combination system is also a key point for combining different attack types to try and find weakpoints in an opponents defense. The AI isn't great yet (they duck or jump more randomly than intelligently) but it is getting a little bit better everyday.

Also, I haven't found an optimal solution for projectile aiming yet. It has proven difficult thus far and I am open to ideas.

Hope this clarifies things a bit (and intrigues as well).

EDIT: Should also clarify that movement is key based, not click based. True 8 directional movement is supported.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!