fun with caves

Community Forums/Showcase/fun with caves

koekjesbaby(Posted 2004) [#1]


download it here.

thew controls are: w,a,s and d for strafing and moving, drag the mouse to tilt the camera and press 1 to create a volume, 2 to delete/carve a volume. i know, the texture mapping needs some work, but i am pretty happy with the speed on my computer. does it add/remove instantly on yours? or dou you get a (small) delay when adding and deleting?

thanks!

ps. yes this is very similar to the thing sweenie posted a while back.


Beaker(Posted 2004) [#2]
Awesome. It would be a great way to model environments including terrains etc.

Seem pretty instant here.

What are your plans for it?


Rob(Posted 2004) [#3]
Immature controls and stuff, but rock solid and very impressive.

I would consider the purchase of such a system - even without lod - provided it exported in friendly formats. I could then import into max as it is incredibly intuitive.

In an editor environment with proper tiled textures like in ALE or UT2004, it would be clearly unbeatable.


koekjesbaby(Posted 2004) [#4]
heh, i have no plan ;) but i just thought i could use it as a level editor. or possibly for something real time, but it will nead some serious optimising because when the space and/or gets too large you will notice some (not serious, but noteable enough to kill the realtime illusion) slowdowns.

i guess it could be nice for terrains, but then the uv mapping should be a lot better than it is now and it could use some serious mesh optimising (or LOD, but i'm not going to do that).


koekjesbaby(Posted 2004) [#5]
Immature controls and stuff

heh, i know, but those are just my debug controls. i am pretty used to them, but i am aware that they don't serve a lot of purposes ;)

I would consider the purchase of such a system

you would? mh, i actually wanted to just give it away at some point (after i made my own game with it). and i think the code is still too messy to sell :)


Rob(Posted 2004) [#6]
perhaps, like YAL, it could be part of the community's source - and add a paypal donate link! :)

that said, many ways it can go. it's very interesting stuff and I fired off an email to mark about this sort of stuff a couple of months ago - definately the future of terrains.


ErikT(Posted 2004) [#7]
Great fun. Created an atmospheric cave in 5 minutes. It's a bit hard to control the carving, it always takes away or adds way too much I think. Nevertheless, very cool.


Beaker(Posted 2004) [#8]
Make a slim tool that spits out a high poly mesh and let the artist deal with LOD and stuff. Its very nice way of making environs.


Perturbatio(Posted 2004) [#9]
Looks very nice.
Somehow I managed to stop my W and S keys from working in the program. I was using the create volume key whilst holding the left mouse down and they stopped responding. A and D worked fine.


CyberHeater(Posted 2004) [#10]
This could be brilliant as a level designer.

Please release it to the community. It would be great to get some of blitz's best minds on this optimzing/improving etc...


Sweenie(Posted 2004) [#11]
Very cool.
That is rock solid! ;)

I still haven't fixed the UV's in my variant, instead I have been working on removing the "bridges" and spikes that appears between two nearby voxels and such(I saw that you have them too).
So currently I'm implementing a smoothingpass on the voxelset.


koekjesbaby(Posted 2004) [#12]
perturbatio:
very strange, i really don't have a clue why that could happen...

sweenie:
yes those bridges are annoying and ugly... i actually made a couple of fileters for my voxels like expand, contract, chaos and bleed. no smooth yet, but that was the next step. and my uv's suck, it's just cubic mapping on a per-quad basis. which means that if a quad is folded one of the tri's looks horrible. i actually looked into a lot of scientific papers about mapping arbitrary shapes but they are just to difficult for me.

at the moment i am pondering about this simple editor that just saves an .x (or whatever exporter i can find in the code archives ;))...


fredborg(Posted 2004) [#13]
Great! I managed to mess up the W and S keys as well :) It's a bit dark (even for a cave), could you add another light to it?

I think the only way to get proper texturing (without seams) is by using procedural textures. But this would mean you would have to unwrap the entire mesh, and transform the uv coords to world space. Much like the way a lightmapper works. Or is it possible to map it per face/quad?

Really nice, and I too would consider buying it.


Beaker(Posted 2004) [#14]
I messed up keys as well.

If you are talking about geometry spikes and bridges, then I say don't remove them!! If not ignore me.


koekjesbaby(Posted 2004) [#15]
hehe, stop breaking the controls! ;)

i could just map the whole thing per face/quad, but that doesn't look really nice (just like face mapping in max). do you have some links to documention about the unwrapping stuff? it sounds rather intersting, maybe not for an editor that exports a mesh that is going to be used in another package...

MasterBeaker: i'll just ignore you then ;)


fredborg(Posted 2004) [#16]
http://graphics.cs.uiuc.edu/~jch/papers/pst.pdf

About the face mapping: It sucks if you have only one texture. But if you have a texture that have for example 8x8 texture tiles in it, and vary between using each of these on individual faces you can get really nice results. Each tile would use the same base and have variations on the theme.

I think that's a better solution, than doing 'Solid Mapping' as that requires a humongous texture if you want detailed texturing.

I can think of another way too, but I don't know if it will work.

If you map the scene directly from the XY plane, with planar mapping, but push the UV's depending on the Z depth at a spot.

Something like this:
Graphics3D 640,480,0,2
SetBuffer BackBuffer()

tex = LoadTexture("texture3.jpg")

mesh = CreateCylinder(16)
EntityTexture mesh,tex

xyscale# = 1.0
zscale#  = 0.5

n_surfs = CountSurfaces(mesh)
For s = 1 To n_surfs
	surf = GetSurface(mesh,s)
	n_verts = CountVertices(surf)-1
	For v = 0 To n_verts
		uu# = (VertexX(surf,v))*xyscale#
		uv# = (VertexY(surf,v))*xyscale#
		uu# = uu - (VertexZ(surf,v)*zscale)
		uv# = uv - (VertexZ(surf,v)*zscale)
		VertexTexCoords surf,v,uu,uv
	Next
Next

camera = CreateCamera()
PositionEntity camera,0,0,-3

Repeat
	TurnEntity mesh,1,1,1
	RenderWorld
	Flip
Until KeyHit(1)
Edit: It actually works pretty well :)


koekjesbaby(Posted 2004) [#17]
yeah, i tried the "z-pushing" before but i was not really happy with the result...

it's a bit to stretched for my taste.

the use of tiles and "face maps" might be a cool idea though.


fredborg(Posted 2004) [#18]
I can see that :) I just tried it out on the cylinders :) Do the face maps...do the face maps! ;)


koekjesbaby(Posted 2004) [#19]


:)


aab(Posted 2004) [#20]
The scene Looks Great, and the responce to the controls is probobly perfect
This system could easily make a fun multiplayer (online) game with objectives of destruction (causing and avoiding)


podperson(Posted 2004) [#21]
Oddly enough the 1 key works for me but the 2 key generally doesn't... Neat concept from what I can see.


taxlerendiosk(Posted 2004) [#22]
Very, very good. I look forward to the final product. Don't worry too much about optimising the mesh, the user can do that.

I was just thinking, if it was possible to automatically carve a random cave, it'd be great for a Worms-like game in 3D :)


Falelorn(Posted 2004) [#23]
very cool.