Date: 2023-03-12
What is a game?! A miserable little pile of secrets. (Castlevania "SotN" - Konami)
Progress this week was a little slow during the week, but this weekend was more productive. Yesterday I was able to add a condition where the player can lose. At least the code could be altered to show a game over screen, but at the moment it just restarts the scene. Additionally, I was able to create a way for the player to win.
It was not clear whether or not I was getting sleepy or I was pushing through a barrier about how to approach the scripting for objects. I got held up about the idea of a Game Controller script that might dictate the way things work. I ended up instead creating scripts to apply to objects that react when something happens. Seemed like a vauge question to ask the internet that might be more of a preference. I'm hoping to apply best practices to this endeavor, but sometimes worrying about that can create a hang up. Kinda like the input system did.
Since my past attempts to dive into Unity haven't gone too far, it's weird to see a variety of small scripts with very limited responsibilities. I'm continuing create backups because taking notes on each little script is time consuming and the application may not be relevant again in the future. The plan is to refer back to a script, but will see if this becomes counter-productive.
So the bones of this 2D platformer prototype are coming together. One hang-up I have is this weird reaction from the player controller where the player will seem to get snared by a flat surface when landing and maybe trying to jump immediately. Since I didn't write the code, I'm not sure what's causing the problem, which is one of my initial reservations about using big chunks of code written by someone else. Ideally I'd just like to dig through the code, but the allure of an official asset from the Unity Asset Store was on my mind this week. I've been looking at the Corgi 2D platformer asset. Not sure if I can test it out in some way. I'm pretty sure I'm liable to run into the same problem where I haven't put in enough effort and get held up with some functionality.
At this point I'd like to try to design a level and start experimenting with the search for what fun is. Something tells me I'm not going to figure that out in a weekend. I'd like to continue exploring the components that make up a game and work on polishing the feel of the game later. Putting off a problem that affects the core of the project feels like a problem though.
What makes a game fun like some of the hits over the last several years like Celeste, Super Meat Boy, and Hollow Knight? All three of these feel really good to play. Even though Hollow Knight has more of a focus on combat than platforming, the platforming is still a core component of a metroidvania. All three of these also seem to be really challenging, or at least have a high skill cap, and you can skip some of the more challenging aspects if you want to get to the credits. This is something I'm going to think about as I begin to consider level design.
Reading about the history of Super Nintendo got me thinking about the transition to home consoles from the arcade. From my own experience, the arcade continued to be really exciting after our family got a console. There's something about the social aspect of a challenge, or a leader board that can make a simple game much more appealing. I'm okay with more of an arcade approach while I learn more of Unity, but I've come to appreciate a story quite a bit more in a game in recent years. If I had to pay for my lives in Celeste with quarters, I'm certain I wouldn't have bothered.
Who needs another Discord channel? Email me!