Generating a few hills while keeping part of the world flat is genius! The auto-jump idea would definitely be a useful feature, you could also make it so holding spacebar or another button acts as a toggle for the auto-jumping, that way the player has the option of wether or not to use it but also doesn't have to time each jump correctly for each 1 voxel height increase.
For the issue when voxels are blocking the camera, you should just use a see-through shader which draws a big radius around the player and doesn't render blocking that radius. You can also scale that radius how you want or for different scenarios. There's quite a few tutorials on shaders like that
This is a nice idea, but the only problem is I need to the voxel visibility to be calculated on the CPU so I can do things with it, like building etc. Haven't figured a way around it yet that merges the ability to build through transparent meshes without doing heavy work on the CPU.
To solve the jumping issue, lift your character's collision box up by 1 voxel so it doesn't cover his feet. This will let you move into 1-voxel-tall ledges. Then slowly push up the player when they are inside a block.
That’s a genius solution that hadn’t even crossed my mind at this point. I would expect nothing other than great solutions (and possibly burgers) from you though! Thank you and it’s great to see you here 🙌
awesome update! I was really curious what you meant when you said the auto generated level could make things unfriendly visually to the player. You showed the changing of opacity to help alleviate issues, but I was wondering what some of those auto generated problems looked like
Thank you! Yeah I agree. This actually crossed my mind when editing, but didn’t make it in (mostly due to time constraints in this case as I didn’t have any recordings and was editing with a tighter deadline than usual) so it’s interesting that you picked up on this also. I appreciate the feedback! Will improve any demonstrations in the next one.
This is interesting , I had a slightly similar idea for a concept of my own dream game which I have in my head. Which was if rim world and the sims combined basically. Still learning stuff , so I can't implement much yet. But I honestly thought it wasn't possible. BTW just an idea that is probably not useful. But I noticed you have small objects that are not the same size as regular voxels in your game . In a mincraft mod and games like vintage story there is the chisel which allows you to create objects that go beyond the usual appearance. What if the player could create these objects giving them functions . Like a chair for example , pretty simple, make a custom chair appearance and have it inherit the properties of the base chair... (kind of like platos concept of the world of forms only real because its in a video game) A table which I saw you have in game could be customized as well. Might go beyond the scope of what your doing or be practically impossible as I havn't But thanks for doing this I will be following your progress as I imagine if I try to make my dream game the struggles will be similar
Thanks for the feedback. I'm not familiar with the mod/game mentioned but it sounds like an interesting idea (particularly around the inheritance and creating new things). I need to be careful with my scope though here! But we'll see.
I was not expecting there to be a character! As the game looks so amazing and unique from afar. Is there anyway your gameplay goal can fit with a non character based game? Can be a nice unique twist too. More management game style, but could still be open world and procedural. I guess that would fix a few of your problems too?
This was my original direction for the game, and I still think about it, so it’s interesting to read this. I wanted to originally add automated characters that would interact with what you built etc. There’s a few ideas I’d like to use the engine for but we will see. I will be prototyping the gameplay loop soon (all being well), so will see what that brings!
Awesome devlog, and great seeing you back in action! :-D And I have to say, as soon as you introduced your hills together with more flatlands, it all seemed way more natural and better looking. Nice job. Looking forward to the next one!
Amazing solution to the terrain!! Love it. A few things I noticed: - no shallow waters in the newest generator. though the deep ones are also cool... what are your future plans? what about rivers? - hiding the whole hill you are behind. how about clipping the overlapping section relative to the camera? I think other games use it too, some for clipping the player rather than the terrain though (clipping when to switch to a silhouette) - foliage sprintes. I think your game could actually benefit from shelling (due to fixed camera angle). Acerola relently made a great video on this subject named "How Are Games Rendering Fur?" where he showcases its broad useability. Keep up the great work, always looking forward to the next vid 💪
Thank you! And I appreciate the feedback. I wanted to add deep water for effect, I wanted the world to look nice but have an element of danger. But you raise a good point. Not sure yet on this. The problem with hiding the terrain is that I need the building and other controls to work through the hidden terrain, so one way or another, I will need to calculate and store which voxels are in this “hidden” group. But this is an ongoing thing I think about. Regarding the last point, I’m not familiar with shelling, I will check that out, thank you for the recommendation!
My biggest issue with the project so far, is the jarring aestethic difference between the cubic terrain and the varied lool of the doodads and character. I realise non of the art is anywhere close to final, but I'm just wondering if the game would be better served with smoothing your terrain? Voxels behind the scene, but "realistic" terrain visually? This would also get rid of the "jump simulator" issue and could even improve building aestethics by adding tiny variance to placed blocks of the same type.
This is good feedback. I agree! My intention is to add variance to the terrain voxels so they don’t have perfect edges and corners, but still retain their overall uniform sizing and roughly resemble cubes. I will also be modelling the assets myself so can try and work on blending the styles a little bit. But we will see. Thanks for the feedback!
Your shadows have two issues: their are noisy making impression of ripples on the surface of deep dark water; they don't fade with the square of a distance, so when the sun hits horizon, a shadow from a tiny tree scales entire world! I suggest to just once calculate the occlusion map, and then update it as the cells get modified. Otherwise good solutions to non-trivial problems.
Yeah good observation on the shadows, I’ve been trying to address this just recently, as until now, I’ve very much neglected the lighting. Thank you for the recommendation! I will look into this. Much appreciated.
Very cool project! You probably already considered it, but adding an over the shoulder camera mode or even a first person mode (toggleable) could be a fun way to solve the terrain hiding issue. I think it would be cool to walk into a mountain valley/chasm, then pop into over-the-shoulder mode to get a real sense of the scale (and explore it properly).
Thank you! Ah yes, I go back and forth on this quite a bit. I quite like the idea of having a 3rd person controller, and I may add it but I’m not sure yet, would completely change the game. I will have to prototype it once the gameplay elements are in and see. Thanks for the feedback!
it looks brilliant, i've been struggling a bit with my game since i moved to unreal i no longer trust unity so unreal engine it is for me ... glad you are making a tone of progress!
Thank you! And yeah I agree it would benefit greatly from some post processing effects. I may experiment with this in the near future. Would be nice to really try and get it looking nice.
I think an auto jump for 1 tile is a must. Minecraft can be annoying enough in first person constantly jumping that they added an auto jump feature. With a game with this perspective it would be difficult to play without
May I suggest you raycast a cylinder from the camera to the player and hide (or make transluscent) any blocks that collides with said cylinder that are at player Z+1 or above (presuming Z = height). With that, you would have a field of view just and only around the player and you can control the cylinder's width making bigger (for the player's build) or smaller (say he's in a cave without a light source) Instead of sectioning the entire world.
It’s a good idea. I’m torn on this though. It was partly a stylistic decision to hide the wider areas, so you could visualise the interiors of buildings etc. I can control the light as it doesn’t remove the object, it just hides it but still blocks light. Performance is a challenge though as I’m doing it on the CPU and not using shaders. I’m wondering about making it toggle-able or just prototyping it to see. But we will see!
Instead of having to flatten out the terrain. What about generating an invisible copy which is more smoothed out? That way visually you get the blocky look but what the player is walking on is actually a smoother transition.
This is an interesting idea. I actually am planning to do some work to remove the blocky look but not entirely, sort of a hybrid approach. So still having voxels, but have variance and not perfect cubes. Having fully smooth terrain is a good idea though, but there’s something simplistic about the world being made of blocks that I just like - I think it’s easier to visualise and measure when building etc
@@wheezyworks Have you looked into Wave Function Collapse? Information is a bit sparse but I've seen people create a hybrid system that keeps the blocky look while still including "ramped" sections of the terrain.
Creating a shader that turns blocks alpha down sounds a lot more performant then reloading chunks. Also easier to animate or add any other pretty visuals. Because these jumps when blocks disappear don't look good
Indeed, but unfortunately I need to calculate this anyway to factor in how it impacts build controls etc when walls aren’t shown. This made things challenging
Thank you! I’m not doing anything special at the moment other than disabling shadows and a few other bits and pieces. Next iteration/devlog should cover that more extensively as I need to overhaul a few things relating to performance. Also, good to see you here! I’ve been watching a few of your videos recently also.
Really late response here on my part (apologies) but at the moment I’m not doing anything too crazy other than removing/hiding faces. Because of the fixed isometric view, I can hide a lot. I am experimenting with shared vertices but it makes texturing a nightmare. I will probably go down the Geedy Meshing route. Right now I’m experimenting and focusing on performance. Next devlog should cover this more.
Yeah it’s a good alternative - I did it this way as a stylistic choice, so you could visualise the interior of buildings etc (if you only had a small window in it could be annoying). It’s not final though, I will make some improvements to how this looks (such as fading and shadows).
I LOVE that water shader, how did you make it and I think that would be a great tutorial. lots of games need water and I haven't seen tonnes of good tutorials.
I'm glad you like it! To create it I followed this tutorial: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-MHdDUqJHJxM.html&ab_channel=BinaryLunar (I made some slight adjustments but that should get you on your way)