Thursday, March 17, 2011

Can't Fight the Fever

Eventually, the titles and how I open these things will get better. Or they'll start off even worse than they already do, almost like I do this crap on purpose. I mean, it's not like I'm writing an essay here, so the format can go right out the window.
I'll get to the title in a minute. It's what the next piece of coding is. In the meantime I went ahead and played with the other site: StarFrogGames.com for a little bit. Eventually all this nonsense will be posted there, since it will at least look professional. The thing is, writing on this site is incredibly easy, and so is posting other information. The "actual" site though, everything is a pain in the ass. I figured out how to post a diary-esque entry today, but for some reason the formatting for the words goes right off the end and under the borders on the side. It's pretty stupid. Now, I know that somewhere there is a table that is too big, but it's buried in the assets and web code that I can hardly navigate, and certainly can't search. Eventually I'll find it and fix it, but until then I have stuff to do.
Which bring us to the titles. Today, I'm going to create a fighter plane enemy. If you check out the Design Document it needs to do a couple of things. First, it needs to fly. Second, it needs to select a player and move towards them. Third, it needs to rotate as it flies. Most difficult, it needs to fire bullets at the player if the player is in front of them, or diagonally in front of them if it is moving up or down.
So most of that crap the Dive Bomber already does and can be copied almost wholesale. The select a player option will need tweaking, but I think if I have it check for a player based on proximity to the front of the screen it will work pretty well. For 2 players, they'll probably change position pretty frequently and for more the players on the front are probably there playing a kind of defense for the team. Or I can also randomly select a player. I may add both given time to create a kind of uncertainty with the mechanic, which would be good in this case.
For the firing solution, I think that I'll project a rectangle in front of the Fighter and then check to see if the selected player is in said rectangle. For diagonals, I might be able to create a quick loop that creates stepped blocks and checks those. We'll find out I guess.

-Sometimes, just sometimes you didn't think of something and it turns out it may have sucked anyway. I'm currently (or recently since I'm writing this now) adding the stuff that makes the Fighters work right. So I made little bits that make them rotate when they are flying and they accelerate and so on so it's like they are flying and it's really cool. I even got them to shoot at me, and here's what I discovered:
As they are, they are kind of difficult.
You see, they track the player pretty well so it's actually quite hard to avoid the little brutes. Worse, they shoot at you if you are level with them. This makes them actually tricky to shoot down since you'll shoot and they'll shoot. You'll move to avoid their shots and they'll do the same in pursuit of you..
Anyway, with all of that they are also (according to the design) supposed to be able to shoot at you while they move provided you are on a diagonal with them. I've decided that they already have ample opportunity to shoot the bloody, streaky 'S' out of you and they don't need another.
I'm thinking about having some kind of timer or something so that they have a delay before they move, if only to make shooting them down a little easier.
Failing that, since they ignore the non-targeted player I may leave them as is to encourage teamwork. If I do that I'll make them spawn as different colors so you know which one is going after who. Yeah, I think I like that. I'll try that...later.

No comments: