Q-Sims - MMORPG

From QNAPedia
Revision as of 18:31, 18 June 2015 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

by AdNovea - July 2009
Q-Sims Homepage


Foreword

This page will quickly give you the basis to start to develop your own MMORPG game on your QNAP server.
Starting July 2009, OpenSim has begun implementing some functions of the Combat System. Read more at [Combat]
Here is below the very first steps to start a MMOG on Q-Sims.


Enabling the damages

By default the parcel of a region of your Sims is safe. To enable the Combat system you should first disable the safe option.

Enable damages in a parcel

Once a parcel is no longer safe, whenever an avatar enter in such a parcel, the life score will be displayed:

Avatar life score in a unsafe parcel (already suffered from damages)


Testing your avatar life

In an unsafe zone, just go up in the sky and let your avatar drop on the ground. Press PageUp to fly and F or "Stop flying" to free falling.
When your life level reach 0%, you are sent back to your home location and healing starts.

This avatar killed herself in an unsafe parcel

Build your MMORPG

Define the rules and the needs

This is the MOST IMPORTANT STEP because you shall have identified all Combat System limitations in order to make your MMORPG achievable. Wrong understanding of the limitations can turned your MMORPG into a poor low level game.

You shall ask yourself questions such as:

  1. PvP : Will my game be a Player versus Player game
  2. NPC : Do I need to create Non Player Characters (e.g. monsters)
  3. Drops : Do I need drops (gifts left by beaten NPC)
  4. Healing : Do you need to heal your avatars or will they be only revivaled when dead
  5. Vehicles : Do you need tanks, airplanes, boats...
  6. and more ...


Each choice may involve the creation of specifics objects or leads to a dead-end.

  1. PvP is fine but any collisions between avatars may damage both avatars
  2. NPC will have only the AI (Artificial Intelligence) of the associated script
  3. Drops will require to restore, at the start of games, all the NPC that leave drops
  4. Healing is not yet available. There is no possibility to have negative damages. Only revival is automatically performed and killed avatars are sent back to their home location.
  5. Vehicle cannot be armored because any collisions to objects where the avatars are sitting on are affecting the avatars themselves

Create your MMORPG Sims

Next step is to create your Sims. Browse the Internet to visit RPG Sims running on OpenSim.

Exemple of MMORPG Sims: Delirium City on osgrid.org


Create objects that make damages

To damage avatars you shall create objects (sword, bullets, etc). We can consider the following objects:

  • The permanent objects such as swords, knife, etc...
  • The temporary objects such as bullets, mines, etc... that disappear once used
  • Damaging objects such as weapons
  • Damaged objects such a monsters that may release drops once beaten for example


The damage objects shall have the Physical property enabled in order to hit or be collided.
With Physical enabled, the objects are submitted to the gravity. Therefore, they may collapse, sink, roll and move by themselves depending of the terrain shape.

  IMPORTANT NOTE: llSetDamage instruction is currently under implementation


Permanents damaging objects

  • Create a sword object for example.
Example of weapon: Sword

In the blade of your Sword, place the LSL script below to define the level of damage.
Optionally you can define the collision sound (place the sound in the Content folder of the blade)

default
{
    state_entry()
    {
        llSetStatus(STATUS_PHYSICS, TRUE);
        //This will take off 10% when a avatar collides with the prim
        llSetDamage(10.0);
        llCollisionSound("sword hit", 1.0);
    }
}

  • Attach the sword to your avatar right hand
  • In your Inventory, create a New gesture (see How To create gestures), add a new Animation step, in the drop list select Sword strike, in Short cut key select for example Shift F5 (to hit with the sword, you will have to press shitt+F5), you can add a Sound (move sound) if you have already uploaded one sound for this.
  • Right click in your Inventory the newly created gesture, rename it and select Activate.


NOTE: To manage the weapons power in a Combat zone, you better avoid avatars to bring their own weapons and make some available in situ.

Temporary damaging objects

With temporary damaging objects you will have to delete them after collision using the llDie(); instruction.
You can use the particle and smoke effects to improve the visual effects.

Set damage objects to PHYSICAL
  • Example of bullets:
//Simple autokiller bullet: 
//When it rezzed it scans for the closest person,
//Moves to their location and kills them. (Because
//It collides with them)
default {
    on_rez(integer i) {
        llSetTimerEvent(10.0);
        llSensor("", "", AGENT, PI, 96.0);
    }
    timer() { llDie(); }
    sensor(integer num) {
        llSetStatus(STATUS_PHYSICS, TRUE);
        llSetDamage(100.0);
        llMoveToTarget(llDetectedPos(0), 1.0);
    }
}
  • With weapons like machine-gun, you shall use the mouselook view mode while shooting. There is an aim to guide your shoot.
Freebies: machine-gun

Needs for weapons?

Here a list of 35 weapons scripts.