LWJGL BlockWorld

Hi.

There is nothing wrong with it!
I was just wondering, because it seemed like no one makes any plans at all for their voxel-engines.
A voxel-engine without any planning is going to be refactored a lot.
By having a good plan you won’t have to refactor that much.

Im saying that only because no one should go trough the pain called “code refactoring”.
But without any plan one will have to go trugh that many many times.

  • Longor1996

PS: If this post seems somehow unfriendly/non-constructive, please mind that i have an ill, and im not in the best mood because of that.

Hi Longor

Your question does not seem at all unfriendly. And you have made a good point about refactoring, it would be a reall mess to refactor my code into a full game.
Though I am having to go through that process with the code somewhat to make parts of it useable in another project. It is something that is invaluable on a big project.

I’m not sure if a post was removed, but sometimes getting something to work is just fun too!

My two cents worth,

I’ve been a software engineer for 18 years, mainly C++, albeit not using OpenGL, so for me, this is a learning process, just having fun and many frustrations, but that is programming and that is what drawn me to it when I did my first degree, since then I’ve gone on to do a PhD in emotional engineering and I think that has damaged my brain some ;D So, doing a voxel engine is kinda fun, and most importantly, educational.

We’re not really cloning Minecraft.
We’re doing what any voxel engine based game should have.
And anyway, Minecraft isn’t really what anyone here is aiming for. There are endless ways a voxel engine can go.
Voxel Engines have lots of varieties, and the points which you believe are from Minecraft are really used in most voxel engines.

In conclusion:

We may as well be cloning Infiniminer. 8)

Update

I will be now working mainly on my other project:
http://www.java-gaming.org/topics/3d-turnbased-rougelike-lwjgl/29229/view.html

However I will perhapse use this sandbox environment to test various effects, a cubeword project is ideal for that.
For my other game I will have a 3d partical system and this is a test in the blockworld environment to see how viable that would be.

CC-xB8DcA2s

I’m not sure if im allowed to have 2 active threads?

The friction is a bit too low (looks like they are gliding on ice), other than that, nice explosion! :slight_smile:

Mike

Hi yea I see what you mean. That’s easy to change, just a float value. But It’s just made me think, I ought to make them bounce about! Will get onto that tomorrow.

Thought your game was amazing, will keep checking it out. :slight_smile:

@Vermeer - your game looks awesome :wink:

The explosions are cool, I like where this is going, do you have a list of features that you will implement?

Interested what you might do with this.

Looks great

Explosion tests, including 2000 block explosion test.

be_wCOCp3uU

UkVlxca072o

@dime ty, I am only using this as a test project now to try things out for my other game.

@steg. Thank you, yours is looking good too. :slight_smile:

Damn that is looking so good :slight_smile: Very pleased for you and this is inspiring.

Did you do a new routine for the ray cast?

There has been some inspiring projects in this thread, so I wanted to delevlop this a little more!

Update

Infinite random terrain…and jetpack to view it with :slight_smile:

pNd2sn1Fxow

Cool Vermeer,

Do you unload chunks when they are not in view and then load new ones?

@Vemeer:
Pro-tip:
Use another simplex noise layer to generate the grass colors :wink:

Update
I am doing some more work on this to learn some things I will need for my other game.

The biggest change is from VBO’s to Display lists. That may sound odd, but FPS is much increased. My management of static VBO was probably not ideal. I can go into specific details if required.

I have also temporarily removed infinite terrain to improve the feel of everything and restructure the code to be more game orientated, in preparation for adding multiplayer support.

I am currently adding trees and shaders - in preparation for using my own textures. I also plan to use the UI from my other game, as its designed to work in any project.

I have added large scale water (that does not flow yet) but it feels like water, effect movement and vision, and I have added sounds too( but they didn’t record, that will be sorted for next update). I’m thinking of joining GitHub soon and will put the project up there.

Yes, I had a fixed number of chunks, and moved data into them to overwrite un-needed chunks. (will put this back in soon)

Thanks for that, I will do that when I get around to biomes!

here is latest update:-

bVLixGQIwP4

I agree with the assertion that voxel engines have many possibilities, my problem with what most people building them does is this:

Is it so hard to try and use textures that aren’t an almost exact match to Minecraft’s?

When at first glance voxel engines (even in development stages) look like Minecraft clones, then it is to be expected that people will think they are clones.

When engines like the one on this thread feel and behave pretty much like Minecraft, up to how broken blocks fall as spinning smaller versions of themselves, then the “I’m doing something different” defense wears thin.

Mind you, it is perfectly fine if you want to make a Minecraft clone as a way to learn stuff (I’m not one to speak of originality myself), but just don’t get pissed when someone inevitably points it out. :slight_smile:

But seriously, people, come up with a different standard block instead of dirt with grass on top.

A Minecraft clone is actually a pretty good way to learn OpenGL and 3D concepts. :slight_smile: Who cares what the product looks like – this is a programming forum, after all.

@oskuro

Thanks for your comments. I will take this in a new direction eventually, like I’m planning water shaders etc. I will try to make the graphics different! But I do take what you mean. Actually part of the idea is replication, it’s like having a specific goal, sure the problems of playability and what makes a good game is solved, but my quest is to try learn how to implement things. And being original, without the underpinning skills is a bit much for me.
In short, it’s a way to focus and solve specific problems.

Thanks Davedes, also thank you for the amazing tutorials on shaders. This is what I’m reading!


Your normal maps in lesson 6 is awesome. :slight_smile:

My tests showed the same so it isn’t as weird as you may think :). Display lists are actually very well optimized in the drivers, so from a performance point of view when rendering is a toss up between the two. Sometimes the one is quicker and sometimes the other. The huge performance gain you get from VBO’s are when doing something that updates. For example, in my game the fps drops with about 10-20% when using VBO’s on my gfx card, but the time it takes to load in the landscape into memory is about 200-400% quicker.

If you want to support all kind of computers you can give the players the option what to use (like minecraft does). If not just take one and go with it, the difference in switching isn’t big enough to rewrite everything.

Mike

Update
I am doing some more work on this to learn some things I will need for my other game.

The biggest change is from VBO’s to Display lists. That may sound odd, but FPS is much increased. My management of static VBO was probably not ideal. I can go into specific details if required.

I have also temporarily removed infinite terrain to improve the feel of everything and restructure the code to be more game orientated, in preparation for adding multiplayer support.

I am currently adding trees and shaders - in preparation for using my own textures. I also plan to use the UI from my other game, as its designed to work in any project.

I have added large scale water (that does not flow yet) but it feels like water, effect movement and vision, and I have added sounds too( but they didn’t record, that will be sorted for next update). I’m thinking of joining GitHub soon and will put the project up there.

Yes, I had a fixed number of chunks, and moved data into them to overwrite un-needed chunks. (will put this back in soon)

Thanks for that, I will do that when I get around to biomes!

here is latest update:-

bVLixGQIwP4