Day 12: Introducing DRONE INVADERS
I finally decided on the name. There were many game names out there, but I only found 6-7 available. This one seems to fit the game theme the best. New title screen is ready, using the same Ruslan font.
Today I learned difference between Comparable and Comparator in Java. I changed the bullet code, so that you can fire multiple bullets (laser fragments) at the same time. Also, you don't need to touch the alien to shoot it, but rather just fire in its direction and bullet hits it. Instead of going with full collision detection, I simply extrapolate bullet trajectory at the moment of firing and see which alien it hits first. This worked fine for all levels until the Boss level. Since Boss spits other aliens, he gets to be the first in array and bullet would fly through all the aliens and hit the boss. I left this behavior if you touch the boss directly. But, when you just shoot in some direction I'm sorting the aliens by y-coordinate to shoot the nearest one.
This new feature changes gameplay a bit. It's now easier to play, and more enjoyable as aliens you shoot are no longer obscured by your finger. The game has turned from "precise touches" to "shooting fest" and only that 10-bullet clip prevents you from destroying everything in two seconds.
I guess I'll now have to make alien movement even more challenging, so that the game doesn't get too easy.
Day 12: Part 2
I started to like the game too much, and decided to work on it more before going to sleep. On levels 16, 26,... I added a big moon, and aliens are hiding behind it. The moon slowly moves across the screen, just in time to finish before the Boss level. This makes the gameplay really challenging. It was also challenging to do detection whether aliens are hidden behind the moon or not. Since moon is round, rectangles are not very easy to use. I looked into pixel-precise detection, but I'm afraid it would slow the game to look individual pixels each time a shot is fired - especially since moon is rotating all the time. So I just reduced the original sprite rectangle by some 12% and I'm doing the rectangular checks instead. It is not pixel-precise, but it works really well. The way it works, bullets fly over the moon and aliens fly under the moon, so you can shoot those who haven't reached the cover yet.
I'm really satisfied with the gameplay now. It's fun, challenging and engaging. Now I need more bosses, a couple of more alien types and powerups. Without powerups it's a real challenge to reach wave 60, so I'll try to create enough content to have new stuff show up at least until level 100 without repeating bosses. I guess it will be easier with powerups. We'll see once I add those.
This is the first time I'm feeling it's going to be a great game, rising above the average space shooter.
read more... Tweet to @bigosaur Tweet Bigosaur, 2013-10-11