Like, so that you can have tables and desks covered by all sorts of stuff, or fancy woodwork with support beams and platforms, or implement a variety of different kinds of walls, and then have a bunch of different modifers - moss, cracks, scratches, crumbling bricks, bloodstains, etc, etc, and implement each of those individually, and then stack them on top of the different kinds of walls.
Been working on a bunch of structural stuff, nothing that makes for a good screenshot though. Still need to rework the graphics pipeline. I'm looking forward to doing trees - I hope to do some kind of fancy cellular automata to make them grow really nice. Want to do more detail than minecraft does, too - Like, have logs, and then branches, and then maybe twigs, and then maybe leaves? I dunno - I'll figure it out. XD
So, say one person starts at spawn and goes way north, and then west? So far no problem - you have a trail of regions going way north, and then west, linking to each other. Then suppose that person dies and respawns at spawn - and this time, they go way west, and then north. So you end up with another trail of regions going west, and then north - and then what happens where these two trails intersect?
So, I need to think about this. Maybe said map searching algorithm wouldn't be too bad? There are some pretty efficient search algorithms, I think, though it could still get pretty gnarly. I was also considering just going octree all the way up - not entirely sure that will work properly, though. I mean, I guess I could just give up on having a truly infinite world, subject only to hardware limitations? Just doing a few million blocks like minecraft does is /probably/ sufficient. :/
No, octrees all the way up has the same issue with limitations on the size of the coordinate numbers. I guess maaaybe there's a clever solution with a good search algorithm or some method of data storing? Or some way of just extending the coordinate numbers as necessary, though that sounds like it would cause problems once people start actually playing way out in those extended far reaches. Or I just need to give up on a truly infinite world. :/
Well, I've got a whole cube, but I don;t like my current implementation -it uses a separate vertexbuffer for every different texture, which is no good. Actually gonna look at ditching saved textures entirely and moving to wholly procedural textures, using fancy shader business? I dunno, not sure. I'ma try it and see how it goes. XD
Alright, ripped out my old code for generating colors and textures. Lot of code, but it was all kinda meh anyway, and I need to make space for something new. Now to decide exactly what I want to do for generating textures. My old implementation for picking colors for the various bits of a texture was ennecessarily complicated, but I still want to do something similar... :/
Alright, I have the colors I want! Now I need to actually pass the positions of the actual blocks, and to draw them all. Still not entirely sure how to do this - do I make each block type it's own data structure, or do I pack them all into one? The second will be more difficult, but will likely come with some real savings... I dunno, I'll have to see. :/
Okay, working on changing up my shader so it blurs things the further away they get, to reduce that weird static you get when things are far away. Problem is, I have no idea how to write a good blur function. Can anyone advise me? This is the relevant file, with my current attempt at the end: https://gitlab.com/AngularAngel/omnicraft/-/blob/master/resources/dirt_shader.frag
Yeah, gonna work on mesh optimization next. Using this method, I think: https://0fps.net/2012/06/30/meshing-in-a-minecraft-game/
...I'm drawing 1/6th of the faces. But, for now I'll take it. XD
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!