Game Development Community

Initial Atlas Terrain Checkin (Pretty Pictures In Here!)

by Kyle Carter · in Torque Game Engine Advanced · 05/27/2005 (6:36 pm) · 249 replies

public.garagegames.com/beng/terrain001.JPG
Hey guys,

I just committed the first public version of the new TSE terrain, codenamed Atlas. This is a fully modern, scalable terrain engine. Check the docs (updated with a whole new chapter :) for details.

This is a private release to our beloved TSE licensees. Congrats, guys, you get first shot at this new toy. :) We'll be rolling out a full launch of Milestone 2 - this was the last piece - next week when we all get back from Memorial Day of Weekend. I'd appreciate it ever so much if you'd keep on the quiet side about this until then!

The toolchain is currently a bit on the basic side. A fuller toolchain will be rolled out as part of MS3.

Please take a moment to give it a try. Feedback is welcome - post it here, in a new thread on this forum, or mail it to me. There's a lot more work to be done, but this represents a basic usable point for people to work from. :)

You can get this release by doing a CVS update, of course.

And finally... A rundown on the features:

Lightweight CPU Usage
Atlas uses less than 10% of CPU time per frame to update and render. Compare this with approximately 30% for legacy terrain.

Massive Landscapes
Supports landscapes of arbitrary size, bounded only by disk space. The current system supports approximately 10 quinquagintillion (or ten thousand quintillion vigintillion for those Brits in the audience, or 10154 chunks on the base level).

Vast View Distances
Can quickly render unlimited view distances, bounded only by the working range of the video card's Z-Buffer. Atlas can achieve 100+ fps on a midrange Radeon, with a view distance of approximately 4,000 meters. The legacy terrain is not even capable of rendering this view distance by default!

Unique Textures
Atlas supports a single massive texture for your entire terrain! Every texel is unique. Support for extremely large textures (in excess of 32,768 by 32,768 pixels) on all hardware. Of course, all this is streamed, so you only pay memory cost for the texture detail near you. A future release will support on-the-fly texture blending like the legacy terrain.

Streaming Data
Data is streamed from the disc as needed, so you can have very large terrains without exceeding your memory. Both geometry and texture data are loaded on the fly.

Accurate Collision
What is rendered is what is collided against, so you get full interaction support for anything Atlas can render - overhangs, gaps, ditches, and so on. As the toolset for this engine matures, it will be possible to actually create such terrains. But the runtime as of now supports this sort of topology.

Compressed Textures
Atlas fully supports industry-standard DXT texture compression. It compresses offline for maximum quality, pregenerates mipmaps for minimal CPU usage at runtime, then streams it directly into GPU memory.

Ok, I'm going to a party. I'll be back online later tonight to check up on things, and will be around during the weekend as well. Thanks for being so patient with me! :)
#21
05/28/2005 (6:30 am)
So far every single run, debug or release, has crashed. :(
#22
05/28/2005 (6:50 am)
I got the error in platformMemory.cc at 934 as well.

Its happening from DataChunker, in the constructor, its allocating blocks of size 16376 and then gets that assertion.

So I guess not enough memory for the static allocation of the datachunker?
#23
05/28/2005 (6:54 am)
Question ben, did you make it so that we can easily change the size and resolution of the textures and terrain mesh?

I mean, say you want just a really small terrain mesh with a single small texture on? is that valid?
#24
05/28/2005 (7:02 am)
Phil, yes it is. At least I know it is on the texture side.
#25
05/28/2005 (7:07 am)
All seems pretty stable on my test setup. A few hiccups in debug though.

The assert at line 946 of platformMemory.cpp will always assert because there is a structure member mismatch.
#26
05/28/2005 (7:30 am)
@Robert - have a look through the terrain section in the updated TSEDoc.chm file that should be sitting in the doc folder of your source. It has some very good background information about the new terrain and tells you where to go to get a higher resolution terrain dataset.
#27
05/28/2005 (7:32 am)
Thanks, David!
Wouldn't you know, I just figured that out!
#28
05/28/2005 (7:39 am)
Mine keeps crashing every single time right after the terrain sort of.. lifts up to its shape. It shifts around, then right when it stops, game crashes. Anyone els ehave this problem and know how i can fix it? :(
#29
05/28/2005 (7:51 am)
The new terrian looks great :)

Runs fine for me... well, a bit slow but thats due to my machine.
But it dosen't crash, thank god :p


Time to play now :)
#30
05/28/2005 (8:08 am)
Some feedback and questions, some of this (I'm sure) is probably in the works and part of the "unfinished tool section".

Great looking terrain, but I miss the ability to modify it directly. Water is great too, and more customizable.
Again, I know this is an early sneak peak.. but my question is:

Quote:
Unfortunately, full in-engine editing support for the chunk terrain is slated for a future milestone. Currently, the Atlas terrain engine has a slightly more cumbersome, but more flexible tool pipeline associated with it.

Is this planned to eventually get to the same or close to the same level as the TGE terrain block editor? Please say yes :)

