Miner Defender

Download Miner Defender from Itch.io

Watch Gameplay video

This months theme was PROTECT ME! I didn’t struggle too much with the idea as with this theme immediately Missile Command popped into my mind. Maybe this is why I only 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 stayed with the turret idea, and I didn’t want to make a stationary screen. This game use a crosshair system on top of movement, I made the mistake to use a camera which I didn’t had time to rethink and now it stays forever not too good. This camera is restricted to the turret, but otherwise it tries to move near the camera. Interestingly the gamepad control feels better than the mouse control. I draw 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 number 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 shockwave, and red for rockets. And the game is basically this: protect the ships until they are leave the big meteor, get funding, upgrade, repeat.

Technically I didn’t used new stuff, I only used known stuff differently. I used some of my pre-made local asset packs, but still those needed some changes, like my HP bar system for the cooldowns: I needed to redo some stuff so I can 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 an interesting feedback about the background elements, how I should not randomize those as players could look forward to see what cool stuff is in the background. Good point, but I have some four backgrounds only and from my secret project, and it’s also a game jam. But still, good point for a bigger project. – I used small scripts and global variables to set what size the big meteor should be, how fequently hostile meteors spawn, how many miner ships should spawn, with how many resources. Also, what enemies with what frequency, max number and rocket usage should spawn if any.

I tried to make my life easier wherever I could, but 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 which direction they are coming. I made them a similar path at creation as for the player, except they start somewhere on the room’s side, their end point is the total opposite side, and one random point added near the big meteor. They can go back and forth on this path.

I made a system for icons/menus to click on. I kinda forget I used something similar in Ghouly (not object based but coordinate based mouse clickable menu), so that’s that for “make my life easier”. Although that is true, I made the upgrade system first and I kinda just used that as menu. With very little effort I could make my main screen more interesting. I put a big meteor with a ship, I spawn meteors and enemies and they obliterate the lonely ship. I then write a little message about how the deep space mining operations are not profitable if the miners are destroyed. So I actually thought of 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 are protect the ships and resources you get funding and a tip, and your reputation increases. If you loose all ships or a big chunk of resources, your reputation decreases, and if it’s reaches zero, it’s game over, you’re out of business.

I made this neat upgrade system, and I had to nerf the prices down a lot so it’s not that hard to buy them. I had a lot of trouble with the logic of the buttons, but finally I mananged to have it work as intended (hopefuly :D). Not too hard to navigate to the 10th level, and the game have 15 set up, the 16th being repeated endlessly. All in all I don’t think I will get back to this project. It was an experience, I learned a lot, and that’s all.