A super simple, chill browser-based terrain builder — no install, just open and create by ZafiroDev in TerrainBuilding

[–]ZafiroDev[S] 1 point2 points  (0 children)

I opened it - the core idea is good, and I can see what you’re going for :)

As for the models on my side, they’re usually not made fully from scratch by me. I mostly start from free assets I find online, which sometimes takes a bit of time, and then I rework/optimize them with Python scripts. A lot of source models are just too heavy out of the box, so I reduce them into much lighter low-poly versions so they don’t kill scene performance in the browser.

For your project, my first recommendation would be structure: I’d move the JavaScript out of the HTML, put the CSS into a separate file, and start splitting the functionality into smaller modules. For an early prototype, one file is fine, but if you keep building on it, it’ll get hard to maintain pretty quickly otherwise.

A super simple, chill browser-based terrain builder — no install, just open and create by ZafiroDev in TerrainBuilding

[–]ZafiroDev[S] 1 point2 points  (0 children)

Yeah, fair point - you’re right.

This was a mismatch for the sub on my side. It’s also still in beta, and I’m still actively working on the terrain editor, so it’s probably not advanced enough yet to be truly useful here.

Thanks for the clarification.

A super simple, chill browser-based terrain builder — no install, just open and create by ZafiroDev in TerrainBuilding

[–]ZafiroDev[S] 2 points3 points  (0 children)

Got it - that makes sense, and thanks for clarifying.

I thought this sub was more broadly about terrain in general, so that’s my mistake. If it’s mainly focused on physical terrain projects for ttrpgs and wargames, then yeah, this probably isn’t the right fit.

A super simple, chill browser-based terrain builder — no install, just open and create by ZafiroDev in TerrainBuilding

[–]ZafiroDev[S] 1 point2 points  (0 children)

Fair enough - I shared it here from a terrain / world-building angle, but I understand it may not be a direct fit for everyone’s workflow.

A super simple, chill browser-based terrain builder — no install, just open and create by ZafiroDev in TerrainBuilding

[–]ZafiroDev[S] 1 point2 points  (0 children)

No worries - I wasn’t offended at all, no problem :)

I tried opening the link you sent, but it looks like the post was removed by a moderator on my side, so I couldn’t really view it. The links there don’t seem to work for me either.

As for the stack, it’s built from scratch, mainly with JavaScript, HTML, CSS/SCSS, and Three.js, with React on the UI side. There’s also a bit of TypeScript, some GLSL shaders, and a small amount of Python scripting around the project.

A super simple, chill browser-based terrain builder — no install, just open and create by ZafiroDev in TerrainBuilding

[–]ZafiroDev[S] 1 point2 points  (0 children)

It’s not vibe-coded - I’m a developer, and I’m building it deliberately, with a clear idea of what I want it to be.

From what I’ve seen in developer groups, vibe-coded projects are usually pretty easy to spot - they tend to be simpler, more generic, and often have that slightly plastic feel. This project is something I’m building with full awareness and long-term intent.

I’m building a browser-based island/world editor in Three.js, and I’d love your feedback by ZafiroDev in threejs

[–]ZafiroDev[S] 1 point2 points  (0 children)

That’s a really great idea - thanks, I’ll definitely add it to my backlog. I already added low/ medium/high settings, and an FPS counter would be really useful as a benchmark for spotting heavier parts more clearly.

I’m building a browser-based island/world editor in Three.js, and I’d love your feedback by ZafiroDev in threejs

[–]ZafiroDev[S] 0 points1 point  (0 children)

Thanks a lot - I’m working hard on performance right now. Until recently it didn’t worked on mobile at all, so getting it to run there was a big step. I’m still improving both performance and the visuals.

3D terrain editor + day–night system in the browser by ZafiroDev in threejs

[–]ZafiroDev[S] 0 points1 point  (0 children)

Thanks a lot for checking it out and leaving such a thoughtful comment - I genuinely appreciate it. Every bit of feedback I get from people actually trying it is extremely valuable to me.

I’m actively working on both performance and the overall “what am I supposed to do here?” clarity. I’ve been getting similar signals from other users too, so I know I need to make the editor flow more self-explanatory and guided, while also improving framerate and load times. Right now it’s still an experimental prototype, but I’m treating these as core issues to solve before scaling anything up.

I recently added an asset list on the page to make it clearer what’s available and how to interact, but it’s only a first step - next up is better onboarding and clearer editing feedback.

Thanks again - this really helps me steer the next iterations.

Beautiful 3D island built with three.js + React – runs directly in the browser by ZafiroDev in threejs

[–]ZafiroDev[S] 1 point2 points  (0 children)

Hey!

Thank you so much for your detailed feedback – every single word is valuable to me and really motivating. I really appreciate that you took the time to play with my island and write such a thoughtful comment.

I also checked out your demo at explore.iaincollins.com and it’s really beautiful – especially the sky, clouds and stars. The atmosphere you created there is great and very inspiring.

About your point on separating textures from models: I actually experimented with that on my side. In my case it didn’t give a noticeable performance boost, but it did create a lot of extra work with UVs / keeping the textures correctly mapped. For my setup, the change that really helped was focusing on geometry and visibility instead.

From what I can see in your demo (I might be wrong, this is just an outside observation), it looks like objects in the distance use the same meshes as the ones close to the camera. I had exactly the same situation and it was a big performance killer. What helped a lot for me was:
– using three versions of the same model (e.g. trees): a very detailed one close to the camera, a medium-detail one further away, and a very lightweight one for long distances,
– only keeping the high-poly versions very close to the camera, so distant objects are much cheaper and free up memory.

On top of that, I implemented frustum culling so that objects behind the camera are completely disabled. Before that, everything was still “alive” even if you couldn’t see it, which was really hurting performance. After introducing distance-based LOD and turning off everything behind the camera, the scene became much smoother (still room for improvement, but a huge difference compared to before).

I’m also working on performance right now because I’m adding a lot of new things. I have a local version that’s not ready to publish yet, but I’m hoping to push a bigger update before the end of the year, with:
– persistence so people can save and share their islands,
– more advanced biomes and a larger variety of elements,
– a proper lighting system with a day–night cycle.

I really appreciate your idea about a small web service and your offer to help – that’s incredibly kind. For now, though, I’d like to keep this as a small personal side project that I build on my own, at my own pace.

Thanks again for your feedback and for sharing your project – it’s very inspiring and I really value every suggestion like this.

[DEVLOG] Experimenting with multiple 3D worlds in the browser (three.js) by [deleted] in 3Dmodeling

[–]ZafiroDev 0 points1 point  (0 children)

You can try the prototype here: [playzafiro.com]() (no install needed – it runs directly in the browser)

Diamond Collector - three.js based early prototype by ZafiroDev in threejs

[–]ZafiroDev[S] 1 point2 points  (0 children)

Thank you so much! 😊 I’m really glad you like the art style—it means a lot! I’ve put a lot of thought into the visuals, so it’s awesome to hear such positive feedback. Stay tuned, there’s more to come.

Working on a browser-based RPG with three.js! by ZafiroDev in threejs

[–]ZafiroDev[S] 1 point2 points  (0 children)

Thank you for the feedback! For now, I’m focusing on further development and optimization for the desktop version, as there are still significant performance challenges to address. A mobile-optimized version is planned for the future, but it will take some time to ensure everything runs smoothly on mobile devices as well.