I’ve been putting some more time into side projects like this blog and Three.js. The thing is that my dev-freezer is full with failed projects that got started enthusiastically but almost always snagged. This time I decided to approach it a bit differently.
Instead of committing to a grand plan, I’d just get started and do a small part each day. Even if it’s just for a couple of minutes, the important thing is to get started. In time, I’d notice that these small moments would naturally go on for longer to just finish a task. All in all, doing the small improvements and starting with the intent on what small thing I would attempt makes it so staying motivated is easier.
This is different from splitting up a task in smaller tasks. Most of the time I don’t know what small task I want to do, and this has had the effect that I go off the ‘planned’ path more. Where I used to look to these things as distractions though, I now feel like these now these feel more like complementary skills that get picked up.
For example: the road traveled until now for three.js is as follows:
- Learn javascript by doing some ‘advent of code’ exercises.
- Learn the basics of three.js
- No, first learn webpack so you can actually easily run a test server
- Alright, back to three.js. Basic car-examples and stuff work, even when mucking with lights
- Realize that to navigate a floor plan, you need a model..
inhales
- Install fusion360, whip up a quick building
- Learn about importing literally all different kinds of filetypes. Settle on .obj
- It works! Most models look like shit though, the materials are pretty rudimentary.
inhales again
- Install ‘Blender’ to ‘quickly’ add some materials and some lights in blender
- Discover Blender requires arcane magic, so you start with the excellent ‘donut’ tutorial
- Improve the home model with some extra lights
- Import as a .gltf model, learn about these standards.
- And presto, we’re back on 3js.
If this reads like a lot of work, it is. The important part is that it didn’t feel like work though. Nearly all steps are bite-sized and I learned new things throughout them all. And in the end, it made it so that I can more quickly add new things in my 3d world, when I first attempted to just work with vertices. All these detours gave me a broader view on the subject, so I feel like I can now narrow it bck down until I notice another hurdle. Who knows where I’ll end up then.