So I'm stuck in that productivity loop where even when I am not at work, I feel like I need to be productive with all the rest of my time. It doesn't feel good and its not good for my head.
I initially wanted to title this Programming as a Hobby but the problem with that is that even when I am programming as a hobby, I feel like I need to be working towards an output to be released. Programming towards something artistic that I am proud of.
Even though on the surface this is labelled as a hobby, it has the toxic side effects of myself feeling like I need to be productive at every moment, working towards something. This doesn't go down well in me head on the days when working on something in the evening isn't working or I try to just watch telly or play a game. That downtime feels like it needs to be productive.
It brings me back to this notion of an app can be a home cooked meal. When you make a nice sandwich, its not destined to be published on a website and be rated and scaled out to hundreds of people. If I can could think about programming for a while in terms of making little sandwiches for myself, I think that would be beneficial
Thought exercise!
Games don't need to be played by a lot of people to be deemed valid or successful.
What if making a game could be the equivalent of knitting a scarf for a friend or making them a nice meal.
This is possible! Maybe I should try it!
Enjoy the craft as a hobby.
Or I could make tiny games and make a few physical copies of them. Sell them at a market or give them to friends. Not to be distributed online.
What kind of things could we make?
Recently, a friend of mine, Micheál Keating, took some phenomenal photographs that captured me. Thousands of Starlings moving together in a dance, mad patterns that disappear as fast as they form. Nature being a powerful and unreal force. Some yoke!
It moved me to try and create an interactive scene inspired by the photographs. An experience where a person could sit into the photograph for a moment and see the birds moving around them.
I feel like its a nice scope of a project and has a few areas that I can try and learn a few things.
I am going to write the game in C, use the Boid Algorithm to simulate the flock of birds and try out some shader programming to try and create the feel of the photograph.
This video clip is a terrible quality visual of where I am at at the moment.

I have boids that are kinda boidish moving around the sky that I want to tune a little better. And I have a greyscale, film grain filter that is almost completely lost in that recording.
The code is available to look at and run here: My Github
I have been wanting to get a feel for using C for game development recently so this is a good candidate for testing out that in.
Some questions around C for game development that I have are:
So far, I am having a good time with it! It feels much more like programming without training wheels in comparison to using Rust or C#. The program will either not compile for a completely unreadable reason, or the program will compile and have strange behaviour because of some typo somewhere hidden in the code. Those are the two things that have tripped me up so far but combatted with the VS debugging tools or by popping errors into Mistral AI.
I have next to no shader experience! It's always been something that puzzles me. Creating something to try and replicate this photograph felt like a nice challenge.
So far I have made a super simple shader (Inspired by examples here) that takes the output from the camera, grey scales it and adds a little noise. This shader is then written to a texture and that texture is then displayed onto the screen.
It works but it doesn't really feel like the photograph so I will see how I can tune that.
As I mentioned in a previous post, I am using the Boids Algorithm to simulate the flock of Starlings. Its been quite a manageable process getting up and running with it and I now have some parameters that i can dial to tune the system. Im currently getting about 30FPS when processing about 500 boids so I will see if I can improve the performance of that with further iterations.
I have been extremely on the fence about putting Wee Boats up on Steam. That's where the real games go! I'm scared of being ripped apart with bad reviews and refunds! "What is this shit REFUND" "There was no game here REFUND" "This is way to short REFUND"! However, after working on this thing for 2 years now, I feel like I have to put it out there, even for the sake of putting it out there!
The worst case scenario is that I get a understanding for this release process and its also giving me an opportunity to break through some walls of setup work that I won't have to do for following projects.
Yesterday, I just got my Steamworks account accepted by Valve. It took over a week of applying every day and getting declined overnight for different unclear reasons. Setting up a Steam account is something that has caused me months of procrastination but now that step is done. I'm free!
Next up, let's make this Wee Boats store page and try get some wishlists in! The ball is in my court now!
You can read other Wee Boats updates on the devlog!
I am trying to recreate a small scene where you can stand and watch a crowd of birds move around you. For this, I am using Boids Algorithm which I have heard come up hear and there over the last few years.
This is a resource that I am finding useful
I'm building it using C and Raylib which is a direction I think I want to move more towards to build up a better understanding of how games work at a lower level. I'm also not using copilot because efficiency isn't the goal here, its learning.
So far the experience has been good! Would love a bit of a foreach iterator right now because the amount of iterating over arrays is creating a fair amount of typing but I can live with that.
My boid birds don't feel like birds yet. More like bouncing balls that slightly group up together but hopefully it will come together over the next few days.