Object joining for customisable flexability

From my MMORPG Engine – Exordium – This work is all copyrighted if you wish to implement this style of system please talk to me first!

Unlike most games where u say have 200 items this game will have about 200 parts which you can make and design your own weapons from, (There will be stock designs from blacksmiths and people can make weapons and sell them etc..)

Item code will be a series of part numbers and another byte that indicates which part number and which flare point they attach to on that part. It will be limited i think so they dont have total control but they will be able to snap in components and scale them.

struct item_component{
byte objectid;
nibble target_index;
nibble flare_point;
}

Not sure if to have max 10 components to a weapon that would give say a sword:

blade -> crossguard -> handle -> pommel = 4 components

a double blade

blade ->
            crossguard -> handle -> pommel = 5 components
blade ->

a 4 bladed mace would therefore have

blade ->
blade ->
            crossguard -> handle -> pommel = 7 components
blade ->
blade ->

normal stave

stave = 1 component

or

blade -> stave -> blade = 3 componets

The point of this is that each object type has weight and is classified as a attacking section, holding section or defence section.

When combined according to where the item is hel you get balance of the weapon, eg. swords you can balance by adding a weight on the end (A pommel).

Back to the item code If its 10 items per weapon I have a 5 byte serial number for the weapon (1,099,511,627,775 unique items should ensure security of items maybe ill use a 4byte serial but i know after say 40k accounts have gone through then you run out of serials every time a weapon is dropped it gains a serial number, maybe could get away with have a 4 byte because of the complexity of item codes the probality in gettinga dupe there is about 4million billion to 1).

Then ide proablly have 2 bytes for elemental code.

I may help try and compress the item code by having 1byte to say how many components it has.

so we have now

struct item(
byte elements;
item_component item_component[];
dword serial;
byte elemental;
);

max length 26bytes.

Real world example: Muonline has 20byte item codes I could probally cut that down a bit but I dont think 26 bytes is that bad, because its variable length an item would be inbetween 17 and 26bytes. averaging at 20 bytes.

Advertisement

One Response to Object joining for customisable flexability

  1. Nancie says:

    Oh honey, you impress me every time! Good job on your site :)
    I love you.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.