Voxel-Engine | OpenGL + C++

Started by
11 comments, last by Techieman 10 years, 11 months ago

Hello,

I'm new here so I hope I didn't post it on the wrong subforum.

Well, I'm posting here because I've an question. A friend and I are making a game that's using OpenGL 1 and C++.

The most significant part may be the voxel engine. That's my problem. I've no Idea that seems to be good.

Ideas:

1) Generating Colored Perlin Noise maps for each layer and load map from this file

2) Using the random-function provided by the Windows OS and generating map by these random values.

Is there a good way that YOU would recommend?

So, well, I hope you've some better ideas for me that could help us to manage this smile.png

Thanks Techie

EDIT: We're not / won't be using STL!

It's not a shame to make mistakes. As a programmer I am doing mistakes on a daily basis. - JonathanKlein

Advertisement

EDIT: We're not / won't be using STL!

Why not? You have something better?

EDIT: We're not / won't be using STL!

I'm no C++ coder but not using the standard libraries provided by the development tools seems a bad idea.

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

If you want to use only OpenGL 1, you'll end up with a ... 1995 looking game... well. You could use CPU power to leverage that limitation for example by running marching cubes to polygonize your voxel cloud.

About STL... hm, you may check STL Port, EASTL and µSTL if you don't want to use your compiler's STL.

For prodecural generation, any random funciton will do, the quality of the fractal loosely depends on the quality of the base random function, it is much more dependent on the function that you apply above that random function, and most of the time the rand() will be called multiple times, completely hiding faults that the rand function may have.

If you still want super crazy random functions you can go check boost mersenne twister.

If you use a 3D perlin function, you'll end up with a level that looks like a cloud. 2D perlins generates interesting heightmaps, you could voxelize a surface following the heightmap and then modelize caves and cliffs manually from there...

This journal post of JTippetts might interest you.

EDIT: We're not / won't be using STL!

Congratulations on this sound business decision ! If you are paid by the hour, you will certainly get rich !

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596


If you want to use only OpenGL 1, you'll end up with a ... 1995 looking game... well

..well that's still not as bad as, say, Minecraft.

Few, pre-shader games of yesterday:

unreal2.jpg

50474921.jpg

Quality Art Assets (if you can afford them) can go a really long way even on old tech...

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

If you want to use only OpenGL 1, you'll end up with a ... 1995 looking game... well

..well that's still not as bad as, say, Minecraft.

Few, pre-shader games of yesterday:

Quality Art Assets (if you can afford them) can go a really long way even on old tech...

I knock on Minecraft all the time, but, to be fair a voxel based game world would have much different technical constraints than the average FPS like unreal. There's arguably a lot more to draw and a lot less static geometry that you can use rendering tricks on. I highly doubt you could have taken a game like unreal and make it like minecraft while still maintaining the same look on that hardware.

These days, sure, it could probably look like that. Back then? Highly doubt it. They put a lot of work into optimizing those pretty levels.

Plus, as we all know, fps's are pretty much the mainstay of best graphics for a generation of consoles or tech. But still Minecraft looks the way it does due to developer choice not due to technical constraints, so it's a rather moot point anyway. Opengl 1 is the only thing at topic here and that would.. well, not scale as WELL with hardware as a modern version but certainly be much stronger than back then.

I knock on Minecraft all the time, but, to be fair a voxel based game world would have much different technical constraints than the average FPS like unreal.

Since we are talking about technical quality, I have to assume you are not talking about average gameplay, but about "average" technical excellence.

I couldn't disagree more.

You -clearly- have not experienced the technology shock from running the Unreal 1 for the very first time on your machine. Or you weren't really a strong gamer, so you might not really care at that time.

The technology Wow factor like that didn't happen more than 4-5 times in whole 3D gaming history. I'm pretty sure I did not experience a technology jump like that, since that time, due to the simple fact, that the difference in 3d effects for next games was merely incremental.

Not even shaders themselves brought such a wow factor. Not even Crysis (which was also just a relatively small difference to the then-next-best-looking game).

The performance and feature-set of Unreal1's SW rasterizer were absolutely mind-blowing. 3DFX renderer was certainly very nice an fast (but that was expected), but the SW rasterizer was something ucomparable to anything else on the market at that time and for a very long time after that.

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596


I highly doubt you could have taken a game like unreal and make it like minecraft while still maintaining the same look on that hardware.

Uhm, no smile.png

Your gaming history must have clearly started way, way too late.

Ever played Commanche 1 ? You know, that first voxel helicopter simulator ? I played it on my AMD 386 DX 40 MHz in 1992. Fourty Megahertz.

I used to play lots of flight simulators back then and it took almost 10 times a faster HW (and 3D cards) to come up with comparably better visuals, taking into account the difference in performance. Yes, the voxel renderer was that much ahead.

If you ever had a chance to play the level, where they enabled water reflections for the first time and flew through some narrow canyons and then played the next-best-looking game of that times, it would be like Crysis vs Wolfenstein 1 (yes, the one which ran on 80286).

I clearly remember how years went past, and although the quality of polygon rasterizers have been steadilly rising, yet it took way too many years to surpass the voxel quality of Commanche.

Talking about voxels, do you recognize this ?

Outcast1b.jpg

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

This topic is closed to new replies.

Advertisement