Should terraforming be implemented in Darkplaces?

Developer discussion of experimental fixes, changes, and improvements.

Moderators: Nexuiz Moderators, Moderators

Should terraformable terrain be implemented in Darkplaces?

Yes, I want terraforming in and am willing to help in developing and implementing it.
1
9%
Yes, I want terraforming in but cannot or don't want to help with developing and implementing it.
5
45%
I don't really care if terraforming will be in or not so this doesn't matter to me at all.
3
27%
No, I don't want terraforming in and believe this is actually a bad idea.
2
18%
 
Total votes : 11

Should terraforming be implemented in Darkplaces?

Postby MirceaKitsune » Tue Nov 11, 2008 11:29 am

I have been tempted to make this topic for a while now. At the time being I consider Darkplaces to have everything anyone could want from a 3D engine, especially on graphics, features and optimized handling / performance. There are of course still a few things which aren't implemented in it such as mesh support (although model support can cover that), ragdoll physics and probably a few other things which are not that important. One important feature we are missing however and that we will need if we really want to make any good outdoor maps and especially if we hope to have vehicles and maps for them around is a real and correct terrain system.

Sure, there are terrain generators like SavageX's which I tried and is really good (it can make a grayscale image into a map with terrain) but such systems are not a solution anyone can use in making real and professional maps which could also look good and be easy to make. First problem is that having to draw an image or make a separate file or model somewhere else and generate your map off that is really not my idea of how terrain should be like. Second, the geometry of terrain made that way is of a very poor quality unless someone is ok with having the map weight +100mb and load in GTKadiant after 10 minutes. Third, bsp-based terrain is not editable after being generated. What if you change your mind and want to lower a hill, raise a mountain, etc. after you built more on the map? You then need to start your map all over again or re-generate the map with the terrain and copy-paste everything you made to it. And fourth, real terrain needs to support multi-texturing and painting of many texture layers on the same face. This can be simulated from the texture if you have Photoshop or something similar but that's once again improvising and can be hard to change if you want a texture to fit somewhere else.

There is another problem that comes here now... gtkradiant. The Radiant map editor doesn't have any kind of terraforming system implemented in it so the only way this could work is either if Darkplaces loads a plugin in Radiant at startup (if that is possible once it reaches the game path) and finds a way to implement a terraforming system in it that way, either if Nexuiz will have it's own version of Radiant which also supports terraforming (I seen there is something called NetRadiant around... not sure if that's Nexuiz's or not). Or in the worst case, Nexuiz can have a small tool with it which can open maps and handle the terraforming only, while Radiant would only display the terrain so you know where to place what (although that would be more like a terrain generator again but better then nothing if all else fails).

A perfect example of terraforming is the one seen in the Unreal 2 / 3 engine. The terrain starts off as a one-sided flat sheet then you choose a brush, it's strength and it's function and apply it anywhere you want to paint the geometry (lower, raise, smooth, noise, flatten, cut are most important). Then you choose a texture layer and paint it over the original one where you want (or if that's too difficult we can make it so layers are height-based and certain texture layers blend at certain heights like those you see in Second Life if anyone ever used it and played with the terrain there). Multitexturing isn't something that urgent actually as it can be simulated from the texture one way or another, what's important is a high quality terrain geometry which can also be modeled from the editor anytime.

I know this would probably be hard to implement in Darkplaces but I believe it is a very necessary part. There are already gametypes such as Onslaught and Assault which are being developed and without a correct terrain system we won't be able to make any good looking and correct maps for them at all. Think of the beautiful outdoor maps that Nexuiz never had alongside all the industrial-looking maps made only off cement wood and metal. I made a pool to see what people think and if anyone is interested in helping out with implementing this (just for the note I'm not a Darkplaces dev myself and little of a dev at all although I do make stuff but I'm not one who knows how everything in the code is like and how it all works). This is also a thread to discuss and encourage action over making this in the close future rather then dreaming about "how nice it would be like -if- someday such a thing might be in, etc". I'm sure we can do it for real and I would be willing to help with what I know too although this would require heavy code that's way beyond my knowledge so sadly I'm not sure how. But yeah, any ideas, suggestions or anything that helps please say here :)
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby Alien » Tue Nov 11, 2008 11:43 am

If you're gonna implement it. People want a lot of things.
Alien
Forum addon
 
Posts: 1212
Joined: Tue Apr 22, 2008 7:12 am

Postby MirceaKitsune » Tue Nov 11, 2008 11:56 am

Alien wrote:If you're gonna implement it. People want a lot of things.


Don't get me wrong, I'm not trying to say "do it today or tomorrow" to someone or anything like that. I know it's likely not something simple that the devs can even start in a month or two, and I wish I could better help if I wasn't such a newb with the more advanced code. It's more of an idea but that should one way or another try to find it's way in, if anyone is willing to. Many people have been wishing for this so I thought it would be good to bring the idea in a closer discussion and see what could be done. A lot of systems and effects have been put in Darkplaces over the last years from what I seen which no one expected could work so well. So I dunno... maybe over the months this could be one of them too.

