Compensating
by Steve YorkshireRifles Acaster · 07/27/2009 (7:24 pm) · 31 comments

This is Toni. You would never think it to look at him ... but Toni has a problem

But Toni also has a lovely Jag to compensate for his problem

So Toni never has to worry about his tiny winkle
I don't have a lovely Jag. To compensate for my lack of a lovely Jag, I have an enormous level.

Multi Crossover Chaos
My enormous, lovely Jag compensating level doesn't actually have any stuff in it yet, it's just the outer geometry. It's designed to have two main routes, routes which overlap and cut into each other, the idea being to give a variable pathway that the player can choose how to navigate from A to B. All nicely signposted at junctions to stop the whole thing from becoming one great, frustrating maze. Because being lost and walking endlessly in circles is not fun.

Geometry. Stuffless Geometry. There's No Stuff In It Yet
Whilst this environment is clearly a "corridor crawler", I've sought to vary the length and depth of the passageways, from very tight, airduct style tunnels to vast, open roadways, criss-crossed with walkways. I'm a great believer in showing the player the places where they may go later on, but also to show places which are inaccessible and whose existence is to add to the illusion that the place is flippin' huge. Which it is.

Long Main Transportation Tunnel is Long
My player model (currently) moves at 8 metres per second on the flat, if you want to get really boring, I can tell you that running through the level gave an average speed of 7.69 metres per second. If you're still awake I can also tell you that it took 420 seconds for a run through one of the two routes (they're about the same give a few of seconds). 8 minutes a second is kinda fast, a bit faster than Roger Bannister averaged. But anyhow, that's around a 2 mile or 3.2km run through. Without things trying to eat me.

And looking the other way
Next up I think I'll be making a few props, cause it is awfully bare, especially within the larger expanses. Performance is good, the model is around 300k polys, and with (hopefully) mesh culling for portaling to come, it'll get a boost as well as keeping all of the extra polys of the props and details at bay.

Breath in ... it's a bit cramped and feels suprisingly claustrophobic when playing
And after populating the whole place with stuff, I'll redo my player/AI models a bit, as I especially need to fix the arms and sort out some varied setArm animation threads as I've discovered that previously I'd been barking (mad up the wrong tree on the whole, arms-to-look animations. Also I reckon I can make my models appear more detailed but perform better, which does sound like a contradiction in terms but hey ...

