Game Development Community

Some Desert Stuff

by Timothy Downs · in General Discussion · 10/26/2004 (10:26 am) · 7 replies

I have been working on some things geared for desert use, but it could be used for other things as well. Below in the picture you will see 3 different sized fence sections, a gate, a fence post, and a light.
www.timothyadowns.com/images/RealmWars/desertStuff01.jpg
Some other things I am working on include a desert cavernous dwelling, a small desert outpost, a desert storage building, a small desert shelter with storage space, and a desert shelter with chimney. The cavernous dwelling and outpost have some lighting issues so I'll probably hand over the files so someone else can tweak them to perfection.

Enjoy the first addition of my desert stuff.

#1
10/26/2004 (1:03 pm)
I applaud your concept of modularity, and have a question for you--

Have you considered any designs from an artist's perspective regarding how to make them "connectable" within a running application?

We've put together a rough design that is intended for use with .dts shapes only, but it includes having "connection nodes" within the shape that the code can use to line up different .dts shapes. Basically, the player would have an interface that allows them to drop down a building/wall segment, and then if they select another one and bring it close to the first, the server would align them by overlapping the "connection nodes"--allowing you to string together your wall sections with a gate in the middle for example.

Another example of this sort of concept (nodes within a shape that the code can be aware of) would be for decoration--you could have a "decoration node" in the shape that describes where a drape on the wall would go, and the player could select a drape .dts, and then "attach" it to the original wall .dts (again, during runtime, and with appropriate interface and shape manipulation implementation). The end result would be a wall section with the drape across the correct face, customizing the shape on the fly so to speak.

P.S. Sorry to hijack the thread, if you are interested in discussing this more, we can move the conversation to a more appropriate forum!
#2
10/26/2004 (2:51 pm)
The short answer is not really.

The long answer.

When I go to design fences, for example, like the ones above could have the three supporting bars be the connectable feature. So what is below it that would be underground could be longer, lets say by 3 units, and when there is a definite drop or extreme turn a fence post could be placed in. Also I like to keep the sizes consistant so all I would have to do to line them up is adjust the height and move them to where I want.

Also as a suggestion I think having a connectable material/node that does not even have to export right, but only use the center of mass of the polygonal node within the .dif file, strategically placed to connect the way you mentioned above.
#3
10/26/2004 (3:21 pm)
I guess what I'm getting at (and what our design is attempting to resolve) is that connecting the fence sections (or any other of your very nice modular objects) requires very accurate and skilled placement.

Please realize that I'm not in any way trying to degrade/demean what you are doing--it just sparked some thoughts with some of the design goals my project has...in that, a player (as opposed to a "mission designer") can build a city from component modules such as you are developing.

If you've played Shadowbane, and built cities using their interface, or something like Age of Empires, it may make more sense---take your sense of modularity to a bit more of an extreme, wrap run-time functionality around it, and players playing a game (that uses your building sets) can build villages/cities dynamically.
#4
10/26/2004 (4:48 pm)
In those games everything is grid based so that might be a key approach. Then center up the .dif on the vertex point on the grid. From there depending on a height difference and intended rotation either generate a fence post and additional section or just another section. Finding out the appropriate height difference for generation of the post will probably be the hardest thing.

Then if you want to really get technical when the modular strip of fence is placed is the terrain able to really support the structure based on overlaping transparency of valid terrain textures to non-valid terrain textures. Also to add more technicalities if the terrain is 100% supportable the strongest fence is generated, then for something like 60% the least stable fence is generated, and everything inbetween generated based on terrain stability and the fence's structural strength. And on top of that for the rotation add additional modules to get to the next valid, placing vertex. From there generate an additional cost of 10-15% base on additional modules and also for the posts added in the situation above.

Then to further add to the confusion when a gate is placed the terrain beneath it is smooth 60% so the gate can be placed on fairly flat ground. Each of the neighboring fence sections is adjusted based on the gates placement and fence posts added at no additional cost.
#5
10/26/2004 (6:20 pm)
Actually, one of the big reasons behind a design like this is to avoid the need to reference a grid type structure at all. Placement of the first modular structure is completely free-form (based on underlying terrain restrictions), and placement of further modular structures aligns to previous placement.

Quote:Then if you want to really get technical when the modular strip of fence is placed is the terrain able to really support the structure based on overlaping transparency of valid terrain textures to non-valid terrain textures.
Yes.

Quote:Also to add more technicalities if the terrain is 100% supportable the strongest fence is generated, then for something like 60% the least stable fence is generated, and everything inbetween generated based on terrain stability and the fence's structural strength...

Yes as well. For the purposes of a "building kit" (that provides code functionality as well as artwork) however, you would probably want to provide script hooks for this for purchaser implementation.

Quote:Then to further add to the confusion when a gate is placed the terrain beneath it is smooth 60% so the gate can be placed on fairly flat ground. Each of the neighboring fence sections is adjusted based on the gates placement and fence posts added at no additional cost.

Absolutely. Server driven terrain deformation is very important to this type of functionality (something that Shadowbane for example did very poorly), as well as "module combination specific" sectional art that handles various scenarios:

--Connect small wall to very large tower: add a transitional .dts to provide a "ramp" from the top of the wall to the entrance of the tower.

--Connect new wall to existing (closed off) tower: modify the transitional .dts that exhibited a closed wall of the tower to now allow an opening between the tower and the new wall.

--add fortifications to a basic wall to provide balustrades and similar defensive structures: modify existing .dts and/or add additional .dts wall structures to provide the improved wall details.
#6
10/27/2004 (6:51 am)
Pretty intersting work there Tim. Let me know if you want it included in RW.
#7
10/27/2004 (10:36 am)
It should be included in RW, but I want to get as much of a pack done with this style before implementation. If the next build does not include it but the following it could be a minor update, with a new map or two to hold over people.