godotengine / godot-demo-projects

Demonstration and Template Projects
https://godotengine.org
MIT License
5.65k stars 1.58k forks source link

Adding Map Mesh Editor demo, for Godot 4 (3D) #957

Closed yatesm4 closed 4 months ago

yatesm4 commented 11 months ago

Contains a runtime mesh generation and mesh editing demo, based on the HexGrid demo by CatLikeCoding

Calinou commented 11 months ago

Thanks for submitting a demo project :slightly_smiling_face:

This is a large and complex project, which I'm not sure is a good fit for an official demo project. We aim to keep demo projects small so they are easy to maintain and update.

The scripts could also have more comments to be easier to understand by the target audience of these demos (beginners/intermediate users who are unfamiliar with the topic presented in the demo).

yatesm4 commented 11 months ago

I just now find the Contributing docs, for some reason (maybe because I am just a donut) I couldn't find them before. I will clean up the pull request with the outlined requirements, but I want to make sure this demo will even be of use / desired as part of the godot demo project's library before I go and make a bunch of changes to tidy up the project (as rude that may sound, not trying to be by any means).

One of the current demos or materials provided by Godot might demonstrate working with meshes but it wasn't very obvious and there were a lot of steps along the way to learning the full range of what all is required.

While I know this project is pretty large and complex, I was hoping an exception could be make in this case with the caveat that I write up some better documentation and make this more of a deeper-dive learning resource (or maybe if someone just points me to somewhere where I can submit this project as a learning resource to keep it organized from the demos and grouped with materials more fitting to the idea)

I have personally run into a lot of other people that want to take a deeper dive into the mesh generation, or simply don't realize the availability of the functionality (as well as the power it offers), and its always a long winded talk when I try to take them through it so I wanted to try and do my part by taking a project that I've had sitting on the shelves and putting it out there in a more "primary" channel so that its available for other people to use for learning and playing with the engine.

If that is all good and well, I'd be more than happier to take the time to write up comments, a beefier read me, and clean up the project so that its more formal :)

I don't know if I can personally word everything to be super "beginner" friendly, but at the minimum I can do it so thats its more understandable by beginners who are familiar with coding but want to scratch the surface with more advanced topics.

Calinou commented 11 months ago

and make this more of a deeper-dive learning resource (or maybe if someone just points me to somewhere where I can submit this project as a learning resource to keep it organized from the demos and grouped with materials more fitting to the idea)

Since 2020, we chose to turn the Godot documentation into a reference manual, which means we don't accept tutorial-style content with the exception of introductory 2D and 3D tutorials ("Your first game"). As a result, I feel this demo is better suited to a third-party community resource.

We had large and complex tutorials in the official documentation in the past (such as the FPS tutorial), but it was a pain to update and eventually bitrot.

I think there is genuine value in having a 3D procedural (mesh) generation demo, but I would keep it more minimal for it to be suitable in godot-demo-projects. For instance, you could have an infinite terrain with houses randomly placed as the camera flies over. This could be used to showcase both mesh generation (the terrain) and object placement (the houses).

yatesm4 commented 11 months ago

Thats fair, and as unfortunate as it may be- how does the saying go, "no harm no foul"? I completely get it and I don't want to just add future burden into anyone's lap.

That said, I appreciate the feedback and that's super easy to take care of so works for me; I will trim down the project, along with other changes to formalize it, so that its a much more simplified look at the functionality itself, rather than a verbose implementation of the idea.

aaronfranke commented 4 months ago

Thanks for your interest in contributing, and sorry for the delay in reviewing. This PR is a complex project that implements a completely new system, as opposed to most demos which are focused on showcasing a feature of the engine. As such, it is not in-scope for the godot-demo-projects repository, it is not something we want to officially maintain or include in all Godot distributions like those on Steam.

You should submit this to the Godot Asset Library as a community project instead.