Rapid Prototyping Session 2

The archived Session 2 board includes the announcement and all entries, minus attachments.

Announcement

As the winner of the first session, mice chose the theme for the second session.

Start Date : 7/7/2008
End Date : 21/7/2008

Theme : Laser Mayhem: Enemies only fires lasers (beam going from enemy to end-of-screen/wall), no ordinary bullets.

Good luck folks.

Winner

I won this time. Exciting!

Laser Maze

My entry for the session was Laser Maze, a top-down shooter in an enclosed maze.

Premise

Defend yourself and the blue pods from attacking ships!

Downloads

Competition Build (2008-07-21)

Description

The player ship starts at the center of a maze of yellow walls, surrounded by twenty blue pods around it and four green health pickups in the corners of the center area.

The game requires the Visual C++ 2008 Redistributable Package

Controls

Scoring

Extra life every 10,000 points

Development

2008-07-10 6:17 AM

I don't have a clear vision or clever title for this one, so I'll just have to make something up as I go. I do have working beam weapons now, both instantaneous pulse and extended duration, so that's a start.

2008-07-17 7:39 AM

I got beam weapons working early last week and equipped the player ship and "multiple"-type options with them as a test. While the player's ship could fire projectiles based on a literal reading of the session theme, I figured it would be more appropriate for the player ship to fire beams as well.

After a week of zero progress resulting from lack of inspiration and a long drive side-trip to visit relatives, I finally created a beam-attack enemy inspired by the Laser Ship enemy from GORF. With only minor embellishments, it looks almost exactly like the original. I had to change its attack cycle to make it fair for the player, as the original beam moved fairly slowly while this version hits instantaneously. It emits a "tracer beam" for several seconds before firing to give the player a chance to evade the attack or shoot down the Laser Ship, and then fires a high-powered blast capable of destroying the player ship in a single shot. (I may replace this with a series of pulses.)

I still don't have a good level design yet, as I just threw the Laser Ships in with everything else. They fit right in, though, and they're mean little bastards.

2008-07-18 8:00 AM

After adding a Tilemap component, I was able to build an interesting arena based on the "complex maze" from Combat for the Atari 2600 with little effort. The indestructible walls provide cover from enemy laser fire, though AI units look fairly dumb right now because they don't know that the walls are even there. I knew that was coming, though, and it's not an insurmountable problem.

2008-07-21 2:18 PM

I guess I'll call this done for now. I might update it if I have time before the session ends, but this is what I have.

Feedback

2008-07-21: 5parrowhawk

1. 360 pad does not seem to work properly. It only moves the cursor along the vertical axis, which makes it pretty near impossible to aim. Mouse works fine.

There's a separate input binding file for Xbox 360 (use "-input input_xbox360.xml" on the command line or "input input_xbox360.xml" at the in-game console). That should work a lot better.

2. When attempting a quick sweep with the laser from 5 o'clock to 7 o'clock, it goes the long way around. Seems you forgot to add or subtract 2*PI somewhere. I had that problem with mine earlier, but eventually fixed it.

The "flip-around" happens because the aim direction is computed from the center of the screen, not the ship's visible position. It's a known bug that I need to fix, but doing so will require significant changes to the input system.

3. What exactly do the blue pods do, other than distracting the enemies? Perhaps they should give you very slow health regeneration (per pod with diminishing returns, to prevent the player from being invulnerable at the start), and (to counterbalance) the green powerups should be limited to 1 or 2 that appear infrequently. This would certainly motivate the player to defend them. It does introduce a positive feedback loop, but I think it shouldn't be hard to balance that out.

They were supposed to give bonus points after completing a wave, but the game doesn't support "waves" yet.

4. Alternatively you could take a page from "Defender" and, instead of the enemies destroying the blue pods, have fast-moving worker enemies (a third enemy type) that try to capture the blue pods and take them back to their bases, where they turn into laser ships? After all the blue pods are gone, no more worker enemies spawn; laser ships spawn in their place.

That's a neat idea, sort of a combination of Rip-Off and Defender/Stargate.

Post-Competition

2008-07-22 7:30 PM

I updated the build to only enable floating-point division by zero and invalid operation exceptions when a debugger is attached. That may help the C000008E exception, though I have no way of testing it.

2008-07-22 6:13 PM

I just realized that the short-range beams on the Zap Ships violate the theme description as they don't extend to the first obstacle or the edge of the screen. Fixing that is a simple data change, though Zap Ships become significantly more dangerous when they can hit from further away. The game is still fully playable, but you'll be going for the health-ups a lot more often.

(The attached level.xml file also includes a more prominent Laser Ship beam effect that makes it look as dangerous as it actually is.)

2008-07-23 12:47 AM

Blargh... I just found out that a mistake in the Player input system prevented negative control values from triggering fire control. Ordinarily, that's not a big deal, but it broke the Robotron-style fire controls in input_dualstick.xml. I've attached an updated executable that fixes this, though it uses a newer release of Box2D so I can't guarantee its stability.