Tuesday, July 31, 2007

MMO Studies "RTS Module In A MMO" - Revisited

Note: This is a Method. It has been tested, but not to an advance state.

I’ve noticed over time a lot of RTS elements would be fun to implement in a MMO. Problem is it requires a lot of core programming into the MMO Engine. Although it’s attracted to more experienced developers, the independent scene doesn’t really get a look in. I’ve devised a series of Easy to follow methods to get the RTS element into the MMO.

I’ve noticed many MMO’s have a item discard system. When the item is discarded by the player it becomes a dynamic object on the ground which is displayed as its appearance when on the terrain.
For example: You have a sword, you drop the sword onto the terrain. The sword appears as the sword model on the terrain. It can be reclaimed by just clicking on it and selecting pickup.

So what’s this got to do with a RTS system?

Well a RTS is a dynamic system, buildings come and go. Units are dynamic and played as NPC’s. So the item discard system comes into play.

The Basic RTS System

Method 1
Firstly you need to create a HQ type model. Model and texture it. Then import it into game as an Item (not a static mesh).
You then need to do some item configuration. Many MMO item scripts have the option to select what model to display when equipped to player and what to display when discarded on the terrain. If your engine does not support this go to “Method 2”. We want the object to display a “Deed Model” when in inventory or equipped to player. The deed could be a simple square model sized to fit the players hand with “HQ” on it. Now we need to edit the item to display the “HQ Building” when discarded. Save this and test it out. If your test is successful, well done. That’s the basics of an RTS System.

Method 2
Firstly you need to create a HQ type model. Model and texture it. Then import it into game as an Item (not a static mesh).
I take it your MMO engine doesn’t support a two way display system for the item, what it will support though is just the Item appearance. It’s not a problem. Just create a deed icon for the item to be displayed in the inventory (Edit the option to be Player Equipable). Your player wouldn’t want to equip it as it’s a huge HQ building. Discard the item and you should be able to see the discarded item in front of you. This should be the HQ building.

Building on the Basics

Many of you know RTS games run in a order of
Must have HQ
Opens up Barracks, Farm, Tech Centre building options

Sounds like some core programming to be done here? Not really we can cheat this by using simple decision scripts and some creativity.

Best thing to do is create a Vendor. The vendor we will call “RTS Mode Vendor”. The vendor is set up to be a shop. For example here’s a dialog layout:

Free Image Hosting at www.ImageShack.us

I’ll go through this as it gets complex. When you buy a HQ two items are added. The HQ Building and HQ Deed. You will need to set the item HQ Building to “player can’t equip” also set the same for the HQ Deed, this will stop your player equipping a huge building on there body. You only need to discard the HQ Building item. Maybe put a description of the item for the inventory “Deploy HQ Building”. However do not discard the HQ Deed item. This will be used for advance building methods.

The portable vendor is a shortcut to a no core free programming. The portable vendor is shaped in a terminal. It’s placed the same way as a HQ building. It’s advisable to place the portable vendor in the HQ building (if it has interior) or next to it. What the portable vendor does is act exactly like a RTS vendor but you don’t have to walk to the nearest city or spot for it. Meaning you can build your base from the comfort of your base.

Now the Portable vendor unlocks different buildings to buy acting upon decisions. Below is a simple flow chart showing how it works.

Free Image Hosting at www.ImageShack.us

As you can see in the diagram the more you buy the more buildings you unlock. The production buildings “Vehicle factories, Aircraft Factories and Defence Outposts” will bring up another shop menu where you will be able select different vehicles and defences to buy, import to inventory and then discard onto the terrain.

You would have the barracks sell off NPC Combat Type “Infantry, Rifleman, Laser Engineer”
The NPC Units will act like a pet. You can command it to “Attack, Defend and Stand Ground”

It’s the same with all units, aircraft, vehicles and infantry. They should all be set up as Pets. Why? Because pets will follow player command plus you can equip armour and weapons to them. (More information on advance RTS below)

That’s a building on basic RTS system method.

Advance RTS system.

Firstly Advanced Infantry
Pets allow player to equip armour, clothing and weapons to them. If you have a normal infantry men and you want him to be a sniper simply implement a Weapons Chamber & Armour Chamber. In the weapons chamber you will be able to buy cheap quantities of weapons, although these weapons can only be used for NPC unit pets. Kit your guy out with a new sniper rifle and a new helmet.

So appearance of your sniper is looking good. How about skill, it does seem like a lot of scripting of skills needs to be done, but it will be worth it in the end. Implement a Academy. In the academy you can train your infantry units up individually. I’m not talking about grinding but just a simple tell pet to walk on training program square. Select what skill you want to “Teach” your guy. Example “Novice Marksmen Ship - $50”, this will teach your guy novice marksmen ship which for example adds +3 HP. So now when you order an attack on another player/npcs your guy you trained up will have more HP damage “+3”

So there you have it. It’s just a method. It has been tested but not to advance system.

Thanks for reading!

No comments: