Blog of Internet of Things is Bullshit
IOTIB.net - Diet rite is a good cola.

Saving Nestor: Post-Mortem

November 17th, 2021

So it's official, after months of no progress i've given up on Saving Nestor. Why though? Well, there's plenty of reasons:

  1. Long hiatus.
    Due to a myriad of reasons, almost no progress has been made on the project since October, and no major progress has been made since July. As of writing this, that was almost 4 months ago. And why was there a long hiatus?
  2. Code is complicated.
    Seems kind of obvious, but as the time of no progress went on, I started forgetting how my code worked slowly. Now when I look at it, it can take me half an hour to refamiliarize myself with the code.
  3. Code is broken.
    The code is fucking horrible, end of story. I had workarounds for workarounds. And most of it had to do with threads. A good example: There's a glitch where the SoundsPlaying variable randomly gets jumbled. This is due to multiple threads accessing the same variable at the same time. How do I fix this? I have no fucking idea, I literally can't wrap my head around pthreads. Funny enough, this is an issue I solved in D, but for some reason I can't understand how to do it in C.
  4. Slow Art.
    This is a pretty minor reason, while it's complicated to get art assets due to licensing bullshit (artists tend not to be as liberal with licenses like programmers =P), I could definitely add temporary sprites while I wait for the art designer to do stuff. What's the issue? How exactly do I keep track of the assets that aren't original? Seems like a simple answer, but it's really not. Let's say I put a flower tile in the game from some random tilemap on opengameart, I would have to put that on a list somewhere and add in-game credit if it was a CC Attribution license (as they aren't GPL compatible, but liberal enough to let me use them in the game. The share-alike license is GPL compatible though.) And what happens if I make a mistake while keeping up with that list? Uh oh, I did a copyright infringement, that's what happens.
  5. No Original Music.
    I know a couple of artists, plenty of programmers, but literally zero composers. I had been meaning to learn music theory so I could make my own music, but it's extremely hard to learn a new skill when you already learning another new skill (programming). I will one day learn music theory, but for now I need to focus on being a better programmer so the #2 and #3 don't happen again.
  6. Depression.
    Lately for the past couple months, i've been going through a bout of depression. It's gotten so bad that I can barely sleep anymore. I'm not suicidal if anyone is concerned, but i'm not doing so great either.
  7. Bad Library
    Well, I wouldn't call BearLibTerminal a bad library, just bad for what I was wanting to do. Tiling got really complicated, and many things had to be surrendered for the sake of a functional game.

And that's it really. I would like to finish this off by thanking my friend cdymrtn for helping with the project, he has a website at www.cdymrtn.net. He's planning on posting art on there, and he does good art in my opinion.