🎉 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 any side.

0 likes 4 comments

Comments

Rob Loach
You know you want a waterfall....
February 07, 2006 12:08 PM
Bruno
One question.., why don't you simply go 3d all the way ?
I think you are overcomplicating things the way you are going, but good luck with it :)
February 07, 2006 01:02 PM
EDI
the main reasons are.

1. Designing low-poly, well-textured, rigged, realtime 3D models is an absolute pain (i've tried it). Plus implementing a system that utilizes these would also be hard.

2. I really like the look of 2D elements in most cases, and i think it will look nice against a 3D terrain.
February 08, 2006 07:51 AM
Simagery
It's a tough call: full 3D or hybrid 2D/3D or full 2D. I understand the decision you're grappling with, EDI, I'm tossing the same thing around in my head right now.

Part of me is very tempted to do it pure 2D, but I like the idea of a 3D terrain and some other 3D effects (particle effects, lighting). These obviously have the advantage of being a bit easier for those without artists (like myself).

Of course, given a talented 3D modeller, I'd go with pure 3D as it would dramatically increase the amount/quality of the animation (see Silent Storm for an excellent example of a pure 3D "isometric" engine).

Considering that Photoshop is my only art tool (that I have any skill using), I'll be doing a hybrid approach. Characters will likely be 100% sprites/2D, with environments being 3D (buildings, terrain, walls).
February 08, 2006 04:10 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement