Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it possible to set the voxel scale? #8

Open
mmckegg opened this issue Jun 23, 2022 · 5 comments
Open

Is it possible to set the voxel scale? #8

mmckegg opened this issue Jun 23, 2022 · 5 comments

Comments

@mmckegg
Copy link

mmckegg commented Jun 23, 2022

I have a project in mind that might be able to use your engine. I haven’t had a chance to dig very deep yet, but I’m curious to know if it’s currently possible to set the voxel scale to be more like Teardown’s 10cm³ than Minecraft’s 0.5m³.

(Pictured above is a screenshot from the awesome voxel based game called Teardown)

@lucasdamianjohnson
Copy link
Member

Hello, thanks for the issue.
Currently, at this time DVE is not explicitly designed to do this.
It may be theoretically possible, however.
Some things you could try:

  • You could upscale the player and keep the world the same size.
  • Create a custom voxel shape set to that size. Intercept the setting of chunks.
  • Downscale the chunk meshes as they come in.

So, either it is possible through an optical illusion or by changing the code to suit your needs.

But I will personally not be pursuing implementing this into the engine. As my personal vision is to create 3d pixel art games rather than something like Tear Down.

@mmckegg
Copy link
Author

mmckegg commented Jun 23, 2022

Thanks for the response. I will investigate :)

I suspect my use case is quite different from yours, but since you’ve put all this work into this awesome engine, definitely worth seeing if I can leverage it :)

@lucasdamianjohnson
Copy link
Member

@mmckegg
Thank you!
So, some things to consider.

If you do get something working and it does not bloat or break the current engine, please set up a pull request and I will implement it and try to maintain it.

If you need hooks implemented please let me know and I will find a way to add them. I will be adding them later.

Also, keep in mind this engine is made with the game engine Babylon.Js. So, you can look into that more to figure out all that you could do.

There currently is not a dynamic lighting or shadow system set up but in the future, I will work on implementing the ones provided by Babylon.Js. But you can replace all the materials with your own to implement that.

I've been working on this engine basically 20+ hours a week for the past 7 months so none of this is easy or trivial lol.
The hardest part has just been making it build chunks and do light updates in parallel.

@mmckegg
Copy link
Author

mmckegg commented Jun 23, 2022

Yes, I have some experience with Babylon.js which is what drew me to your voxel engine.

I haven’t yet decided what 3D aesthetic I’ll be going for with this project, but I’m quite keen on a semi-high resolution voxel style (like teardown but without the physics and hifi lighting). My motivation for this is the ease of creating world content (magicavoxel style) and the solidity it adds to a space. I also find the pixel-y lo-fi appearance quite charming :)

It’s going to be multiplayer and browser based and ideally support mobile browsers.

Anyway, if things line up in the right way, I’d gladly contribute code where I can to this engine. I really don’t want to start from scratch 😩

@lucasdamianjohnson
Copy link
Member

All right awesome.
So, I guess the engine would be a great starting point at least for you.
I also started some work for it to run a Node.Js server. As about 90% of the engine is "headless" or just runs in a worker.
There is already a system in place to determine what environment it is running in (node or a browser).

As I said I am personally not going to work to add a "tiny mode" lol into the engine but I am happy to help and add things to the engine to make it work.

I might consider opening some form of communication like a discord server or something so people can ask questions and get direct help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants