Posts

Showing posts from April, 2009

Encounter Molding

I have identified a problem with most role playing games. The challenges are static. So players are encouraged to go with certain classes or skills to over come these challenges in the most effective way.

I don't know how many of you feel about D & D but a friend was explaining to me how it was the dungeon masters job to make sure challenges appeared that made all the characters useful. So I was thinking there needs to be someway to achieve that in my game.

The problem is of course having tons of Game masters running around tweaking things isn't practical and could also result in some very bad circumstances.

So, here is my idea. I intend for portions of the game to be instanced. So what I thinking about is adding modifications to the creatures in these instanced areas based on what skills the players have. If a player has water skills there is a chance some of the creatures will be fire property. If there is a priest type character with anti-undead skills there will be some u…

Message

Ok, I'm using something like a web service type structure for my networking. This may not be standard but in honesty it is the easiest way I see to do this.

As you know I'm using a union to store the data I get from my networking layer. However I have added another lay to the abstraction. Now I have a message container class that allows components to access the type and length without needing to know what index they are located in.

This class will of course be inherited by other message classes that will be used to access specific properties of a message. For example username & password from the "LoginRequestMessage".

This should make it easier for me to manage this whole thing. I will end up duplicating code no doubt but I'm not that worried about it as I will need to have the client and server versions customized.

I'm Also adding the notion of an inner message. Which is basically the message minus the type and length. I will probably use this later to simpl…

Client

Luckily, wow has been down all day so I have gotten some work done for once. I have been working on the client code. So far I have been mirroring the sever code. There are manager classes that handle the work and are called from the client class which will be polled from the application class.

The manager classes are pretty much shells at this point on the server side to copying them to the client was pretty easy. The only real change was that I don't need to include the realm data structures and the character locator.

Also Brandon, a friend of mine created a mesh for a level and some graphics for health and energy. I plan to import it into a .irr file after I finish the basic connection logic.

Everything builds and I uploaded the changes to source forge so the code is available for review.

Stuff Scores

I mentioned Dodge score a bit in my last post but that is something I haven't talked about much. In my hit/miss calculations I will be working with dodge score & accuracy score.

Dodge score being based off of agility & accuracy score being based off of dexterity.

Now I'm still playing around with the idea in my head but I'm planning on making the score be the related stat times a random number between 1-100. That should give enough variance to make it interesting.

I will check block after dodge because dodging an attack is preferable to blocking as you need the strength to withstand the blow. I will probably convert remaining damage after a partially successful block to blunt damage as only the force of the blow isn't blocked by the shield.

I'll have to think about the shield system more.

Dodge & Weight

I plan to use agility to determine a players chance to dodge an attack. In addition I want the chance to dodge to be effected by the users weight. In short if a user is loaded down they should not be able to dodge as effectively as when they are not loaded down.

What I planning on doing is making the dodge score be reduced by the users weight in proportion to capacity.

Something like the following formula.

dodge score = base dodge score / (current weight / weight limit)

This does mean that you will never reach 100% of you base dodge score but honestly this is probably more realistic. The purpose of these is to provide a game that is realistic enough to make sense but allow players to do things that they can't do for real.

This also means that being the guy that runs around and loots everything is a valid job now. Allowing one player to be a pack mule of sorts will actually be meaningful with this system. Some players won't like this feature but keep in mind the more you run around …