So much for building momentum. Tried to be productive for 6 months, and whenever I started VS I just stared at the project selection with a tired heart and then closed it again. It needed the post-completed-depression of a nice game (Valheim in this case) until I found my spare-time coding strength again. And a week of covid quarantine when I found a workable way for my little girl and me to get some me-time.
Now I'm back on my shit again, and I finally implemented the InGame currency by which the player can buy new cosmetics for her snake. I chose the Double Helix symbol and tried to work from there. My art skills are limited, but I'm getting better at GIMP.
So there are these DNA fragments now. They have a huge circle of rays around them so that the player can spot one even if it's still far away outside the screen. When you eat it, it's not immediatly counted. Instead it takes a while until it's "digested". Until then the snake is visibly thicker and the point radiates just like the item did. Until it's digested (after ~90s) the DNA fragment is dropped when the snake dies. This hopefully encourages other players to try to fight her for the fragment. I also hope to increase the perceived value of DNA fragments with this little King-Of-The-Hill minigame.
I made a short video of this, it's 60s.
https://streamable.com/bl3as2What's missing now is the actual counting. I'm reading up on the SteamAPI's inventory methods and in consequence on Steam micro transactions, and it's slowly dawning on me what I'm signing up for when trying to create a FreeToPlay game. You need a separate purchase server that has a Steam account and a certificate, your game needs to talk to this server to make purchases and grant ingame currency items, and oh human... the possible attack vectors, just the ones I can think of, are out of this world. Plus handling refunds, sketchy transactions, the support you have to offer as soon as money is involved... holy feces of heck.
On the upside: if this ever actually becomes a real time-consuming issue it's a sign that the game works and generates revenue. Make it work, make it safe, then we'll see.
First I'll jump to a different long-standing issue of mine: 3D API. All of this is based on my personal framework, and it's still DirectX9. Yes, Nine. I recently joked with my ex-twin-brother (the only other user of this framework) that we got so experienced with pushing hundreds of thousands of sprites multithreaded that we completely forgot that everyone else is doing this one the GPU for like ten years. I really need to get away from DirectX9. I'm aiming for Vulkan, probably, or some wrapper on top of it. WebGPU was suggested to me, and even though it's still rough it looks promising.