<
>
 Thread (5 posts)
CleffyII  9/22/08 11:25:48 AM

Rank: 32/100 Rank: 32/100 Rank: 32/100 Rank: 32/100 Rank: 32/100

Apprentice Member

Joined: 7/22/06
Posts: 3396

Hey this is a housing concepts I cam up with.  I am trying to correct 3 issues with this.  1st, uncluttered housing that adds a more aesthetic touch to object placement, and reduced risk of getting stuck.  2nd, correct problems with geometry intersection of terrain without directly manipulating the terrain.  3rd, add a new level of optimization and decrease network traffic.

The building block of this are planes of various sizes (1m2, 5m2, 25m2, 50m2).  A player hovers thier mouse over a plane and it highlights.  If they click it, they can chose to build or place an item on that plane that will fit.

These planes are built with meshes with a special name similiar a bounding box.  Like a foundation will have 1 huge 50m2 plane.  The player then builds a Store that comes with more smaller planes.  Then they place objects on those planes that have even more planes.

 

Now that I covered the basic part here is the technical aspect in bullet point for a quick glance.

  • In the scenario above.  If a player places an object on a plane belonging to the Store, then the plane the store was built on is no longer selectable.  This way the player doesn't accidently removes to Store and it doesn't get in the way of selecting smaller objects.
  • The player starts with a plot of land lets say 50m2.  They then build a foundation, and the foundation elevates to the same level as the highest point on the terrain and using a script generates levels underneath to the bottom of the terrain with stairs.
  • Each building piece will be refered to in levels (Empty Terrain Cell Level 0, Foundation Level 1, Store Level 2, Objects in Store level 3).  In order to reduce image stuttering,  when a player is on a Terrain Cell or adjacent to it, it will load up to Level 2, when a player is on a foundation it will load up to level 3, and when a player is in a level 2 area, it will load everything above level 3 in that area.  These levels can be further adjusted as needed.
  • When a player comits an object it is saved to the server within a database.  It only updates for people within range of seeing it.

Can people tell me what they think about this idea?  Is it too simple? or too wordy and need me to explain something?

Resin213  9/22/08 9:00:26 PM

Rank: 5/100 Rank: 5/100 Rank: 5/100 Rank: 5/100 Rank: 5/100

Novice Member

Joined: 6/25/08
Posts: 49

 Makes sense to me. Do you have a game world setting in mind? I take it these would not be instanced, could other players break in, view only or actually destroy them? I think choices of architechtural styles are important as well, not to mention furniture. It would be neat if players could upload images to have as "paintings". I think there needs to be a mechanic to prevent ghost towns, either NPC defense or "rent" either way.

CleffyII  9/22/08 9:42:01 PM

Rank: 32/100 Rank: 32/100 Rank: 32/100 Rank: 32/100 Rank: 32/100

Apprentice Member

Joined: 7/22/06
Posts: 3396

It is just going into my dream mmo design bible.  I want to base it on Steam Punk with a Boroque influence.

Barrikor  10/01/08 3:25:15 AM

Rank: 76/100 Rank: 76/100 Rank: 76/100 Rank: 76/100 Rank: 76/100

Hard Core Member

Joined: 12/06/07
Posts: 103

(double post, sorry)

- Barrikor

Barrikor  10/01/08 3:33:23 AM

Rank: 76/100 Rank: 76/100 Rank: 76/100 Rank: 76/100 Rank: 76/100

Hard Core Member

Joined: 12/06/07
Posts: 103

I had a building idea similar to this, and since I might never get around to making it... this is part of my idea for decreasing network traffic.

-----

As with anything created by the players, you can bet many of the buildings will be identical to another building somewhere else on the map. While there will be many combinations, we can assume that certain setup will be more popular than others. Storing identical building in the database is a waste of space.

Idea:
When a player finishes designing a building, the server will look through the database seeing if it matches any saved designs (server intensive, yes), if not it will save the new design and attach a "BuildingID" number to it.

When a player walks around the game world and enters a zone where there are buildings, the server will send an array of numbers, one BuildingID for each building, the client will look to see if Building[BuildingID] is stored on the player's computer, if not the client will open a new thread and requests the design for Building[BuildingID], then saves it to a file on the player's computer.

Thus instead of sending the variables for whole building every time a player walks into the zone, instead all you need to send usually is a "BuildingID" number.

--------------------------

That's how I plan to do mine at least, if I ever get to it...

How does it look?

- Barrikor