This is it. This is where I slowly lose my mind over the obscenities of translating game concepts into code. Explore the depths of madness with me.
This is a developver log for an Itch.IO game jam titled "SCREAM JAM 2024".
I gathered a team composing of myself, a 3D modeler by the name of PeculiarSana, a composer named Zidane, and a concept artist named Bingyy.
We came up with a plan to make a monster horro game based off of the monster not desiring to be seen. It sounded simple enough on paper. I asked Binggy to come up with a design using a hodgepodge of inspiration. The 1-Week timer started. Bingyy handed us an honestly amazing draft of how the monster could look.
I got straight to work modeling these guys. The idea is that the monster would grow angrier with each time you looked at it, slowly transforming up to phase 3.
It took me about two days to model each of the creatures. I was pretty happy with my ability to translate Bingyy's design.
In the meantime, Peculiar designed the waterways that would make for the setting that this creature would stalk you in, and Zidane created the music tracks.
For the next four days I blasted out code like crazy. It felt like I was just making spaghetti code for everything, but there were so many mechanics to cover that I couldn't look back and reiterate on what I just made. Much like the previous jam, I would have to say "It's good enough for now, we need to knock out the next mechanic."
A huge roadblock was the stalking mechanic itself. There was no time to program things like inverse-kinematics or navigation meshes for the creature. I had to stick with the rather strange visual of the creature sliding out of view when you saw it. I spent about 20 hours total on just the stalking mechanic, which was continuously breaking. I honestly thought this was going to be an unfinished game at this point by the 5th day, which would have amounted to a personal failure for me.
Next was the photography feature, then the chasing scene, the game over mechanic, the level reset mechanic, audio implementation, camera jamming mechanic, chase scene, win screen sceen (Thank you BubblePartyxox for the "BaseBook" background), score calculation, inner-thoughts dialogue screen, and probably another 10 things I was forgetting. At this point the development is all blurred together.
I got a version of Photophobia technically working after about an hour of testing at 1 in the morning. I exported it, uploaded to the GameJam and called it finished.
You can find the game here.
There were shockingly 500+ entries to the game jam, and I could tell Photophobia was immediately buried under the mountain of other games that were published.
And these were the results from the voting...
Pretty disheartening.
Regardless, I hope to take this as an opportunity to learn from it, and continue making better games.
I'm not really sure what I could work to improve on at this point. Looking at this score, I realize that everything we've implemented is "Mid" at best.
I'll figure it out at some point. Until then, the only way I'm gonna know is to keep making more games, and hopefully get more feedback. Maybe my next public work shouldn't be something that has a one week deadline.
I'm still proud of it either way. I can be happy that I exist as a version of myself that chose action over inaction.
And I'm grateful for my team who helped me make this game!
PeculiarSana's Bluesky
Zidane's Spotify
Bingyy's Instagram
BubblePartyxox's Instagram
It's been a minute since I posted here, but I have been working on the game!
Out of the list from the previous post, I've been working on two of the To-Dos (and another mechanic)
1) Enemy AI
I am building a modular AI system with plug-and-play types of nodes in Godot. Different nodes push different kinds of behaviors, and the idea is that linking specific types could build me the complex decision trees I need for enemies. Instead of hardcoding the behaviors, they are broken down into things like: position tracking, target choice, position variation, mode switching. One of the bigger hurdles is going to be pathfinding, which will be new to me.
2) Action System
Node structures are in place for interchangable actions. The main idea (that has been reworked constantly over the years) is that you will be able to select different actions, then depending on your movement, calling that action will call a sub-action, which the sub-action choice varying on your movement. For example, the first action type you get in the game is "Jump", once you set jump and call it (right-click) the player character will execute a high jump, but the jump will be different depending on whether you were moving forward, sideways, backwards or not at all.
The Action System will be hardcoded as the actions are intended to be static and reliable. Modularity would defeat the purpose of every sub-move feeling unique. The Jump action does have a pretty lengthy script already, but its tolerable, and its more well-designed than my previous attempts at the action system.
3) I've implemented the "mana bar" system. The actions in this game are expected to be overpowered to some degree. To compensate for that, a regenerating mana bar will counterbalance things like spamming a move to go extremely fast. It wont actually be called mana in the game, but its functionally the same. The action system is already interlocked with this system. I'm considering all current mana costs as a work-in-progress. Game balancing and tweaking ought to be saved for later when the system is more robust and defined.
I'm posting this from my laptop without screen-recording capabilities, so have this screen shot of the red-marked AI node controlling a green AI module for speed-limited tracking, along with the mana bar / action slot UI.
So, to be more specific about the state of development. This is not the first version (or iteration) of this game. I've been developing this game on-and-off for about 5 years now.
There's not much to show for it, because I keep changing my mind about how certain game mechanics ought to work. This mentality was reinforced when I attempted a horror Game Jam last year.
We had a month to put out a game, and I wanted to put myself to the test to see what it was like to make a game from start to finish. Technically, I accomplished that. The game was completable if you knew exactly what to do.
But it wasn't a 'fun' game. There are two lets-plays of it on YouTube where the players essentially rage-quit. So yeah, I could make a game, but I want to make fun games.
This game should be fun, so I'll keep hammering away at it until I get it right.
So, this isn't the first iteration of the character, or code, but I plan on breaking new grounds this time around. Currently, I have a working player again who can platform modestly, and so I've been working on rebuilding the first game level.
The first level is going to be fairly dark compared to the rest of the game, and I definitely will need to redo the visuals at some point down the line.
But right now progress is being made, which is better than no progress.
The current roadmap is:
- Action System
- Cutscene System
- Enemy AI
- Dialogue System
Out of all of these, I anticipate enemy AI will give me some real challenges.
This will be the beginning of my devlog for my game, Valkyrie, an action platformer. So far the base developments have just been putting in standing, running, and jumping. Here are a couple videos showing the various stages of development since then. I'll spill some more details as development progresses.