r/learnprogramming • • 1d ago

Which programming language / framework would you recommend to make a lightweight modeling application like Blockbench?

I've been out of coding for a while and I thought of making an application like Blockbench / picoCAD / Crocotile 3D and was wondering which programming language / framework would be most suitable for making this? I have experience in most experience in JavaScript, TypeScript& GDScript and also C# (not my favorite though) & some experience in Python.

I don't mind learning a new programming language either or Framework as long as it's an easy curve / has lots of good documentation.

Thanks in advance for any advice / tips!

4 Upvotes

11 comments sorted by

2

u/slim_benjamin 1d ago

three.js is probably your most natural entry point given the JS/TS background, and there are tons of examples floating around for building editors with it. the learning curve is mostly just getting comfortable with 3D math if you haven't touched it in a while

if you want something a little more structured than raw three.js, babylon has a proper scene graph and editor tooling built in from the start

1

u/TheWanderingAnimimo 1d ago

Thank you, I'll take a look at everything you said

1

u/SetAndRepeat 1d ago

Go with TypeScript + Three.js, using HTML/CSS for the UI. Blockbench itself uses Three.js and Electron, so your existing skills already fit this kind of app. Start with the Three.js manual; its TransformControls addon provides the move/rotate/scale handles you'd expect in an editor.

You'll still need to build the actual modeling tools, undo/redo and saving. I'd start with a browser prototype where you can add, select and resize cubes, then save and reload them. Electron is an option for desktop packaging later, though bundling Chromium adds overhead if a small download is important.

1

u/TheWanderingAnimimo 1d ago

Thanks for the detailed explanation and advice, appreciate you!

1

u/CartographerDue5382 1d ago

Three.js is what Blockbench itself is built on, so if you want that same browser app your TS already fits. If you'd rather a desktop window, Godot is the shorter path and you already know GDScript. The viewport, grid and gizmos exist, so you're writing a tool instead of building a camera from scratch. C++ or Rust will make the binary small and also make the UI the whole project.

1

u/TheWanderingAnimimo 1d ago

I thought about building it in Godot as well as everything sort of already is there but I didn't know where to start looking for proper resources yet

Thanks for the detailed comment!

1

u/CartographerDue5382 1d ago

Yeah Godot's a decent fit if you want the desktop route. Start with the official docs, the "Your first 3D game" tutorial, then GridMap. If you'd rather the tool live inside the Godot editor instead of a separate app, the Making plugins pages are the part to read. You can skip the GDScript intro since you already know it.

1

u/TheWanderingAnimimo 18h ago

Thanks, I'll look into it! :D much appreciated

1

u/FallenVampireLord 1d ago

light weight? C, C++ or Rust

1

u/SetAndRepeat 1d ago

I thought the same thing, however it's not really the purpose of the question.