Total n00b here. Please have patience. Thinking of ambitious project (for me at least). Know it’ll be lots of work. Willing to invest the time. Will have many questions over time. I know they will be dumb-ass questions. Hope someone will answer the first one. I wrote a long post before which received no replies, which I understand. I’ll keep it short this time. First I’ll explain my first small goal.
I want to create a small piece of terrain consisting of tiles. You could say it’s similar to voxels except I don’t want them to be cube shaped but pretty flat. The reason I want that is because eventually I will want to perform actions on them like for example simply moving them around. I don’t see a practical way of achieving this with a traditional polygon and texture based terrain. Right now it doesn’t matter if it’ll be the size of 10 by 10 tiles or 100 by 100 tiles, I just want to create a working conceptual design. To start with based off of a height map.
I have read some threads on here about voxel terrains and such but a lot of them are relatively old and I didn’t really find information that could get me started. Now my first question is as follows.
Do I need to create a structure for this from scratch or are there parts of jmonkeyengine which I can use or somehow make changes to in order to achieve this?
Take a look at the JME tutorials in the Advanced section. You’ll see a few tutorials specifically about this. Here is a link to the endless terrain section:
@t0neg0d said:
Take a look at the JME tutorials in the Advanced section. You'll see a few tutorials specifically about this. Here is a link to the endless terrain section:
Thank you for replying. I have read the page you linked me to. I have also looked at the two pages that were linked to on the bottom of that page before. As far as I can tell those are intended specifically for the generation of polygon based terrain whereas I am looking for a way to create a terrain consisting of blocks, let’s call it a Minecraft-like terrain. (though I’m not looking to create some sort of Minecraft clone)
Okay I’ve read that thread but I honestly don’t see how that relates to my question. I see talk about floats versus doubles and optimizing code while writing it instead of doing it afterwards. Then there’s talk about Marching Cube algorithms and level of detail and such. The example videos later in the thread show something that is completely different from what I am hoping to do. I have to reiterate that I am completely inexperienced and that stuff in that thread is all way out of my league.
What I want to create is something like this. (albeit on a much simpler scale to start with)
I’ll be happy if I can make a 10 * 10 map that I can experiment with.
Like a Bloxel engine? (except flatter? like half the height of a box or what?)
This is done with creating polygons in the form of boxes (and not rendering the unseen tiles), so you’re going to have to learn about Custom Meshes. This site explains a little bit: Let's Make a Voxel Engine - 01 - Basic Block Rendering
To have flatter tiles, just the heights lower in the mesh creation; like I said, you’ll have check to see if the tile is actually visible and render the visible faces, so do that to.
@nomnom said:
Like a Bloxel engine? (except flatter? like half the height of a box or what?)
Yes exactly! Well probably not half the height of a cube but maybe like a tenth or a quarter of it. Then if necessary stack multiple on top of eachother in order to create differences in height that are smaller than a cube.
My original question in this thread was if there is a structure in place for achieving this ^^^ within jmonkeyengine or if I will have to create one from scratch. I guess from the reply you gave that I will have to make an engine for this myself. I haven’t had time to read the pages you linked to yet mind you but I will get right on that.
In that thread, around page 15 I believe, another guy takes some measures in further optimization. It is probably a good idea to read through the whole thread.
If I were you I would just take something like the bloxel engines we already have and modify it to get whatever height tiles you need; but if you really want a learning experience doing it yourself is good.
I implemented a super quick one in about a day, and my programming is crap; it still ran at 2000fps with 27000 blocks with just basic culling
But yeah, read up on bloxel engines and then just modify one to your heart’s content