Project Postmortem: Frylock and the Mooninites
### Part 1
1. It was a different time. A different world. I thought I could be a game developer so I played around with Game Maker 5. I started a simple 2d shooter based on Aqua Teen Hunger Force called Frylock Vs. the Mooninites. I dropped it after finishing part of a level and life got in the way and over 20 years passed. Jesus fucking Christ.
Anyway, surprisingly Game Maker 5 still works and I think I mentioned looking at some of my old projects in a previous post. But I have also decided (very much to mine and everyone else's detriment) to actually keep working on this dumb game and maybe see if I've learned any lessons over time. I certainly haven't learned to ship a finished product.
The game is ridiculously simple - you're Frylock, you're on the moon, you're "bouncing" because of moon gravity (think Flappy Bird) and you're shooting "mooninites" that are like 80's space invaders. That's literally it. I didn't even make a healthbar or HUD, all of that is on the title bar.
Trying to refamiliarize myself with the UI and Game Maker 5's scripting language GML, which is pretty straightforward, and luckily the editor comes with a reference. One thing I realize is that I didn't name assets properly so sprites are called "sprite1","sprite2" etc. There are lots of little scripts attached to the "events" (what Godot would call "nodes") some of which just set a single variable, so one of my goals is to consolidate as much as possible into as few scripts as necessary. As an aside, the UI is wonderfully simple and clean. I kind of wish everything looked like this again.
For some reason the window hangs for ten seconds or so before actually loading the game. I have no idea why. It doesn't happen with other old projects so it's something to do with this specific one.
One thing I find immediately is that I don't really like the gravity mechanic. It mostly just makes things annoying, and there isn't either a penalty or reward on the ground. So as my first actual edit of this game in 20 years (ignoring the ones I made before I decided to write a blog post about it) I change the controls so the player can just move freely.
I decide to set some goals. This game is never going to be very good, and there's no real point in making it much more complicated than it is. I'm not changing the music or the sprites, as basic and dumb as it is, I want to keep as much of the original style as possible. So I'll just finish a single level, up to a "boss," add a title and end screen, and call it "done."
First, it should have auto-scrolling. Game Maker has the concept of "views" which seem to be equivalent to a Camera in Godot, and the Room ("Scene") has a default view that follows the player. I assume that to get auto-scrolling I need to have the view follow an invisible moving object or else script it somehow, and limit the player's movement to the screen. There is a view_hspeed variable but that just seems to control the scroll speed, it doesn't move the view. I create a dummy object "objAutoScroll" and gave it a vertical speed, and set the view to follow it.
Game Maker does have paths, so after a bit of reading I get the autoscroller on a path from the start of the level to stop at the end. In the player step phase I make sure the player stays onscreen. I don't know how to set up the paths correctly in the UI, there isn't a "path begin" or "path end" object as far as I'm aware, so I just guesstimate that the path will stop at x=3000. The window is 640 x 480 so that's about 4 screens. I found some interesting sites on about map size and scrolling in video games, and shmup design:
* https://lilura1.blogspot.com/2022/06/Screen-Scrolling-in-Computer-Games.html
* https://www.slynyrd.com/blog/2026/7/26/pixelblog-63-horizontal-shmup
* https://racketboy.com/retro/shmups-101-a-beginners-guide-to-2d-shooters
* https://forums.nesdev.org/viewtopic.php?t=7425
So after all that I've decided... I don't know. I guess the level goes until I run out of ideas.
Currently the game just... _ends_. The boss at the end of the first level will be a lunar lander because apparently I had the image with the rest of the assets and never used it. I have absolutely no idea who or where I stole it from - a lot of the assets were just taken from the internet. The Frylock sprite is just a gif with bad transparency, you can literally see the green fringe around it.
And I mean... the background music is a MIDI of the Mortal Kombat theme. With all of this copyright theft and whatever the loading problem is this game is probably never seeing the light of day.
After getting the auto-scrolling and player positioning good enough, there was the problem of having the player get "squashed" by solid objects against the left side of the screen. Since the player can't move past the view, but collisions can, I had the player die if their x position went offscreen. Or I will once I get the player dying to actually work. I don't remember how GM5 handles deleting instances and I don't have anything that can _happen_ when the player dies, yet.
Anyway, here is the end of day 1. This is it. This is the entire game thus far. I'm tired. Enjoy a video with the BGM replaced with copyright-free audio because it isn't 2004 anymore.
**Youtube | I'm all taut, rock you like a cop. ** - Kenneth Rapp
The part where it bounces back and starts scrolling the other way is entirely intentional and I left it in because it's funny. I guess that goes on the list of things to fix... someday.
So, goals for next time:
▶️ HUD with healthbar and lives.
▶️ Better weapons, ability to shoot up/down
▶️ Boss????