Saturday, August 11, 2007

MMO Studies: Creating A Basic Synthetic World. Part 1

  • Hey all,

    A new Case Study, on the synthetic world is being undertaken. I've just published the first part publically. Hope you enjoy :)

    So looking at the online world the biggest successors except blizzards beat machine “World Of Warcraft” are the synthetic worlds. Yes I’m talking about Second Life. Presenting a virtual online world built by players for players. It’s fun to use in-game modelling tools has really boosted its content, players can create pads to chill out with there friends, have parties or even create there own business’s. Big companies such as virgin and IBM have started to catch on and even universities are hosting lectures virtually. Could the virtual world be turning into our real world?

    This isn’t a review of synthetic worlds its a series of methods to help you “the developer” create your own. This would be assuming you have your bases of the MMO up and running.

    Your first step to a bigger world!

    Now before I begin with development cycle for a synthetic world make sure your MMO has persistent terrain or huge zones. Why? Well players will create content, you need space to create that content. If your looking at a big player base get onto a persistent world module. If however your only looking at a few 100 players using a zone based world would be suitable. In-fact “Sims Online” is a zone based MMO. Each property you go to visit is a instanced zone (Idea Springs To My Head). Further on in part2.

    Phase One

    Let’s get stuck in then. With synthetic worlds there’s one key thing that your MMO must need dynamic terrain, if you cant place dynamic objects your on the wrong path.

    With the object creation you need a system to place the dynamic object onto the terrain, able to move it around and then select place making it a static object. Also able to select it again and turn it into a dynamic object to move or delete.

    That’s it for phase one. It needed to be a simple description but many of you know that’s a hard phase to overcome. There are other ways to get around it, for reference look at my MMO RTS Theory.

    Phase Two

    Ok there are two pathways to take here. The Creation Tools or Pre Made Assets. The creation tools pathway is for developers who want to create modelling tools in game for there MMO. Pre-Made assets is for developers wanting to create a sort of “Go to shop by a lamp, place in house” instead of creating it by tools. There is no right way it’s usually according to how your engine handles. Both are combined in some synthetic worlds.

    The Creation Tool Pathway
    Looking at the most popular modelling packages “3Ds Max” the tools presented there are what we need to integrate into our MMO build mode.

    Basic Shapes
  • 3D
    Box shape , Sphere shape , Cone shape.
  • 2D
    Line spline, Rectangle spline, Circle spline.
  • Extrude
    Allows you to extrude the 2D shapes to 3d using the mouse to define the height of extrusion.
  • Add
    Add tool allows you to add one shape to another, sort of a grouping command, you can Add and Un-add (don’t get mixed up with subtract)
  • Subtract
    Subtract tool allows you to subtract one shape from another. Maybe make a doorway in your wall?
  • Poly Edit
    Poly edit is only for advance developers who really want a creative experience for there players. Poly edit allows players to select the polys which make up the shape. They can move them on a Y,Z,X axis creating more random or complex shapes.

    Once you have these shapes in and tools to add and subtract shapes to and from other shapes you can then start to build huge structures using basic blocks & cylinders. So you have your basic tool creation system in-place now you need to build a texturing system. This will allow the player to look in the servers “Texture Library” and select a texture to be placed on any of the shapes.

    Going into advance building, you could allow users to have some sort of login and user account system via the net so users can upload there own textures to there own part in the server so they can use there own custom made textures, or maybe have a url directing to the texture meaning the engine would need to; look for the textures url, find it, render it on screen (streaming the texture from the image source).
  • Your Cursor
    I’m using the 3ds max Gizmo for a brilliant example for moving your shapes around in build mode. X, Y, Z axis.
  • Move Tool
    A tool which allows you to select your shape and move it on a Y,X,Z axis.
  • Rotate Tool
    A tool which allows you to rotate your shape on a Y,X,Z axis
  • Scale Tool
    A scale tool which can scale on a Y,X,Z axis or All 3 (scaling the complete shape)

    So now you have a Content creation tool ready to be tested extensively until your MMO runs perfectly. No errors in mesh’s, bugs, unwanted gaps.
    Note: You may want to add a shape name tool in there. Just to name each shape player creates to keep track. Although when a shape is added to a shape it will take on a different name. Example shape 1 is added to shape 2 equalling shape 3.

    Pre Made Assets Pathway

    So if you don’t have the skill or the engine just won’t allow you to program a content creation tool set into the engine don’t run away just yet. There are many ways you can get around the problem. This problem is to have a premade asset library. Star wars galaxies is a big example, players could place pre made homes into the world and by pre-made objects. No options on editing the properties of the shape or editing the appearance, but still satisfaction of owning there own home in the world.
    Now you could do this by having a vendor which sells houses, furniture other items. Also you could add the option of a Player Made Content Vendor which would search the library on the server of all the models the players have made themselves. Ways to do this would be for a automated uploading system, or getting the player to email a dev, the dev uploaded to the library manually and allowing 2-3days for the content to appear.

    So my method

    First thing players are going to want are houses. Now its easy to make an estate agent vendor (as it acts like a shop). The vendor sells different types of houses. Player selects his/her house. Purchases the deed. Once the player is happy on there location for there house they drop the deep and boom there is your house.

    Note: Maybe have an option to lock content such as houses so other players couldn’t move them or take them. Easy on this way to create a ownership system where when an object like a house is added the player can claim an ownership allowing them to move it and lock it. Although some engines may need a good hardcode system for this and some don’t as many MMO engines these days support Player housing.

    A Idea

    Just a quick idea on how you could develop a synthetic world by looking at games and real life.

    See now this could be fun, you could get players to go to the estate agents when they join, or maybe even start them off in there own flat like you do in “World Of Kaneva”. Players then get some start off money, they get a Job to gain them money or start there own business. Maybe selling off objects they create? Or paying real money for in-game money. You can then proceed to shop at furniture stores made by NPCs/Players, go to placed like electronic stalls. Which sell a video games console were the actual TV allows you to click on it and play a pre-code game like Tetris or something similar. A game within a game. The TV’s could even have a Sims feel to it, you click on it and can change the channel according to what in TV subscription you bought. Pay every game month for the TV license, get better TV licenses get more channels. The channels would be streamed movies/clips from the internet. Maybe even add guns and other fun games into your world so players could create laser zones for entertainment, allow your tools to be the basics but create a vibrant world of endless possibilities. Allow anything to be streamed onto a wall, documents, videos, audios and even flash games. Get players to create content, give them options to create there own stuff.

    Note:All your MMO to be a tool which allows the player to create there own world

My Inspirations are
Kudos,Sims Online, The Sims, The Sims2, Singles, Second
Life, Star Wars Galaxies.

There’s more to come on this subject, just at the moment I wanted to cover the basics on the synthetic world….

No comments: