Tonight's session has been a lot longer than I expected. I was supposed to go to bed an hour or so ago, but there were some things I really wanted to get completed before I called it a night. I’ll definitely get to bed after posting this.
I started this night with organizing my thoughts in the GDD like I planned yesterday. In a way, making a game never gets old. One day, I’m focusing on the GDD. Others, I’m spending the night drawing new assets. There are of course days where I’m mainly programming and fighting with the Godot engine. Today was mainly the latter.
I didn’t spend too much on the document, for I’ve already built up quite the action list for me to complete. This is one advantage of making a GDD. It lessens the daunting obstacle that is a blank canvas. I was able to quickly answer a common question for those starting on a big project: “Where do I start?”.
I don’t have close to everything mapped out, but I personally find myself able to work better if I get some ideas jotted down in the document and get to work on them. The thing is, new ideas and considerations pop up as I work on the action list I’ve set for myself, giving me more material to flesh out my GDD with.
I could completely finish the GDD, then finish making all the assets, and then completely get all the programming stuff done, but that seems like a fast track to burnout. Also, I don’t know about the average person, but I quickly lose sight of my original goal if I laser focus on one aspect of a project.
What I achieved today was not too much. I polished up the physics of the pong paddles a bit, and also added different bomb ball speeds that change depending on how you or the AI reflect it. There’s still some more stuff I would have liked to get done, but, I need to get to bed for work tomorrow. I’ll work on it after that.
I struggled with some things on Godot. Typically being a Javascript developer, it was a bit of a challenge for me to get used to what does and doesn’t work in Godot (apparently, you can't easily create a function in a function?). I’ve also spent some time going over some good and bad practices when it comes to referencing other objects.
Godot has a tree-like structure for organizing its objects. The gist is, you don’t want sibling, cousin, and parent nodes exchanging information unless it flows from a parent to a child. Functions could be used for that. If reversing the recommended flow of info is paramount for your project, you should try using signals, to communicate from a child to a parent.
Honestly, I did not apply the bit of research I did. For me, it seemed a bit too complex for me to really implement, and I was getting sick of wasting time, so I just ended up using get_parent() for what I needed to do. Fortunately, it’s just used to reference the velocity of another object. So the downsides of this approach (of which there are many, from what I read), should not cause too much trouble.
I get that we want to stay using the best practices for stuff, but sometimes, a beginner like me doesn't see a way to do what I need to do that doesn’t break the said practice. Maybe with more experience, I’ll be able to better organize my project and nodes to follow that common wisdom.
Speaking of which, I have to take a moment to just appreciate my day job. The stuff I do there really teaches me just how important organization is. I won’t name and place things carelessly anymore. Every object has a specific name that defines its purpose. I think of my mind as a compiler sometimes. I look at the names of objects and other stuff and logically do things based on the names. If I see a name that says one thing but does another, that REALLY messes me up. I experience an IRL mental logic error.
And I’m pretty sure that’s something we all do, which is why labels are important, organization is important, and even simple stuff like cleaning my room is important. It’s boring and basic, but all great things have a strong base, a strong foundation. I believe that the ability to do boring things without getting bored is an absolute superpower, and it's something I strongly want to develop in the long run. I do that via these projects and also this journal here.
To wrap up, I didn’t make as much progress as I wanted today, but it's still good. I tweaked the AI a bit. In a pong game, I want it to be challenging, yes, but also beatable. Admittedly, I went against my philosophy a bit and implemented a slightly complex bit of code, but it seemed like a good opportunity to learn, so I went through with it. I will say this: the art sessions will be painful for me. Animation will be an absolute drag. Hopefully, I get better at it with time.
Did you like this post? Tell us
Leave a comment
Log in with your itch.io account to leave a comment.
can we see the game design document then?
Absolutely! I will post it in the next one. Thanks for reading
np