Also www.webworldcreations.com/atlasterrain/index.html gives me a blank white page here.

Jacob: That happends here as well, but randomly. Have you tried to force down/up the pixelshaders? That worked here. I increased them from 1.3 to 2.0 and have no problems anymore.
#31
05/28/2005 (8:30 am)
Whoa! The small terrain that's in the CVS doesn't do Atlas justice. I downloaded the huge 10,000 sq meter+ terrain and it blew me away. I got very decent FPS with the large terrain and a 10,000 meter draw distance on a Radeon 9500.

Kinda off topic: I've never seen any terrain in any game/engine even come close to this. Great job Ben!

...The detail texture field isn't working for me. :(
#32
05/28/2005 (8:33 am)
Tried it, now instead it only exits with no error message or anything.
Is there something i'm missing here? I downloaded the source, built the exe, and ran it.. Is there a step im skippin? I MUST get this to work! I've been waiting forever for this terrain!!! :'(
#33
05/28/2005 (8:41 am)
Give us some details Jacob! You should know that you try and help as much as possible if you want help back. You haven't even mentioned what SDK/compiler/system you got or anything.
#34
05/28/2005 (8:47 am)
Well shit! Can someone please explain why players cannot walk on the damn terrain? It's kind of hard to do anything w/o solid terrain. :/
#35
05/28/2005 (8:57 am)
Ah, ya. prolly should've given some details. ;) Sry bout that

Im usin the october release with VS6. My best guess is this may be playing a part.
For video card im using a radeon 9600 with up to date drivers.
However i just tried with the Large terrain and it almost worked.. occasionaly the game would actually run for a couple minutes then windows would make a window sayin an error occured and all that, but TSE continues to run for about another minute until it just exits.
#36
05/28/2005 (8:59 am)
@Josh Moore: I've seen it work fine with players, so there is probably an issue on your side somewhere :) Any specifics?
#37
05/28/2005 (9:21 am)
I'm using the Space Orc as my player. I really don't think it's something on my end, since I did a full CVS checkout. The problem happens on both terrains; the player passes through them like a knife though butter.


Edit: Well... I'm just as stupid as they come! I just complained about the damn bug rather than thinking about it. As soon as I hit submit on this last post, I realized that I have to add AtlasObjectType to the player's collisionMoveMask. I'm one dumb-ass. :) The detail texture still seems to not work. I noticed it the first time I loaded up the terrain/water demo, but I can't get it to show now. :?
#38
05/28/2005 (9:22 am)
Was wonderin how you got such shading detail on the terrain like that. Now i see. Its in the texture. Tricky ;)
#39
05/28/2005 (10:34 am)
Awesome Ben.... now we can all bitch and moan about it! =)

Anyway i noticed this bit:
Quote:so you get full interaction support for anything Atlas can render - overhangs, gaps, ditches, and so on.
Overhangs? Don't see that really being possible loading data from height fields.

Also does this update have support for DXT textures for materials?
#40
05/28/2005 (10:53 am)
Yep, no large terrain for me either... did it get taken down?

I've tried generating my own terrain from an image created in photoshop, has anyone else created thier own .chu files yet and if so, can you paste the console output you got?

I'm getting past the header creation, but then its choking.