Devlog 2: 09...15.01.2023

Greetings. And welcome to the second devlog of Greg RPG! Things slowed down a lot this week, as it was the first week of school after a long winter break. I focused mainly on getting the battle system up and running, which I did, by the end of the week!

Monday? Not much done. Some reference arrays added...

Tuesday. Dust particles for when you get hit. And sounds. I can't find the picture of me showing off the dust but it caused quite the commotion.

Wednesday. Spirits! If you don't know, these are the "spells" of Greg RPG. They cost magic points to cast and can do stuff like apply effects or damage battle actors. And they also have animations.

You can actually see the dust here, too. Great. BattleEnemies were given their own script and class this day. Did I mention that I upgraded to GD Beta 11? I think it fixed one thing that gave me trouble last week. Not sure.

Thursday. Uh. Oh god. These Github commit timestamps are not in my time zone. This requires some serious mental gymnastics to get a grasp on... Ugh. I'll just... I'll just say what I did in somewhat of a chronological order.

I'm back. This is pissing me off. I think I have stumbled upon a serious bug in the beta... I am filled with regret about choosing to use the Godot 4 beta for this. I'm going to have to make a minimal reproduction project, somehow, and then report the bug, I think. I could not find anything about this by Googling. This is what many people complain about in regards to Godot, right? The lack of resources online compared to, say, Unity or others. This issue is even worse with the new version 4.

Right, the bug. I have await get_tree().create_timer(1.0).timeout calls in my code. And in some specific context, called from some specific stack, I can only guess, makes the game crash. No errors logged, the game just freezes and closes. Siiiigh. This is what the coming week will focus on, I bet. Figuring out a fix for this. Curse you, Godot 4!

Oh, today (Sunday) I also wrote a custom dialogue parser thing. Dialogues are now stored inside a .txt file with a specific syntax. The parser just gets the file contents as a huge string, splits it based on new line characters, and then forces those lines through a bunch of if else statements. Mhm. It works fine! And it's even fast, doesn't cause a lag spike or anything when loading it. I had to do it because I changed all dialogues to use exported something something Resources instead, but they all got deleted when I moved the dialogue line script file.

I'm tired. I think I'll go to sleep now! Enjoy.

...

Enjoy what? The sleep? I'm the one going to sleep. How could- how could you... enjoy me... going to sleep? Huh? Tired. Tired, tired, tired.

Goodbye.

Idiot! You want to finish the game? You want to publish something? Well, great that you chose the unstable game engine to do it! Your intelligence is blinding!