Game Development Community

Plan for Bryce "Cogburn" Weiner

by Bryce "Cogburn" Weiner · 07/30/2004 (4:35 am) · 7 comments

Just a quick update.

We've got a nice start on our first base interior. This one is built into the side of a mountain and we have nicknamed it "Hall of the Mountain King". Our interior expert comes from the Unreal modding community and has created some elegant base designs.

One of the unique features for our MMOFPS is the intent to make each map unique in as many aspects as possible. With a final total of over 50 planned maps this is an ENORMOUS amount of content. Realisticly we probably will not be able to produce more than 10 maps with our current team. This is does NOT impact game design since our intent is to be able to add and remove map servers dynamically to the game based on overall world changes within the game scope. It might sound a little confusing but I'm not going to get into that right now. ;)

I had an issue that I resolved just this morning with my changes to the engine regarding the population of player attributes. I thought initially that it was a memory leak issue. Then in frustration I opened my scripts that create the player on the server and changed

%player = new Player() {
      dataBlock = PlayerBody;
      client = %this;
      scale = "0.5 0.5 0.5";
   };
   MissionCleanup.add(%player);

   // Player setup...
   %player.setStrength($attrS[%this]);
   %player.setConstitution($attrC[%this]);
   %player.setDexterity($attrD[%this]);
   %player.setPerception($attrP[%this]);
   %player.setFactionId($faction[%this]);
   %player.setTransform(%spawnPoint);
   %player.setShapeName(%this.name);
   
   ...

   %this.player = %player;

to this

%player = new Player() {
      dataBlock = PlayerBody;
      client = %this;
      scale = "0.5 0.5 0.5";
   };
   MissionCleanup.add(%player);

   // Player setup...
   %player.setTransform(%spawnPoint);
   %player.setShapeName(%this.name);

   ...

   // Give the client control of the player
   %this.player = %player;
   
   %this.player.setStrength($attrS[%this]);
   %this.player.setConstitution($attrC[%this]);
   %this.player.setDexterity($attrD[%this]);
   %this.player.setPerception($attrP[%this]);
   %this.player.setFactionId($faction[%this]);

*ding* fixed.

Not sure why, but apparantly the changes I made to shapeBase.cc cause some server funkiness if not addressed through the GameConnection object that the shapeBase is attached to. Server lockups are gone and the memory leak is nonexistant.

Werd.

(MMO Dev's Note: Player attributes are set via global variables on the server indexed by client ID. Each time an action is performed these numbers are rechecked against the shapeBase object to verify integrity. No cheat for you. ;))

#1
07/30/2004 (6:02 am)
With a final total of over 50 planned maps this is an ENORMOUS amount of content.

I just wanted to say that having 50 maps does NOT mean enormous amount of content for the game. You may have to fill up the maps with buildings, trees, what not. But thats not content.

Take a look at Starwars Galaxies. They have large areas, quite a few cities and buildings, but *gasp* hardly any game content. Where is the content to make you feal like your a Rebel fighting the Empire? Or your part of the Empire trying to squash the Rebel Scum?

Having 50 maps gives you lots of places to go and fight monsters. But thats about it, unless you add game content.
#2
07/30/2004 (7:06 am)
buildings and trees do not equal (fun) content either! that's just the ambient stuff you have surrounding the real content which is *gasp* fun gameplay... :)
#3
07/30/2004 (7:14 am)
On the other hand, 50 well-designed and carefully crafted maps could be ample content for any game :)

Comparing it to SWG which is famous for its lack of content isn't really a good comparison. Pull 50 zones from Everquest and you'll get tons of content (mobs, quests, npcs, etc.). It all depends on the dev team.

Bryce, your project sounds great - but you stole my "Hall of the Mountain King" idea :p (not that I'd done any work on it, or publicized it any where, or even told anyone I was doing it... :)

Got any screenshots to show off?
#4
07/30/2004 (7:43 am)
i think his point was just because you have 50 zones doesn't equal content, its what you do with the wide open space. So your post was just reinforcing his point.
#5
07/30/2004 (8:58 am)
When Everquest released, many zones were lacking in actual content. Or the content that was there was very broken.
#6
07/30/2004 (11:29 am)
And now I just can't get this Savatage song out of my head...
#7
07/30/2004 (12:49 pm)
Ok... lemme clarify... this is NOT an MMORPG. This is an MMOFPS. There are no NPCs. There are no quests that are not created by the players themselves. All game assets are for the direct use of players. I used "Content" to describe the bases, terminals, trees, flora, fauna and all the other art assets that make a particular map "unique". HOW those assets interact with the players is what you are refering to by "content". I am not at liberty to go into that just yet in my public .plan. :) I think that was the inital misunderstanding.

In its most base form this is an FPS. What gives FPS games long life? Variation. Tribes 2 is immortal because it has literally an unlimited number of variations as a result of its open architecture. Problems with MMOFPS as it stands now (Planetside) is that even though there are over 1,000 sqkm of battlespace, it is always a repetition of what you just saw at the last base. Our goal is to stuff as much UNIQUE content into each map as possible, reusing nothing across maps if it can be helped, since we are simply not able to allow the community to modify the game.

When I close my eyes and picture a typical gaming experience for our project, I intend it to take HUNDREDS of hours of play to memorize base designs because they are so varied, and thereby keep the game fresh for as long as possible.

And no, no screenshots yet. The HotMK is only 50% complete and not textured. We've spent the past year getting to know the Torque engine, assembling the necessary skills, tools, and personnelle. Truly only in the past month has development according to the design document begun in ernest.

Milestone 0 was completed this morning with the resolution of the memory leak. Characters can be created, saved, and then brought into the sim with the physics of that character unique to their skills. Some players run faster, can carry more, live longer, and jump further than others.

Milestone 1 is the introduction of the inventory system. This is the incorporation of a weight based inventory system, maximum being dictated by their Strength attribute and caracter speed further modified by the weight of the gear that they are carrying (similar to Morrowind). Also covered @ MS1 is the map independant chat server so you can keep in contact with teammates regardless of what map they are on. Inital base designs for Map #1 should also be complete and entering the texturing phase.