[EDIT] I checked around that part a little bit and multitexturing / multilayer support for terrain is already present (although textures get auto-arranged rather then painted but that's very good too). The one in ons_reborn uses that... it even has grass particles over it. So technically, the only thing that needs to be done for DP is terraformable geometry somehow for this to be complete :)
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby TVR » Sat Nov 15, 2008 11:24 pm

Darkplaces is an indoor Quake-derived engine, it would be less difficult to create another game engine specializing in heightmap terrrain, than to rehaul the entire visibility system.
TVR
Alien trapper
 
Posts: 404
Joined: Fri Jun 01, 2007 12:56 am

Postby MirceaKitsune » Wed Nov 19, 2008 1:36 am

After a week of hard work I finished making my first Nexuiz map which is mainly a terrain based map. I made the terrain using EasyGen, a very useful tool which creates a .map file with terrain off a heightmap image... kinda the only way to make good terrain maps so far. Anyway from my experience on building this map this is what I can say;

1 - Creating the terrain externally or having to paint it off a heightmap is indeed pretty difficult. Around 2 and a half times as difficult as terraforming in the 3D viewfinder directly with terraforming tools would be... or at least that's how it seemed to me. So making terrain like this is more then twice the effort.

2 - There is not enough flexibility by creating and modifying the terrain externally. Every time you notice a change to the terrain is needed in the map after visiting it in-game, you must go in your terrain editing application, look closely where X item comes, how walking over Y surface is like, which vertex or pixel to change, then re-import and remake everything all over again. Worst of all, given the fact that in most cases this involves generating the .map file with terrain on it at the first thing, once you start building something else on the map there is nothing you can do to edit the terrain any more unless you start all over again.

3 - BSP-based terrain is bad for Radiant performance. I had a slow but reasonable FPS in Radiant while working with the terrain being there, mainly because of the complex wireframe that gets rendered in the three side views but also because of the high number of overall surfaces (since despite the game itself, Radiant does render caulk surfaces so you can see them and edit them). Fortunately if you zoom in these side viewers the performance gets much better. In-game performance is very good however, since the insides of the terrain are all set to caulk so at least that isn't a problem.

4 - The terrain is of a medium to low quality this way. One reason is because if you want your map to ever load in Radiant or not have 50 or 100mb the terrain must be simple and have few vertexes / surfaces (I pushed the performance by even making my terrain off a heightmap of 96x96 pixels). Second, the terrain textures don't align correctly in many places this way and appear at the wrong offset from one another in-game... another bad thing.

Basically it took me four entire days of hard work to create and arrange the terrain for my map. Two to make the geometry / heightmap and two to make the layers / alphamap correctly. Least I can say is that this isn't the type of mapping experience one would dream of... spending tons of hours to make a terrain which won't even be flexible or of a good quality. So yeah that's what I for one noticed as a mapper.

TVR wrote:Darkplaces is an indoor Quake-derived engine, it would be less difficult to create another game engine specializing in heightmap terrrain, than to rehaul the entire visibility system.


The engine Nexuiz currently has is one of the best I seen. I don't think making a way to terraform is impossible in it and a new engine would be needed just for that. And BSP terrain is usable, just not so much of a high quality. and many games including quake-based had terrain. Unreal 1 is an example of BSP terrain (although that's the unreal engine but still BSP) which was actually pretty good and impressive. On the Quake side, Kingpin - Life of Crime is a game that uses a very old version of the quake engine (was the best at its time years ago) and has a few good outdoor maps with some BSP terrain on them. Looks nice but at today's possibilities that's considered low quality as other way are possible now. So I believe the quake engine can get along quite well with terrain if someone wants to make it do so.
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby TVR » Wed Nov 19, 2008 3:53 am

MirceaKitsune wrote:... I believe the quake engine can get along quite well with terrain if someone wants to make it do so. ...


BSP terrain certainly, heightmap terrain not so.

Binary space partition requires compilation, a space must be divided into composite convex sets, efficiency decreases proportional to the square of planarity due to every surface affecting every other visible surface, therefore it is improbable real-time editing could be implemented.

Heightmap terrain does not require compilation, it is be interpreted in real-time, efficiency decreases linearly to the planarity.

The entire rendering system of Quake relies on BSP trees, both the scope of the work required to modify a 13 year-old engine not made for interpreting height maps, or the computational power required to compile BSP trees in real-time, is ridiculous.
TVR
Alien trapper
 
Posts: 404
Joined: Fri Jun 01, 2007 12:56 am

Postby Alien » Wed Nov 19, 2008 4:49 am

There isn't any better technique for closed maps yet and being rather old does not mean anything cause even newer engines do the same (bsp+portals doom3), if they are indoor based (most of them are not). If nexuiz went with 3000+ polies for models and good animations, then everyone would say - wow, the engine is the best ever.
Alien
Forum addon
 
Posts: 1212
Joined: Tue Apr 22, 2008 7:12 am

Postby MirceaKitsune » Wed Nov 19, 2008 10:21 am

Hmm... truth is a new idea has been in my mind for a while now and I think I know what a good alternative to this would be, which would require absolutely no change on the end of Darkplaces. I'm seeing that a Nexuiz version of gtkRadiant called NetRadiant is under development, which is there to stay up to date with changes and support in Nexuiz. So what if we could try to just implement a way to terraform a set of aligned brushes or better off a model from the 3D viewfinder in it? It would work exactly the same way as making a model in Blender and importing it just that you could work on it and see it there, and also make it in higher quality.

NetRadiant could have a small terrain editor tool box which would allow terraforming tools over in-map placed models which could be marked as terrain. It could then just push or pull the vertexes up and down and save that as a model / bsp in (or with) the map. Just another idea but that could really do the job well without requiring any touching of Nexuiz at all, if NetRadiant can support such a heavy implementation.
Last edited by MirceaKitsune on Sat Nov 22, 2008 5:45 pm, edited 1 time in total.
MirceaKitsune
Keyboard killer
 
Posts: 593
Joined: Thu Aug 14, 2008 6:48 am
Location: Romania - Bucharest

Postby Alien » Wed Nov 19, 2008 1:12 pm

There is/was plugin, iirc. Might be wrong cause never used.
Alien
Forum addon
 
Posts: 1212
Joined: Tue Apr 22, 2008 7:12 am


Return to Nexuiz - Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron