This month’s theme was PROTECT ME! I didn’t struggle too much with the idea; with this theme, immediately Missile Command popped into my mind. Maybe this is why I started to think about another idea: a game where the player is the escorted VIP (how we gamers hate escort missions right?) and/or the damsel in distress, that needs a good AI to be protected by. Anyways, I stuck with the turret idea, and I didn’t want to make a stationary screen. This game uses a crosshair system on top of movement, but I made the mistake to use a camera which I didn’t have time to rethink and now it stays forever mediocre. This camera is restricted to the turret, but otherwise it tries to move near the crosshair. Interestingly, the gamepad control feels better than the mouse control. I drew a round turret body, its barrel is drawn from code with colored lines. The player can move it around a big chunk of meteor on an elliptical path. There is always at least one miner ship with a limited shield, and a certain amount of resources to extract. The turret has a number of systems to use to defend the miner ships and the resources. I put the systems’ cooldown indicators on the turret, yellow for shooting, green for shield, blue for shock wave, and red for rockets. And the game is basically this: protect the ships until they leave the big meteor, get funding, upgrade, repeat.
Technically, I didn’t use new stuff, I only used stuff I am already familiar with, only in a different way. I used some of my pre-made local asset packs, but those needed some changes, like my HP bar system for the cooldowns: I needed to redo some stuff so that I could do indicator lines not just from left to right, but from right to left, and also both ways on the vertical axis. I didn’t want to build any levels, so I decided to randomize some of the stuff (background color, background element, big meteor tileset color and corner cuts, the angle of the incoming meteors, and where to put the miner ship). – During the show and tell I got some interesting feedback about the background elements, how I should not randomize those as players could look forward to seeing what cool stuff is in the background. It was a good point, however, I only have four backgrounds from my secret project, which is also for a game jam. But still, good idea for a bigger project. – I used small scripts and global variables to set what size the big meteor should be, how frequently hostile meteors should spawn, how many miner ships should spawn, with how many resources. Also, enemies and their frequency, their number and rocket usage.
I tried to make my life easier wherever I could, but I also put as many systems in there as I could. So, when I came up with the big meteor spawner, I used a couple of shapes to cut the corners so it didn’t look like a block. I put cool indicators for enemies on the side of the screen to show from which direction they are coming. I made them a path at creation that was similar to the player’s, except that they start somewhere on the room’s side, their end point is the total opposite side, and I added one random point near the big meteor. They can go back and forth on this path.
I made a system for icons/menus to click on. I kind of forgot that I used something similar in Ghouly (not object-based but coordinate-based mouse clickable menu), so that’s that for “making my life easier”. Although that is true, I made the upgrade system first and I just used that as a menu. With very little effort, I could make my main screen more interesting: it includes a big meteor with a ship, spawns meteors and enemies which obliterate the lonely ship. Then, a little message appears about how the deep space mining operations are not profitable if the miners are destroyed. I actually came up with a little story behind the game. In the not-too-far-nor-near future corporations hire turrets from smaller companies to protect these sites. If you protect the ships and resources, you get funding and a tip, and your reputation increases. If you lose all ships or a big chunk of resources, your reputation decreases, and if it reaches zero, it’s game over, you’re out of business.
I made a rather neat upgrade system, and I had to nerf the prices down a lot, so it’s not too hard to buy them. I had a lot of trouble with the logic of the buttons, but finally I managed to get it to work as intended (hopefully :D). It is not too hard to navigate to the 10th level, and the game has 15 levels set up, the 16th being repeated endlessly. All in all, I don’t think I will get back to this project. It was a valuable experience, I learned a lot, and that’s all.