Tuesday, May 22, 2007

Short Hiatus

Because of a recent vacation and upcoming work deadlines, I probably won't update until after June 1. Never fear; Attacker is still alive and well.

Sunday, May 6, 2007

Oh, the (poorly-drawn) destruction

I've finished the basic functionality of the destruction-in-stages of scene objects. I still need to add fancy particle effects, etc., but I have a hard time justifying working on those tasks right now given that there are so many other gameplay elements that need attention. Here is a video of the destruction, and bonus points to anyone who can point out which frames are programmer art:



-Mike

Sunday, April 29, 2007

New Attacker Video

As I had hoped, I managed to get a more-or-less working destructo-beam completed. The UFO can now attack a building and watch the building's health deplete. If the UFO stops attacking the house for a few seconds, the health bar will disappear.



Of course, there are obvious areas of improvement:
  • The health meter needs to be positioned better, not to mention needing final art
  • The charge-up effect and beam graphic need final art
  • There needs to be some visual smoke/spark/debris effect as the building is being destroyed
  • The health bar should fade in/out rather than just appearing and disappearing.
  • Obviously, the house needs to be destroyed progressively, or at least when its health is fully depleted.
Eventually, the homes will include residents who will flee when their houses are destroyed. They can then be pulled into the UFO by its tractor beam (for lack of a better term).

-Mike

Edit: I had almost forgotten that I created a rough "feature design document" in the wee hours of the morning (with the help of OneNote and the Wacom tablet Dave sold me), describing the destructo-beam's behavior. I find it amusing in retrospect for some reason.

More destructo-beam work, etc.

I've done some more work on the destructo-beam's functionality. When the player presses the right trigger on the Xbox controller, the weapon charges for a couple seconds, then fires in a stream downward. It is supposed to stop once it hits a building (or the ground), but TorqueX collision weirdness is causing the collision to often be detected too early or else too late. Thankfully TorqueX offers a way to retrieve the exact point of the collision (where it should intersect collision volumes), but I'm struggling with problems compensating using this; namely, the laser visibly always stops too early or too late -- though I can live with the latter as long as it isn't horrendous. I keep going back and forth between doubting Torque's collision system and doubting my own basic geometry skills.

I will debug this more tomorrow.

Oh, I also added a generic FiniteStateMachine class that I applied to the laser beam's state. It's a marked improvement from the ones I used to throw together as a game developer at Cat Daddy Games. It's a C# generic class, which means you can strongly type it with any type of state you want. I originally wanted to make the FSM be initialized with an enumerated type and automatically create state objects for each possible value, but the Xbox .NET libraries are limited and don't have any way to iterate through all the possible values of an enumeration. That's unfortunate, but the alternate solution I came up with seems to work well so far, but it requires that you manually add every state you care about to the FSM. No big deal for now.

Also on the agenda for tomorrow:
  1. Create some sort of particle effect illustrating the "charge-up" phase of the destructo-beam.
  2. Manipulate the HealthBar component of a scene object as it's affected by the destructo-beam
If I can accomplish both of those, anything else will be icing.

-Mike

Tuesday, April 24, 2007

New screenshot: Not Pretty



What you see in this screenshot is a UFO (the player) attacking a farmhouse with a destructo-beam. Collision boundaries are drawn in blue to aid in debugging. At the center of the farmhouse you can see a semi-transparent health bar (for the house's health) which is in dire need of a makeover and relocation.

There are many design questions yet to be sorted out, and one lesson learned tonight is that I need to spend some quality time with similar games to see how they solved similar problems.

-Mike

Wednesday, April 18, 2007

Laser/Destructo beam, continued...

I'm running into continual newbie problems as I attempt to "mount" the destructo beam geometry to the UFO using the TorqueX mount / link point system. It seems that the coordinate space of the mount offset differs from the coordinate space of the destructo beam geometry. The bottom line is that I have a hard time non-arbitrarily (or guess-and-checkily) determining how to set the position of the destructo beam, and I end up getting stuff that looks like this:




I'm also looking into changes to the camera. Ideally it seems like it'd be nice to have it dynamically zoom in and out, but that could get annoying; at the very least it seems as though the camera should err on the side of keeping the ground in view, and only center on the UFO if it becomes necessary. I'll experiment and see what I come up with.

-Mike

Tuesday, April 17, 2007

The "Laser Beam"

I'm trying to decide on a decent way to create a destructo-beam for the UFO. So far I've settled on a simple piece of geometry (soon to be replaced by good art from Dave), with some particles emitting along the laser's axis (the laser will shoot straight down toward the Earth) for a glow effect.

My first version of the laser "texture", if you will, actually made a decent-looking suck-beam. (Can you tell we haven't finalized the weapon names yet?) So I may create something similar for the suck-up-beam. This doesn't mean much without anything to see, I realize. Screenshots soon, once I integrate the LaserBeamComponent into the engine. Next will come the component that gets applied to any object that can be destroyed by the Destructo-Beam. Hopefully by the end of this weekend, we'll have a UFO that can shoot destructo-beams toward the Earth and blow up the farmer's house.

We'll need a damage meter for the house... hmm...

Sunday, April 15, 2007

New Screenshot, Updated Parallax

Previous builds of Attacker were using an imprecise parallax scrolling technique that wasn't made apparent until I tried to add more slowly-scrolling mountains in the background and noticed that they were moving in "fits and starts" as the UFO flew by.

I've also added Dave's house model to the scene, though I haven't yet added collision. I'm also trying to figure out why there is visible aliasing on the house's lines; I suspect it's something to do with the way that I scale it down after I import it into Torque Game Builder X, but this still leaves me wondering how I'm supposed to know the proper size of source art to use. I believe this exact problem is one of the things mip maps are supposed to solve.

Here is a current screenshot. Bonus points if you can determine which of the art assets is "programmer art".



-Mike

Wednesday, April 11, 2007

Parallax Scrolling

Attacker now supports parallax scrolling. In other words, we can now add backgrounds (hills, mountains, etc.) to the scene and specify the speed at which they scroll relative to the camera's movement. To see this in action, check out this video (1.38mb). The choppiness is an artifact of the tool used to record the video.

-Mike

Tuesday, April 3, 2007

First Attacker Screenshots

That's right. Even before knowing anything about the game, you're getting this exclusive screenshot, straight from the dev team:



Consider this the calm before the storm.

Monday, April 2, 2007

Moving In

We're moving into our new blog, so please pardon the dust. We'll be up and running very soon!