Zylann / godot_voxel

Voxel module for Godot Engine
MIT License
2.59k stars 244 forks source link

The state of this module #17

Closed Zylann closed 5 years ago

Zylann commented 5 years ago

I am currently having a dilemma with this C++ module and the demo that uses it. People got interested in it and wanted to make a game as well, which is great. Turns out, it's my turn. I would like to make a game out of this (or at least, an experiment I enjoy making). But as I progress through the requirements, I would have to add C++ features that are no longer generic, but required for efficiency.

So I am willing to turn the module into an actual game made in C++ with a high-level GDScript layer, with a more narrow set of goals than general voxel rendering. If I do that game though, the downside is that the license could change and it will no longer be seen as a tool you can use or even sell for your own game.

That also means I would have to fork the C++ repo for that. It's fine to do it since I would expect other people wanting to make a game to do the same anyways if they want their game in C++ too, because the current module is mostly a proof of concept rather than a polished tool and it's better to tweak it for your needs. However, I have been the only main contributor to this module, and that would mean I no longer maintain the old one after my fork. I would still work on the same area, but the priorities would become those of my own game.

The goal of my game and this module are going to diverge slightly. My current voxel module is strictly about rendering boundless voxel-like data, so game-specific features cannot be added to it. A good side is, it's likely that my new repo will be open-source, so if people are wondering how to make caves, structures, trees or whatever technique not strictly related to voxel rendering, they could learn it from there. Eventually, if I figure out a way to improve the generic module as I make my game, that could be cherry-picked. On a more precise note, I am not aiming for "smooth" voxels in that game, so I it unlikely for me to add LOD or dual countouring anytime soon, even though there is currently a basic Transvoxel mesher, which I originally made just for fun.

Nothing happened yet, so that might change a little as I go through this. The best scenario would be that I find a way to cleanly separate my game and the module without being too intrusive. These are my thoughts at the moment, just so you are aware ;)

xukongwen commented 5 years ago

i love what you do, and just find godot today. i made a small game called Phantom, which is pretty dead in Steam, i love voxel game and going to make phantom alive again. you may check it out. https://www.youtube.com/watch?v=Y2EV0ggjaHQ&t=9s

wish to play your game soon!

Zylann commented 5 years ago

I'll close this because it's not really relevant anymore. Some of what I wrote still stands, I still have game ideas, but this module will still get updates when I want to add features to it.