I've run out of witty things to say ... again
And then it'll be back to doing outdoor environments and ... stuff.
Also HD video of geometry. There's a big, sweeping outer, vista, whole, er ... shot of it all from afar near the end. Goes on for 7 minutes so feel free to take a nap in the middle.
In other news, July nearly over? How the hell did this happen? Why wasn't I informed? And just who is reducing the hours in a day? It can be the only explanation.
At least I've got an enormous Jag.
... I mean lovely level geometry.
About the author
One Bloke ... In His Bedroom ... Trying To Make Computer Games ...
#2
07/27/2009 (7:47 pm)
At the risk of really dating myself, your level brings me back to the days when i would play star wars: knights of the old republic. watching the video i kept waiting for someone with a light saber to pop up or something :P great work
#3
Awesome level mate ... looks really good.
@Kenneth: You want to hear dating ... it reminds me of QuakeII just with kickass ... errrr ... GEOMETRY!!!
07/27/2009 (8:04 pm)
lmao at Steve. :)Awesome level mate ... looks really good.
@Kenneth: You want to hear dating ... it reminds me of QuakeII just with kickass ... errrr ... GEOMETRY!!!
#4
John K.
www.envygames.com
07/27/2009 (8:48 pm)
Steve, that looks great! Is the shape a collada or DIF and which 3D editing tool did you use to create it?John K.
www.envygames.com
#5
I've not tried exporting anything as a Collada. I'm glad DIF has been resigned to history.
Don't think I ever played KOTOR but Quake2 was awesome.
07/27/2009 (9:15 pm)
It's a single DTS exported (and thus built) in Blender. 21 sub-meshes - not just to secetion them into areas nicely but also to overcome having too many verts truncating the mesh. 77k tris.I've not tried exporting anything as a Collada. I'm glad DIF has been resigned to history.
Don't think I ever played KOTOR but Quake2 was awesome.
#6
07/27/2009 (9:29 pm)
Really cool! I can't wait to see it with some stuff in it ;)
#7
07/27/2009 (9:54 pm)
ROFL on Toni, Way Cool Level! I have been waiting a long time to see more of this level.
#8
07/27/2009 (10:03 pm)
I have to ask being a DTS. Are you using individual collision meshes or the models wireframe?
#9
07/27/2009 (10:07 pm)
Wow that massive level looks fun!
#10
I'm using polysoup. Or "visible mesh collision" as it appears to be called now. Polysoup takes less typing. :)
When I add "details and stuff" they'll be seperate models and using their own collision meshes to keep collision overheads down.
One big polysouped thing seems to work better than lots of smaller polysouped things. Certainly on my sub-state-of-the-art PC.
07/27/2009 (10:40 pm)
@RandyI'm using polysoup. Or "visible mesh collision" as it appears to be called now. Polysoup takes less typing. :)
When I add "details and stuff" they'll be seperate models and using their own collision meshes to keep collision overheads down.
One big polysouped thing seems to work better than lots of smaller polysouped things. Certainly on my sub-state-of-the-art PC.
#11
07/28/2009 (12:14 am)
Great blog :)
#12
Nice Job. I've had the need to make something random like this. But havent been so random latley...
07/28/2009 (12:19 am)
Jag FTW!Nice Job. I've had the need to make something random like this. But havent been so random latley...
#13
The first pic of your enormous level reminds me of a game, which has a very similar scene as yours. That's Oni, and that's the best 3D action game I've ever played.
07/28/2009 (12:53 am)
Nice levels!The first pic of your enormous level reminds me of a game, which has a very similar scene as yours. That's Oni, and that's the best 3D action game I've ever played.
#14
07/28/2009 (1:39 am)
Great job, Steve! The pics don't really do it the justice that the video does. Did you do anything special to get the "black light" effect, or are those just very dark blue lights?
#15
I was looking for "arty and colourful effects", and so started playing around with bright, primary colours for the lights - to go with my fairly bright, rich colour scheme of textures. The "black light" is just a "0 0 1" RGB - Full Blue. It just comes out as a very intense but dark shade. Which I liked, as you can see from how much I ended up using it.
In colour theory, blue is practically poison to all other tones, and it really shows in the blue lighting as it kills off all of the warmness in the green, red and yellow panels/tiles.
@Matt
07/28/2009 (2:21 am)
@RyanI was looking for "arty and colourful effects", and so started playing around with bright, primary colours for the lights - to go with my fairly bright, rich colour scheme of textures. The "black light" is just a "0 0 1" RGB - Full Blue. It just comes out as a very intense but dark shade. Which I liked, as you can see from how much I ended up using it.
In colour theory, blue is practically poison to all other tones, and it really shows in the blue lighting as it kills off all of the warmness in the green, red and yellow panels/tiles.
@Matt
Quote:Apart from your spelling and puncuation ... ;)
But havent been so random latley...
#16
You know once you add "stuff" into your level it will easily take twice the time to go thru the same space... maybe even longer with enemies.
07/28/2009 (6:00 am)
Looking great, Steve!You know once you add "stuff" into your level it will easily take twice the time to go thru the same space... maybe even longer with enemies.
#17
the only explanation i can provide is that GarageGames is attempting to reduce the hours in a day buy selling a game engine soo good that it goobles up our time ;D
07/28/2009 (6:16 am)
To start off, nice level!Quote:...July nearly over? How the hell did this happen? Why wasn't I informed? And just who is reducing the hours in a day? It can be the only explanation.
the only explanation i can provide is that GarageGames is attempting to reduce the hours in a day buy selling a game engine soo good that it goobles up our time ;D
#18
So how is your performance with the latest beta? How many lights do you have in that level total?
And i know you've been working with zones and portals some. Aside from the bugs you've reported do you have any other suggestions for improvement?
07/28/2009 (6:21 am)
I just got to the end of the video... that last part showing the outside of the level is very cool.So how is your performance with the latest beta? How many lights do you have in that level total?
And i know you've been working with zones and portals some. Aside from the bugs you've reported do you have any other suggestions for improvement?
#19
PS. Some peaceful music would have fit in the video.
07/28/2009 (11:45 am)
Wow! Your way to fix The Problem is much cooler than Tonis. I was amazed about the size of the map when you zoomed out at the end of the vid.PS. Some peaceful music would have fit in the video.
#20
Performance
Looking across the whole map at the most "busy" point for polys on view (but still inside the level - having the camera outside gives a huge boost but is no use in-game)
win 1088x612 = 60fps
FS 1280x800 = 45fps
FS 1680x1052 = 30fps
PostFX on for fog, but no fx in use.
Lights
Total 326, only 5 of which cast shadows. If I have ALL cast shadows then performance is halved (which isn't that bad really). Most of the lights have a small range and don't overlap. Overlap eats at performance even without shadows on.
Apart from the portal bugs (objects not rendering inside a portal if their boundingbox doesn't touch a zone - eg: if the portal is very long) they seem to work okay, but my tests haven't been with large numbers of objects, just a few to check it does work. Submesh culling would be nice.
Lights can't be scripted on/off, so mylight.setenabled(0); or mylight.isenabled=0; doesn't work at the moment. Can't remember which one of these commands I'm supposed to use anyhow but they aren't affected with script.
It might be useful to have setmeshhidden() working on TSStatics, I did try and drag some code across but just made a mess of it.
On a side note, Beta4 basic lighting looks a LOT better than previous Betas.
07/28/2009 (2:01 pm)
@TomPerformance
Looking across the whole map at the most "busy" point for polys on view (but still inside the level - having the camera outside gives a huge boost but is no use in-game)
win 1088x612 = 60fps
FS 1280x800 = 45fps
FS 1680x1052 = 30fps
PostFX on for fog, but no fx in use.
Lights
Total 326, only 5 of which cast shadows. If I have ALL cast shadows then performance is halved (which isn't that bad really). Most of the lights have a small range and don't overlap. Overlap eats at performance even without shadows on.
Apart from the portal bugs (objects not rendering inside a portal if their boundingbox doesn't touch a zone - eg: if the portal is very long) they seem to work okay, but my tests haven't been with large numbers of objects, just a few to check it does work. Submesh culling would be nice.
Lights can't be scripted on/off, so mylight.setenabled(0); or mylight.isenabled=0; doesn't work at the moment. Can't remember which one of these commands I'm supposed to use anyhow but they aren't affected with script.
It might be useful to have setmeshhidden() working on TSStatics, I did try and drag some code across but just made a mess of it.
On a side note, Beta4 basic lighting looks a LOT better than previous Betas.
Associate Michael Hall
The colors seem a little "vibrant" to me, but "feels" much better than the usual drab grungy gray and browns all to common nowadays.
Hmm, now how do I compensate for not having a nice Jag... :D