site banner

Tinker Tuesday for September 3, 2024

This thread is for anyone working on personal projects to share their progress, and hold themselves somewhat accountable to a group of peers.

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

If you want to be pinged with a reminder asking about your project, let me know, and I'll harass you each week until you cancel the service.


Well, it seems this thread is still not doing too badly relative to the other regular threads, so let's stay on a weekly pace.

3
Jump in the discussion.

No email address required.

Whew. I wrote 10.9k words of prose last week. That was a new personal best, and it was hard. Resulted in me getting nothing done on the game dev front, but I'm still really satisfied with how much I wrote. That's like a 4 novels a year pace. Gonna aim for just 6k this week, along with some work on the game. I'm starting to become guardedly optimistic that I will be able to keep this up indefinitely and make ends meet, even without any funding for the game project.

My cooling vest project is moving again, at long last!

I live in Florida, in August, and my work schedule relative to my work site's means that I'm walking across a half-mile of parking lot in full morning sun. NightHawkInLight, a popular science youtuber, recently ran across (https://youtube.com/watch?v=Nqxjfp4Gi0k) a Phase Change Material that's amenable to DIY-level resources, so I've taken it upon myself to package it in a wearable form. Academic writeup at https://www.researchgate.net/publication/316893824_Preparation_and_thermal_properties_of_Glauber's_salt-based_phase-change_materials_for_Qinghai-Tibet_Plateau_solar_greenhouses .

Phase Change Material: a material that melts and freezes at a tuneable temperature. This is the stuff that keeps your pillow foam cold at night. This is not chemical cold packs, it's only melting and freezing - the entire connected volume of the material will fight a temperature change to the other side of the phase change point as long as any part of it hasn't absorbed enough joules to implement the phase change. If the temperature you care about is 32F, you can use water just fine. If you want a little less than that, add rock salt, like the North does every winter to clear roads and driveways. If your temperature is about 95F, you can make a saturated water solution of sodium sulfate, aka Glauber's salt. Then, if you want it to be relevant to human-compatible temperatures, dope it with sodium chloride, and you get the melting temp to about 65F. Then, if you put it into flexible pouches held more or less against the skin, it rescues engineers from showing up dripping to their cube farm.

I've been treating the PCM as more or less turnkey and solved, so the only obstacle is making pouches to a) hold a useful amount of PCM, b) against a curved surface (me), c) in a structure that doesn't impair other forms of cooling. I've chosen heavy PVC sheet for this, and had some trouble getting it to fuse to itself - I'd made a temperature-controlled heat spreader out of a brass bar and a cartridge heater, controlled by an off-the-shelf PID controller and solid-state relay, but it didn't heat the far sheet effectively enough to fuse at the heated zone. A colleague pointed out that pipe cement is really PVC cement, so I figured out over the weekend how to mask that zone to pretty tightly control where the joint between sheets occurs - masking tape works fine - and last night how to heat and form the PVC sheet using a vacuformer. So now I just need to make the forms for the pouches, make the front sheet with the vacuformer, and glue on the backing sheet.

Registering that I've been considering going down the route of trying to do something like this for a while, and I would love to have any updates that could be encouraging me to finally move it toward the top of my list.

Hm. If the PVC sheets give you too many issues, I'd heard of prototypes for fursuit cooling vests use vacuum sealing or sous vide bags. They're not going to be as puncture-resistant as PVC, but if it ends up being too heavy or too annoying to form, may be worth trying.

Having gone through 2-3 years of always working on/tinkering with something, I’ve experienced some tinkering burnout this past few months. I think it’s fatigue from never seeing any of the things I was working on come to a whole pile of fruition (all content rather than code) - they included:

  • membership group for people trying to overcome overthinking/procrastination
  • podcast & publication about real life personal/couples financial statements (where income comes from / where expenses and investments go)
  • magazine / publication for writers about sports (essays, reflections, memoirs rather than reporting or journalism)

Working on a few things still that did get off the ground, are not yet income generating but still are rewarding enough for me to keep doing them:

  • musings/essays/interviews on psychology and money (sort of: “self worth and net worth”)
  • podcast on poetry as a personal development vehicle (sort of: “poems as teachers”)

Right now mostly I’m drifting rather than driven. Maybe it’s just a phase. (Recovery from a recent chest/lung illness playing a part too…)

Wondering if anyone else has gone through something like this and if so did you just allow it to pass or did you force a return to “productivity” in any way?

Sort of, but not really. I have a small mountain of unfinished projects on my hard drive. Inspiration for them comes and goes, I was able to finish maybe one or two of them. I feel some amount of regret for not being to apply myself enough to have something I can show off, and to some extent the point of this thread is to help me finish the one I'm currently working on... but at the same time, come on, tinkering is supposed to be fun, for me at least. It sounds like you're trying to get some side-hustle off the ground with your projects, and maybe that's the thing causing you burn-out.

Fun? What is this thing of which you speak? 😅

@Southkraut, how's your Unreal Engine thing going along?

Not at all! I was entirely busy with the vacation, spending two days driving back from vacation, taking my kid to the swimming pool several times, getting my car fixed, going on a full-day job interview...

I did manage to crack open the editor and look at what I have so far. What I have is a script that spawns some 3D objects. According to the editor this does work, but I have not so far managed to get the camera to see it happen. It's more than nothing - by a hair's breadth. I'll either have to grapple some more with the editor to move my blueprints into better position, or script it so that the positioning of the spawned objects and the camera is corrected on the fly. The problem might also be that the character controller I expect to be used is actually overriden by some default that's spawned in without my say-so; there might be a setting for that buried in the project settings IIRC.

Baby steps. Please ping me again next week.

HighSpace

This week was also pretty slow, but I'm pretty satisfied with the progress.

  • Icon for bomber wings

Nothing fancy, but it's here! Still, an important feature when deciding which ship you want to send in for the job.

  • Finishing the map AI

Last I was only able to set up a basic AI system that took the player ship "aggro" into account. However, all that meant was relative prioritisation when there was more than one player ship on the map. In the event there being only one ship (or several being grouped into a fleet), it would mean instantly drawing the attention of every single enemy on the map. The goal for this week was to make it a bit more subtle. Not wanting to implement a whole-ass sensor system, that make the player invisible to the ships further away, I opted to add a distance component to the aggro calculation, and a threshold for reacting. I also wanted to make aggro "infectious", so:

  • Ships detaching from a fleet would inherit the fleet's aggro
  • Ships joining a fleet would infect it with their aggro, if it's higher.

Killing an enemy ship now also causes an increase of aggro for all ships participating in the mission, so as you progress through the map, you will draw the attention of more and more ships. This doesn't mean much right now, as enemy ships don't join each other to form fleets yet (unless by accident), so this does not increase the difficulty of each mission. But I like how it already causes a few things to emarge from it. You can, for example bump up aggro for your fighter wing, and use it's superior speed to draw the enemy away from rescuable ships.

I made a little video to show off the mechanics, but it's been a pain in the ass to get to to a manageable size and still have it be readable. I'll give it another go tomorrow.

Goals for next week were:

  • Fix bugs introduced in this week

- Something weird happens when a friendly ship gets shot down causing a crash. - Shooting down a ship does not remove it from the list of active AIs (which is why the debug aggro information is still shown after the mission, in the video above).

Are two known ones. Hopefully there aren't any more, but I wouldn't bet on it.

  • See if there's any low-hanging fruit to make the AI more interesting.

Like I said joining into groups would be cool, as that would increase the difficulty of the mission upon encounter. I was also wondering if I should it "lore friendly". Right now, once an AI locks in it will automatically course-correct as it chases you. I was thinking of forcing it to way until it exits subspace, adding a subspace cooldown, etc. OTOH it might be too early for this right now as it would make the enemies too easy to dodge, it might work with a sensor system, and having ships be invisible while in subspace.

  • Reinforcement mechanics

I was considering having the System Map be active even in-mission, and letting the player call in reinforcements from there. The problem with that is it would imply time still flowing in the system map, which in turn would imply the possibility of parallel battles. I think I'll opt for High Fleet mechanics again, where the world-time will freeze for the duration of the battle, but ships that happen to be close enough to it can be called as reinforcements (perhaps with some distance-dependant time-cooldown).

  • More annotations / code refactoring

If I need something menial to not tire the old noggin too much, I might opt for this one instead. There's a whole bunch of stuff one can break by accessing each object's fields directly, so I want to hide them via annotations, expose some methods to change, that will guarantee everything working correctly.