Fractal Brownian Motion
Billybob

I played with Fractal Brownian Motion for procedural terrain generation for a little while and got a rather nice picture :)

{"name":"601802","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/1\/a1bca34f37902e76499144418cfd363c.png","w":816,"h":638,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/1\/a1bca34f37902e76499144418cfd363c"}601802

8-)

It actually produced a pleasant result for just 20 or so minutes of coding and tweaking. Here is a code snippet:

#SelectExpand
1PerlinNoise terrainNoise = new PerlinNoise(); 2 PerlinNoise roughnessNoise = new PerlinNoise(); 3 4 for(int y = 0; y < 1024; ++y) 5 for (int x = 0; x < 1024; ++x) 6 { 7 float noise = 0.0f; 8 float k = 1.0f; 9 float scale = 128.0f; 10 float roughness = (roughnessNoise.Noise(x / 256.0f, y / 256.0f, 0, 0) + 1.0f) * 0.5f; 11 roughness = MathHelper.Clamp(roughness, 0.1f, 0.9f); 12 13 for (int lvl = 0; lvl < 4; ++lvl) 14 { 15 noise += terrainNoise.Noise(x / scale, y / scale, 0, 0) * k; 16 k *= roughness; 17 scale *= 0.5f; 18 19 } 20 21 noise = MathHelper.Clamp(noise, 0.0f, 1.0f); 22 data[y * 1024 + x] = (byte)(noise * 255); 23 }

I use a second Perlin Noise generator to create a random roughness map. That's what gives the map areas of smooth terrain and areas of mountain terrain. It should probably be tweaked to favor smooth terrain over mountains. Also, one article recommended using an exponent on the final value to make it smooth near coast lines. Anyway, lots can be tweaked, but I wanted to show how easy it was to get cool results in very little time.

Arthur Kalliokoski

Give us a 3d terrain view :).

Billybob

Well here it is as a colored diffuse map applied to a sphere:

