New Entity – Turret
May 10, 2010 § 3 Comments
Ah, the turret gun. I had to have some of these, they’re just too much fun. I’ve decided to give you a little sneak peek of how I actually go about making these entities.
The first thing I do is decide that I need another one. Usually this comes as a result of people telling me “Oh, this would be cool…” and then I do it. In this instance, I figured that no security system would be complete without automated turrets.
Next, I usually decide what entity I want to replace. There are a lot of choices, but I try to be careful because I don’t want to remove something I might want to use later. I also avoid any ??? entities since they could be anything and might make the game unplayable with them gone (most are projectiles I think). I eventually settled on taking the puppy that runs around when you get close to it, since I’m not going to have any puppy gathering in this game. Then I go and fill the code for the entity with NOPs so I’ve got a nice clean slate to work with.
After everything’s all prepped, I usually take some time to think about how the entity will behave. Will it shoot bullets or missles? How fast will it shoot? How big is it, can it be destroyed, what sort of functionality (TSC-wise) will it need? There’s no formal thinking session I have, but rather I just keep it on my mind over the next few days and let the ideas “mature”.
Once I think I’ve got it all figured out, I boot up Olly and get to work. Then it’s just a matter of writing until I’ve got every feature in my mind covered… Until it’s finished, I work with dummy sprites so I know what it’s doing. I always save graphics for last.
The blue one’s the Turret and the yellow ones are the bullets. For more information about how I do the ASM code, you can go to the appropriate page: (Link)
Usually it takes a few hours to get it going just the way I want to. Once that’s done, the only thing left to do is tweak and balance it, and then finally draw the sprite.
Which, I haven’t done yet :/
Checklist completion: 7/25