site banner

Tinker Tuesday for August 27, 2024

This thread is for anyone working on personal projects to share their progress, and hold themselves somewhat accountable to a group of peers. We can coordinate weekly standup type meetings if their is interest.

Post your project, your progress from last week, and what you hope to accomplish this week.


Last week's thread was quite a bit less active than the original one, but I think this is an idea worth continuing, so here we are. Though one thing that might be worth discussing is the pacing of the thread. If there's not so much activity, maybe we can go from weekly to monthly, and if anyone want's to give weekly reports, they can do so under their project's top level comment. Let me know what you think!

3
Jump in the discussion.

No email address required.

I've been trying to get into the Unreal Engine, as Zorba recommended ages ago. I stopped using Unity last year when the big pricing policy debacle depleted the last of my trust in the company, spent a few months with Godot until I ended up banned from the Discord for very politely objecting to their using the platform for political activism, and so what's left but Unreal or making an engine of my own. Lacking the free time for the latter, I chose the former.

Unreal's system requirements turned out to be unexpectedly manageable though of course noticeably heavier than Godot. I had a lot of trouble getting it to compile anything I wrote without crashing, but eventually I managed to get that settled. Now I need to actually do things with it. I spent the last two weeks on vacation, and the month prior to that in a frenzy of job application processes (including one that had me do an extensive C++/Qt/QML coding task, so I managed to sneak in some relevant practice), but I hope to get back on track in the weeks to come.

Someone please ping me next week to request a progress update, however meager. Peer pressure always works on me.

Someone please ping me next week to request a progress update, however meager. Peer pressure always works on me.

Will be happy to. Anything specific you're planning to do?

Never gave Unreal a go so I can't offer much in terms of advice / reviews, but feel free to ping me if you want either.

Nothing specific, no. I have a bunch of ideas large and small, some of which I have previously built in other engines. I usually make little toy simulations for my own edification, concerning geology, meteorology, orbital mechanics etc. Nothing serious, nothing cutting-edge, and usually just to the point of "I can see where this is going" rather than any state fit for publication. I intend to continue doing this beacause I enjoy it. I might also stitch some of that together into something game-like, but that's not even a stretch goal, just an option.

I have considered sitting down and planning a more coherent project, but that's on hold until I better understand the engine and how quickly I can get things done with it.

and usually just to the point of "I can see where this is going" rather than any state fit for publication.

I get that, I had a whole bunch of projects like that too, but I wouldn't dismiss the usefulness for other people. For example:

toy simulations for my own edification, concerning geology, meteorology, orbital mechanics etc

Bro, post pics at least. I also played with orbital mechanics so I know how that one goes, but what can you even do with geology? You made some some earthquake simulator or something? Weather simulation is more obvious, but then I kinda want to know how much you can simulate with what kind of code.

Bro, post pics at least.

Your wish is my command. Witness my complete disregard for visual design.

/images/17249573044822352.webp

/images/17249573045198023.webp

/images/172495730452158.webp

Note that while the orbits are all circular, prograde and ecliptic, they needn't be - even that somewhat slapdash implementation supported any kind of standard kepler orbit.

The planet shows one specific experiment with geology and meteorology, althrough a very simple one. And the resulting elevations are obviously grossly exaggerated for ease of viewing.

Those images are all from my playing around with Godot. My Unity projects were a little more advanced in terms of simulation, but the visual presentation was about on the same level.

I also played with orbital mechanics so I know how that one goes, but what can you even do with geology? You made some some earthquake simulator or something?

I have a few semi-functional attempts behind me, but what I usually do is to split the surface mesh into tectonic plates, have some randomized mantle flow to drive the plates, then generate an elevation map from the collisions. That's the base level. Sometimes I try to complicate it further by accounting for material flow in subduction zones, having fun with hot spots, adding a third dimension to the mantle and crust or by keeping the tectonics simulation running instead of just taking a snapshot at some point. Once the terrain is baked, the weather simulation comes in to provide erosion, hydrology etc.

Weather simulation is more obvious, but then I kinda want to know how much you can simulate with what kind of code.

My simulation is baby-tier, of course. It's an extremely simplified hobbyist thing, after all. Split the atmosphere into a bunch of roughly equally distributed vertices that form a 3D mesh. Each vertex represents the local volume of air, and tracks temperature, pressure and moisture. And maybe some other stuff like aerosols, when I feel like it. Pressure differentials between neighboring vertices generate wind along the edges, which transports those air contents to other vertices. Wind also causes aeolian erosion in the terrain below. Clouds may form and rain may fall, which causes more erosion as water and surface material are carried off in streams that form along terrain edges. When those meet the sea, they deposit that material in the deltas. When all of that is settled, vegetaion grows where temperature and moisture allow it, glaciers and snowcaps form where the temperature is low enough (at least on planets with water and an atmosphere). Some more factors I forgot play into it all, but that's the rough shape of it.

And you can't actually see most of that because the visualization is too lazily done.

And you can't actually see most of that because the visualization is too lazily done.

That's a shame, but I understand. There's only so much work I'm willing to put into visualization as well (though I sometimes found it to be a more effective way of debugging).

Even if this stuff is "baby-tier" I'd again encourage you to push it to some repo, or at least go into the details of what you're making, like you did above. Stuff like this scratches my autism itch real good, and it's really enjoyable to read / watch / try out the code for myself.

That's a shame, but I understand. There's only so much work I'm willing to put into visualization as well (though I sometimes found it to be a more effective way of debugging).

I've lately been gravitating towards visualizing earlier because I noticed the same thing for myself. But as mentioned above, my adventures with Godot were cut short. Firstly because I noticed that my system for visualizing distant bodies using forced projection failed to account for a million things and was utter lunacy in retrospect (but I was too much of a happy amateur in just trying things out to foresee this), secondly because, as said, I got banhammered and that somewhat soured me on the whole ecosystem. I played around with the idea of setting up a rule for myself - implement nothing new until all older features are visualized; let nothing languish under the hood.

Even if this stuff is "baby-tier" I'd again encourage you to push it to some repo, or at least go into the details of what you're making, like you did above. Stuff like this scratches my autism itch real good, and it's really enjoyable to read / watch / try out the code for myself.

It sits nice and comfy in my private repo where mortal eyes are protected from the protean horrors that is my code-base. Well, it sits in half a dozen repos really, and much of the relevant code exists only in specific outdated versions and got scrapped to be replaced by new and improved versions that never actually came into being. Some of the oldest projects actually live in an abandoned dropbox with a few offline copies here and there. So I'm reluctant to make any of it public - it's a mess, it's heavily WIP projects frozen mid-experiment, tangles of loose ends, code fragments that date back over a decade to my earliest programming days.

I might make the repo for what I do with Unreal public since that will, by necessity from the difference in programming language, be a clean break and hopefully better-organized.

Firstly because I noticed that my system for visualizing distant bodies using forced projection failed to account for a million things and was utter lunacy in retrospect (but I was too much of a happy amateur in just trying things out to foresee this),

Heh, I think that's where I tapped out of my orbital mechanics project as well. Seeing Jupiter eat one of the moons that was supposed to fly in front of it was a bit too much.

I might make the repo for what I do with Unreal public since that will, by necessity from the difference in programming language, be a clean break and hopefully better-organized.

I'll try not to pester you too much about it, but I jusr want to say, I wouldn't worry about how well organized it is, or what others would say. The point of all this is to have some fun.