Adding SNOW and MODEL IMPORTS [Voxel Devlog #10]
HTML-код
- Опубликовано: 16 июл 2024
- Online demo: github.com/DouglasDwyer/octo-...
Geese event system: github.com/DouglasDwyer/geese
In this video, I demonstrate the typical development process for my voxel engine, and showcase the many improvements and new features! Specifically, I added interactive snow, voxel model imports, a titlescreen, cascaded shadows, a settings menu, and many bugfixes this month.
The voxel model imports would not have been possible without the remarkable work of @GabeRundlett, who I'd like to take a moment to thank again here. His library, gvox, is a wonderful tool - and I hope to continue collaborating with him in the future!
Music used in the video:
Chris Doerksen - Playing House
Chris Doerksen - Murder Mystery
Chris Doerksen - Next in Line
Chris Doerksen - Adventures in Basstime Игры
it's very nice to see that voxel engine devs are teaming up in order to build greater things !
The snow looks really good.
To prevent the client snow from suddenly disappearing when it hits the ground you could keep the client snow on the ground for a short period, slowly melting it (basically transitioning the color to the ground color while making it disappear into the ground).
Also I’d love to see a video Timelapse of snow accumulating
This!!!
RUclips why did you stop recommending me these amazing videos!!
Dang, this engine is going to be an absolutely perfect resume if you ever want a job in the games industry. I have some very old voxel projects and other small, unfinished things, but I've screwed myself a little by never really finishing anything. Hopefully my current project can fill that requirement even if it doesn't succeed as its own game.
awesome progress!
An idea for the snow: if it's deterministic where the snow lands, you could have the client side particles stay on the ground and wait until the next server update to make them more seamless fit into the world!
Excited to see the next update
I thought the same thing. If you just have a shared seed then you can figure out where snow needs to fall client side.
Heck yea new Douglas video. This series has me so excited 😂
another great video douglas. great job so far! and your videos are incredibly well edited and your sound is perfect!
Very impressive work Doug!
Amazing progress! Teamwork makes the dreamwork. :)
Very cool Douglas, good work!
Excellent video!
That is almost exactly what I need for my own game. Greate work!
WOOO Let's go Douglas! You got this. Nice work!
you guys are amazing!
Incredible, you inspired me to learn wgpu. I started working on my first project. It's about procedural mesh generator with some ui controls. I plan to implement fractal terrain and hydraulic erosion.
That sounds fantastic! If you ever complete your project, feel free to post a RUclips video of it - I would love to see it :)
very nice!
damn good intro
Great job, it's getting more interesting than minecraft. Physics is generally cool.
I might try learning some rust so I can bodge in a "gun". I want to create little tiny bullet holes in those 16x models
When the engine is more mature, I want to support a fully-fledged modding system to allow people to add whatever custom content that they'd like!
@@DouglasDwyer sounds awesome cant wait! I may try to make mods once that support comes out. I've already got my own big project rn lol so i gotta see how much time i have once modding support is added to your engine.
Also, i love your videos and engine. Have a great day!
Great work :)
I got a question for you: are you using OpenGL or Vulkan for rendering? and if u are using Vulkan are you using "Ash" or "Vulkano" or some other crate?
As my voxel engine targets both native and browsers, I am forced to use OpenGL. I use the glow crate for OpenGL bindings, since it's WASM compatible. I would love to use a more modern API, and all of the features included - but when supporting the web, you take what you can get :)
It would be nice to have the framerate displayed in FPS as well
And maybe as a graph
Does your engine compress redundant voxels/polys? So, if a large flat white object where made, you could represent that with thousands of polys/cubes, or compress it into one voxel and two triangles.
There are two answers to this question, regarding voxel compression and polygon compression. My engine internally stores the voxels themselves, and converts them to triangles only for rendering.
In both cases, there are forms of compression utilized! When storing voxels, I employ a data structure called a sparse voxel octree, which allows me to process voxel data in large, homogenous chunks. When drawing voxels, I use a greedy meshing algorithm which merges adjacent faces, reducing triangle count.
Add a little smoothness, as in 7dtd, and you can release it for sale, like alpha alpha in alpha)))
Will there be colored light sources? Lighting can make a huge difference when using simplistic graphics.
Yes, when I get back to doing more graphics-related tasks, I would absolutely love to add point lights supporting arbitrary colors!
Really great looking! 😊
Could the model import use a pixel art style scaler? Might show off the smaller voxels nicelyc
I'm glad to hear that you like it! Could you point me to an example of a pixel art-style scaler? I confess I'm not quite sure what you mean.
@@DouglasDwyer They could be talking about scalers designed for pixel art upscaling like hqnx, Wikipedia has a pretty good list (Pixel-art scaling algorithms)
@@dxred2553 I had never heard of hqx before. That looks awesome, and I might actually try to implement it at some point
Exactly that, @DxRed. en.m.wikipedia.org/wiki/Pixel-art_scaling_algorithms has a really good overview. Most of these are grid based methods that could be done as-is to each dimension in turn. Could probably be generalised to 3D, but I don't know of anyone who's done that.
The engine is in its very early stages right now, so it will be some time before I have a fully playable game. But I encourage you to follow along as I release more devlogs - I've made immense progress already! In the end, I want to create an online platform where users can build, destroy, interact, and create their own mods/plugins :)
what is the biggest world size possible with your engine?
I use 32-bit integers as coordinates where a single voxel is equal to 2^8 = 256 units. As such, that means the world at a maximum can be 2^32/2^8 = 16 million voxels across in each direction. I've designed things so that the world should wrap around when you reach an edge.
@@DouglasDwyer won’t going around the world diagonally take longer than directly north
Yes, I think that's an accurate assessment.
Voxel coin??
"Promo sm"
the demo doesn't work for me it just shows a white screen i am on an intel mac
Thanks for your interest in the project - I'm sorry to hear that! Make sure that you're using either Firefox, Edge, or Chrome (Safari is not supported). If you were using a supported browser, and you're willing to take five minutes to help out, I would appreciate it if you went to the demo site and opened the developer console. Take whatever errors you see there, and post them in the comments or on GitHub: github.com/DouglasDwyer/octo-release/issues/new
@@DouglasDwyer ok
i was in safari
Your project reminds me a lot of this one voxel engine: ruclips.net/video/1R5WFZk86kE/видео.html Have you seen this?
Indeed, Jon Lin's engine is part of the inspiration behind my own (and a few other) projects. I'm honored that you would compare my work to his :)