{"name":"601804","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/8\/18f0e9f338fa81070fdf08b414d44b49.png","w":816,"h":638,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/8\/18f0e9f338fa81070fdf08b414d44b49"}601804

I'll plug in a new shader next and see if I can get a normal map to go along with this.

EDIT:
And now with normal+height mapping. Also, two different planets at the same time! :o

{"name":"601805","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/6\/761b469d4e4d360d49ade596fdbdcdfb.png","w":816,"h":638,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/6\/761b469d4e4d360d49ade596fdbdcdfb"}601805

Now I need to generate different color patterns for them.

EDIT2:
Colors! And random amounts of water and snow! 8-)

{"name":"601806","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/1\/71af987d8d76685a7e140cb09d823c31.png","w":816,"h":638,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/1\/71af987d8d76685a7e140cb09d823c31"}601806

I really need to speed up the noise function, but I'd also like to add a vegetation layer and then get these puppies in orbit. Plus stars!

blargmob

Oh boy this would be great to shove into my 3d galaxy simulations 8-)

Trent Gamblin

The second picture -- with the two planets, looks quite good.

Billybob

The second picture -- with the two planets, looks quite good.

Thank you :D I like those better as well. The color algorithm is just a quick hack. I'd like to tweak it more later to get better parameter distributions, as well as picking sane colors :P Plus vegetation patterns would look nice.

Star field!
{"name":"601807","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/e\/ce26c9f182bd15e4248511aea033f28f.png","w":1296,"h":1062,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/e\/ce26c9f182bd15e4248511aea033f28f"}601807

Made of about 100,000 points, brightness chosen with more Fractal Brownian Motion, and the shader for them automatically makes them flicker in both brightness and red/blue bursts.

Now I'd like a sun+orbits, better camera controls :-/ and perhaps some nebula-like formations in the distance.

blargmob
Billybob said:

nebula-like formations in the distance.

I can throw you some data/visualization techniques from my simulations to take good care of that if you'd like.

Dustin Dettmer

Ooo, purdy...

Billybob

Ooo, purdy...

;D

Space ship!
{"name":"601812","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/b\/0b59a5effd3f56ae2fe1147975261060.png","w":1040,"h":806,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/b\/0b59a5effd3f56ae2fe1147975261060"}601812

Controls are still odd but I'll put up with it for now. Next up, I'm gonna put the planet generator in a separate thread so it loads in the background. Then it's time for a little sun and solar system action.

I can throw you some data/visualization techniques from my simulations to take good care of that if you'd like.

I'm using procedural only methods. Got anything for that? Nebula are awesome looking, so it'll probably take me awhile to figure out a good way to generate them procedurally.

EDIT:
Solar system!
{"name":"601813","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/0\/20366a75f2bc22cec34ec5ff2dd80894.png","w":1296,"h":1062,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/0\/20366a75f2bc22cec34ec5ff2dd80894"}601813

Johan Halmén

{"name":"1523ef0fa16a3394c3811c0d21aa8bca.jpg","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/5\/1523ef0fa16a3394c3811c0d21aa8bca.jpg","w":340,"h":354,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/5\/1523ef0fa16a3394c3811c0d21aa8bca"}1523ef0fa16a3394c3811c0d21aa8bca.jpg

Billybob

Some basic nebula like stuff...
{"name":"601814","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/8\/887468d63343805c0828d2ec7c4f9288.png","w":1296,"h":1062,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/8\/887468d63343805c0828d2ec7c4f9288"}601814
Not amazing, but it breaks up the sky and makes it more interesting.

The planets now load in background threads, yay!

I'd like to work on the sun. It's just a sphere right now. I also want to generate locations for other solar systems and display them in the sky as brighter stars. Then I'll hack in a way to select and travel to one :)

EDIT: Yay I've got 256 different solar systems available for exploration now. 8-) I can even travel to a few of them. Next up, map them onto the sky and allow myself to select and travel to them that way.

LennyLen
Billybob said:

Not amazing, but it breaks up the sky and makes it more interesting.

I really like it just as it is. I'm sure you can do some great things with that with as a starting point.

Jakub Wasilewski

{"name":"601816","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/6\/a66e744f9cab41aeec50b9f620812001.png","w":700,"h":500,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/6\/a66e744f9cab41aeec50b9f620812001"}601816

Seems like a lot of us have been working on planet generators at one point or another ;).

Trent Gamblin

Johan's, although unrealistically exaggerated, looks cool. I used that terrain generator of yours, Johan, for a game I made btw... though I didn't use the default colors.

Billybob
LennyLen said:

I really like it just as it is. I'm sure you can do some great things with that with as a starting point.

Thank you for the kind feedback :) It makes me happy to hear other people like it.

Seems like a lot of us have been working on planet generators at one point or another .

Is that image from one of your games? If so, it looks really nice 8-) Kind of has a feel that I'm going for. Not quite sure what my gameplay is going to be, but at least one part will be going to planets and checking out their resources.

Finally got nearby solar systems to show up as brighter stars:
{"name":"601817","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/f\/7fa864b80ff2386a84ddab7c99c8a088.png","w":1296,"h":1062,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/f\/7fa864b80ff2386a84ddab7c99c8a088"}601817
New sprite:
{"name":"601818","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/5\/556c874b96900884ff91157e2916665b.png","w":1296,"h":1062,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/5\/556c874b96900884ff91157e2916665b"}601818
I like the sprite in the second image better, but it's a bit harder to see. Needs more work.

Next up, selecting and travelling to those systems, and then sun texture+glow.

EDIT:
YAY! I added a gui system (Neoforce Controls). Using that, I was able to get the cursor to change when hovering over a nearby solar system, and double clicking prompts me to travel there. I was even able to bounce back and forth between two known solar systems using a little navigation skill. 8-)

EDIT2:
Naming system and highlighting ;D
{"name":"601819","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/6\/664076a3bf8d1bb3c53dc03e6719b85e.png","w":1040,"h":806,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/6\/664076a3bf8d1bb3c53dc03e6719b85e"}601819

Jakub Wasilewski
Billybob said:

Is that image from one of your games?

Yup, it's from a Flash remake of Starship Survivor that I'm currently working on. It's not going so well lately, though.

Good luck with your project ;).

Billybob

A little video that I thought was cool.

video

Quite peaceful I think.

I'm adding the beginnings of game play now. Still no idea what exactly I wanna do, but ... I shall proceed blindly and keep adding fun things 8-)

Yup, it's from a Flash remake of Starship Survivor that I'm currently working on. It's not going so well lately, though.

That's a shame. I'd love to give it a play. I tried your original Starship Survivor. The game play sounded quite fun, although I had the hardest time controlling my ship :'( I'll probably try it again later and do my best to actually collect something ...

OICW

Oh crap. And I've been meddling with this semestral project for quite a while:
{"name":"normal-mapping.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/8\/a86352556b93381f92111cfc7704bbe9.png","w":802,"h":628,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/8\/a86352556b93381f92111cfc7704bbe9"}normal-mapping.png

Slartibartfast
Billybob said:

Quite peaceful I think.

The lighting on the planet seems weird, it is as if every place on the planet is lit from the side (so the sun is rising over the entire planet)

Arthur Kalliokoski

The lighting on the planet seems weird, it is as if every place on the planet is lit from the side (so the sun is rising over the entire planet)

He's probably forgetting to add the correct normals per vertex.

Billybob

OICW: Looks very nice. 8-) Better than my cartoony planets :( I'll have to go back and tweak a lot to make mine look nicer.

In the meantime, I'm plunging into game-play! I added a crazy, experimental idea I had. Inspired by Minecraft and Manufactoria, I wanted to have a crafting system in my game with a twist: programmability. The player creates blueprints for machines by combining various components that act kind of like a graphical Finite Automata.

video

In the screenshot you can see the debug window for an automated mining machine. The 3x3 grid is the graphical FSM. The orange grid on the right is a material density map of the planet. The machine moves to the area with the highest local material density and mines there until it needs to move to the next highest area. On the 3x3 grid a green background indicates that "instruction" is going to be executed next. There is a mine instruction, a switch, and a move north and move south instruction.

After implementing this, as crude as it may be, I'm actually quite happy with the possibilities. The player will create blueprints, and then can make and install the machines on planets and such. The bigger and more complicated the blueprint, the more expensive the machine will be. The machine above would be cheap, but it's slow (spends most of its time looking for local maxima). A faster machine would cost more to make, but would hopefully extract materials faster.

What do you guys think? I'm sure it will need lots of tweaking, but I'm curious to hear feedback.

OICW
Billybob said:

Looks very nice. 8-) Better than my cartoony planets :( I'll have to go back and tweak a lot to make mine look nicer.

Thanks. Right now I'm trying to get rid of visible seams on the normal map that is cube mapped onto the surface. I must say that it added a lot more details to the planet although it's really a low poly model.

Last thing I need is better zoning and improved generator.

Billybob

I've made a bit more progress on inventory and machines. There is a window for designing blueprints, and the player can craft machines from blueprints within the inventory screen. There's also a way to view the machines currently on a planet, and install new ones. 8-) And of course you can open the storage containers on each machine to grab the raw materials its collected thus far.

{"name":"601849","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/6\/f63cd016d3a414b11448dc8eeae5e484.png","w":1040,"h":806,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/6\/f63cd016d3a414b11448dc8eeae5e484"}601849

phew Now I need to have it require raw materials for the production of machines, and probably a time delay. Then I guess I'll start implementing some markets where materials can be bought and sold.

Bruce Perry

{"name":"fire.jpg","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/6\/665af8e0cdd61e1752ac62c467f7fbc1.jpg","w":646,"h":507,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/6\/665af8e0cdd61e1752ac62c467f7fbc1"}fire.jpg

{"name":"9465-1","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/e\/1e8e114ecfb8cfe900e80d8d443d2cc9.gif","w":320,"h":200,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/e\/1e8e114ecfb8cfe900e80d8d443d2cc9"}9465-1

From TINS and SpeedHack entries respectively :)

blargmob
Billybob said:

I'm using procedural only methods. Got anything for that?

No :-[

But you're system is looking fucking great so far. If you haven't seen this already, give this a look

http://www.infinity-universe.com/Infinity/index.php

It's this enormous procedural project being coded by the Admin with content coming from the vast community. In the end, it'll be this gigantic sci-fi, space, open-world/open-ended game where you can essentially do anything you want.

Aside from the assets, everything is procedural and they estimated (IIRC) over 70 billion EXPLORABLE star systems. It's looks pretty fucking promising so far; I very much encourage you to watch the April Tech Demo video.

I await the release of this game very eagerly 8-)

OICW

Allright after some time spent improving the generator and texturing here come results.
{"name":"screenshot004.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/2\/c2ff30ec4ed3d103acc4c3267e38d82a.png","w":802,"h":628,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/2\/c2ff30ec4ed3d103acc4c3267e38d82a"}screenshot004.png
{"name":"huge-planet.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/4\/a49041057d4ed648061a7a669f19b9bf.png","w":802,"h":628,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/4\/a49041057d4ed648061a7a669f19b9bf"}huge-planet.png

Michał Cichoń

Nice one.

Slartibartfast

My name is on those screenshots.
Yet I see no beautiful fjords...

Yodhe23

Nice images, though totally unrealistic worlds, you just don't get mountain ranges that big, "atomspheric drag" amongst other things would be enormous.... There tends to be reasons most worlds seem to have a roughly spherical shape.
The question is whether you are going the artistic, or realistic route...

Nice work though, keep it up, and there might be a cookie and glass of milk at bedtime for you. :D

LennyLen

My name is on those screenshots.
Yet I see no beautiful fjords...

They were removed as an awards category I believe.

Arthur Kalliokoski
Yodhe23 said:

"atomspheric drag" amongst other things would be enormous....

What? So it'd cut down on the winds...

Thomas Fjellstrom

It might actually stir up the winds, the mountains would whip through the atmosphere, pushing it around.

Arthur Kalliokoski

Uh, doesn't the atmosphere rotate with the planet? Convection currents are altered by Coriolis forces, but that's just a detail.

Thomas Fjellstrom

Uh, doesn't the atmosphere rotate with the planet? Convection currents are altered by Coriolis forces, but that's just a detail.

Not at the same rate afaik.

Arthur Kalliokoski

If the atmosphere didn't rotate with the Earth, Mt. Everest would be making quite the sonic boom, and Cat 5 hurricanes wouldn't hold a candle to the prevailing winds.

OICW
Yodhe23 said:

The question is whether you are going the artistic, or realistic route...

The former. The second shot is closeup zoom of another planet with radius of 100 units and maximal height of 20 which is quite exaggerating. Everything except terrain textures is procedurally generated even positioning of dryer and wetter places, which provides unrealistic locations. But what the hell :)

My name is on those screenshots.

Yep, all in all it's the planet generator :)

Billybob

But you're system is looking fucking great so far.

Thank you!

Quote:

It's this enormous procedural project being coded by the Admin

:o Beautiful work they've done! I envy it.

OICW said:

Allright after some time spent improving the generator and texturing here come results.

Very nice. I like it a lot 8-) I bet it would look great with some clouds (with shadows) and an atmosphere shader.

As for my puny little project, I've improved working with the machines a bit, so installing and uninstalling them is easy. They can be crafted and consume resources to craft. Planets have a few more resources that can be mined, like Crude Oil. The player can now also craft resources from other resources, like turning Crude Oil into plastic, which is used to create Circuits, which is needed for crafting Machines :)

And then, of course, Markets!

{"name":"601863","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/2\/82bd5bff7fcda668b7cd2558b2237009.png","w":1040,"h":806,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/2\/82bd5bff7fcda668b7cd2558b2237009"}601863

Prices are chosen by a dumb AI based on a proxy for Supply and Demand. I need to add NPCs now so that there are other people mining and using the markets. Hopefully I can get a somewhat interesting economy going soon.

SiegeLord

I really hate when these beautiful games are ruined by people adding lame gameplay to them :P That's why I still feel like Noctis is unparalleled at the proceduraly generated universe genre.

Something for a future project of mine, no doubt, heh.

mEmO

This looks very cool, but I'm slightly worried that you're actually trying to make real world progranisms to conquer the universe...

Johan Halmén
OICW said:

Allright after some time spent improving the generator and texturing here come results.

That's beautiful. But the mountain range forms a very straight line there. I had exactly the same problem. My algo was based on triangulating a icosahedron.

OICW
Billybob said:

Very nice. I like it a lot 8-) I bet it would look great with some clouds (with shadows) and an atmosphere shader.

It would, but that would require someone hacking my fragment shader to incorporate the atmosphere. It's even in the list of things that should be done, but weren't in the specification: realtime atmospheric light scattering. That and better water.

That's beautiful. But the mountain range forms a very straight line there. I had exactly the same problem. My algo was based on triangulating a icosahedron.

Thanks. Well yes, the range is quite straight line, because all the noise added up to the straight line in that region. However on other planets I haven't seen such artifacts. Though I must say that my implementation of Perlin noise has this habit of generating repeating patterns on the sphere.

By the way I have a feeling that I'm doing something similar that you did. Though I begin with a cube and let the algorithm subdivide it. Additinal details are then supplied via normal map, otherwise it doesn't look nearly as beautiful as it looks now.

Johan Halmén

Starting with a cube you have 8 vertices on the sphere. And 6 squares. I bet when you have subdivided them enough times, at the original 8 vertices three line segments meet, forming 120°, while at every other new vertex caused by the subdivision you have 4 line segments meeting at 90°. While the cube is a perfect polyhedron, the more complex perfect polyhedron you start with, the smaller will the difference be between the original vertices and the new ones.

When I started with an icosahedron, I had 20 triangles and 12 vertices. After each subdivision I got 4 times more triangles and... um... some more vertices. At the original vertex, 5 line segments meet, so the angle inbetween is 72° in the final (almost) sphere. At each new vertex, 6 segments meet, so the angle is 60°. I tried also with cubes - and other polyhedrons for that matter - but at least with my method the original vertices were too visible in the final image.

I bet your straight mountain range follows somewhat one edge of your original cube. And ends at one original vertex. And at the vertex you might see another line forming a 120° angle.

It might be somewhere here.
{"name":"601866","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/4\/24bb10f0f97d8dffaae54f78efb0106c.jpg","w":802,"h":628,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/4\/24bb10f0f97d8dffaae54f78efb0106c"}601866
The coastline above my red line to the left would support my suspicion.

In this image of mine, that I posted earlier...
{"name":"1523ef0fa16a3394c3811c0d21aa8bca.jpg","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/5\/1523ef0fa16a3394c3811c0d21aa8bca.jpg","w":340,"h":354,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/5\/1523ef0fa16a3394c3811c0d21aa8bca"}1523ef0fa16a3394c3811c0d21aa8bca.jpg
...you might find the vertices where only 5 triangles meet. They are the original ones of the original icosahedron, while at every other vertex you have 6 triangles that meet. This is a very rough model and the only thing that makes the original vertices hard to spot is the great part of flat ocean. Somewhere I have a better image with more subdivisions, but it took days to render.
And now I can't find it.

OICW

Your theory is good one, but I'm sorry I have to prove you wrong:
{"name":"mountain-range_blend.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/d\/d\/dd6ae851ea93c47a50b325ead423ad46.png","w":802,"h":628,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/d\/d\/dd6ae851ea93c47a50b325ead423ad46"}mountain-range_blend.png

The original vertex is a bit off the mountain range and one of the original edges runs through the range (at one time it was even misaligned). I've blended it with the wireframe view. Though now the coast line has more vertices than necessary because of the sudden drop and error metrics in the algorithm. So it isn't that clearly visible. However it's on the south-east end of that island. When viewing the wireframe one can see six lines coming into one vertex and a triangle forming around it.

The sharpness and straightness is due the way how I've implemented Perlin noise which is then ran through the fBm function. I was inspired by Sean O'Neil's articles up to the point that I've implemented his spherical version of the ROAM algorithm. The original algorithm takes two right triangles and divides them as necessary to create "flat" terrain. In my program I take six such planes, bind them together and add a radius to the vertex heights.

Arthur Kalliokoski

Maybe you're all going about this the wrong way by trying to randomize a flat terrain and then trying to wrap it to a sphere.

I'm sure you've all heard about how to tesselate a sphere from a regular solid as finely as you want to achieve a smooth sphere, but here it is anyway.

Once you've done this to the required degree of detail, you could use fractal terrain generation to achieve realistic landscapes. You would use the creation order of the vertices as points to adjust instead of diamonds on a flat map. Of course if you wanted seas, simply "floor" the vertices distance from the center of the sphere and mark as sea level somehow.

I have to confess I haven't looked at Perlin noise at all and have no idea if it would work here.

Johan Halmén

This is one image I did with my Fractal Planet generator. It's practically same as my earlier images, only different colours and more generations of subdivisions.
{"name":"601872","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/4\/e48b09d41b9d71c43c094e6f3e71f5ee.jpg","w":1024,"h":768,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/4\/e48b09d41b9d71c43c094e6f3e71f5ee"}601872

OICW

Looks nice. Though the method you use seems to produce really sharp mountain ranges and nothing more.

Johan Halmén

Yes. I use exactly the method described in the link that Arthur provided. Midpoint displacement. I could have used another factor to cause softer terrain, but still there would be no variation. Everything looks evenly fractured (except the spherical zero level).

I'd love to add real shadows there. Now each triangle gets its shade depending on the angle to the light source. But that doesn't yet cause shadow casting.

Arthur Kalliokoski

Yes. I use exactly the method described in the link that Arthur provided. Midpoint displacement.

The point of my post wasn't so much the method to perturb the vertices, but to not have distortions trying to wrap a flat map onto a sphere. Did you do that?

Yodhe23

Hi Arthur

Is this the sort of thing you were after
http://www.genekeyes.com/FULLER/BF-1-intro.html
??

Johan Halmén

No, I didn't try to wrap a flat map onto a sphere. I only created a polyhedron with some 20,000 triangles, starting from an icosahedron. Each triangle got gouraud shaded.

OICW

The point of my post wasn't so much the method to perturb the vertices, but to not have distortions trying to wrap a flat map onto a sphere. Did you do that?

I did that. First I have the heightmap that is cube mapped to the sphere. Unfortunatelly it has a small resolution compared to the level of detail that is possible on the mesh. So I replaced the OpenGL rendering pipeline with GLSL shader that takes the height information from it, normal from the normal map (calculated from the heightmap and also cube mapped to the surface) and weather zone info (another lookup texture) to create terrain textured surface.

Unfortunatelly the only method of calculating texture coordinates that I've been able to understand and implement was tri-planar texturing used in one of the nVidia demos. It uses three projections into the base planes and blends the color between them. It provides nice results without any visible distorsions (though sometimes there are certain artifacts). The drawback is three texture fetches for each terrain type - twelve in total (sand, grass, dirt and snow) and believe me, it really takes on the framerate.

Billybob
mEmO said:

This looks very cool, but I'm slightly worried that you're actually trying to make real world progranisms to conquer the universe...

Thank you! Nope, no progranisms this time :( Just some good old tradin', fightin', explorin' space action sim fun.

I've done a lot of little things in my game. Improved the market AI a bit; added mining NPCs that go around, mine the planets, and sell their cargos on the local markets; improved some of the interface; added a star map; and began work on mine-able asteroids. Also, I added a warping sequence. So instead of just jumping instantly from planet to planet, it does a proper launch sequence. I spent part of today trying to make some neat audio snippets for the on-board computer.

video

Still quite clunky, like everything in the game right now, but at least I've got the basic idea down.

OICW

Nice. I don't think we've talked about it here, but are you using the XNA framework? At least the ship model is contained in the examples if I'm not mistaken :) Anyway good progress, at least you have some use for your planets. I'm in the third day of writing a really boring report about my work.

By the way, I really liked how the ship collided with the planet upon arrival ;) I know, still development version, but it sparked an idea: what if the warp engine had a small chance of malfunctioning (maybe higher the distance, higher the chance) and spitting you against the surface at high velocity instead of a smooth re-entry?

Thomas Fjellstrom
Billybob said:

Still quite clunky, like everything in the game right now, but at least I've got the basic idea down.

Quote:

You have arrived at your destination

Yes, but more like "You have crashed into your destination" ;D

Thread #604600. Printed from Allegro.cc