🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

The damn devil is in the damn details

posted in A Keyboard and the Truth for project 96 Mill
Published February 07, 2006
Advertisement
I've been dreading a certain aspect of the S3 Engine, which I know I am going to need to solve sooner or later.

So now I'm going to tell my problem to you all =)

The problem is one of Interiors and Exteriors, or indoors and outdoors.

Currently, the S3Engine is exceptionally well suited to outdoor maps; you have a terrain and you can plop stuff down on it, trees, people, cars, houses, whatever.

But indoor maps are going to be somewhat trickier; Flare3 used the same map system for both indoor and outdoor maps and it worked fine in most cases, indoor maps simply had more walls, different scenery, etc. and that is what the problem really boils down to, walls.

all of the sprites in S3 are traditional isometric sprites, they are drawn on carefully aligned billboards so everything lines up.

but when it came to walls, this system seemed exceptionally wasteful, because there is such an 'easy' alternative.

for instance, in 2D isometric a wall would be a specially drawn image in isometric perspective and it would be placed on the map.

due to the nature of isometric graphics this wastes a good amount of space on the image (to account for the angle) and it also means in some cases specialized images are needed for different wall directions.

in 3D however, making a wall is SUPER SIMPLE, it's 3 planes (bottomless rectangular solid) it can be textured with a nice 128x256 texture, and it can be placed anywhere, and lit properly.

So given that I have this power at my finger-tips, I cant quite bring myself to kluding walls by sticking with the old isometric way, it seems very stupid.

however this does complicate the map format a good bit, it will likely use a dedicated geometry for a wall, and will be translated and rotated in place during rendering, though I am still unsure how well these 'real' elements are going to play with the billboarded elements.

thankfully the motion system for S3 will utilize a node network of predefined paths, which characters can walk on based on inference where a player clicks (dijkstra's algorithm will be used for path calculation)

this means we can control where the player can and cant walk, which can remove potential issues dealing with overdraw and such.

so, it looks like I will need to implement extra data about each tile's ability to have a wall on either side.

Previous Entry Ugh.
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement