Rapid Prototying Session 9

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

Announcement

As the winner of the eighth session, Owen Butler chose the theme for the ninth session.

Start Date : February 2nd, 2009
End Date : February 16th, 2009
Theme : Friendly Units. The game's playing field must contain friendly elements that you must not shoot or you must protect.

I think this theme promises some interesting games. The classic example that comes to mind is Defender, or Puppygames' Alien Flux (no longer available I think), an arena shooter take on the protection theme. Even the recent Gravitron 2 has fuel depots that are destructible.

I'm sure others can help with more (and better) examples, my brain seems to have turned off :)

Thanks to Owen Butler for the theme, which I have paraphrased a bit.

Winner

A winner is me!

Nova Core

My entry into the session was Nova Core, inspired by Cinematronics arcade game Rip-Off and featuring behavior tree based AI.

Download

Competition Build (2009-02-16)

The game requires the Visual C++ 2008 Redistributable Package, but is otherwise completely self-contained. Just unpack the archive into a folder of your choice and run NovaCore.exe.

Description

Mission

Your mission is to defend the Blue Team's stockpile of highly volatile Nova Cores from waves of Red Team raiders. Due to the the strategic importance of the stockpile, you will receive unlimited reinforcements for the duration of the mission.

The containment field on a Core can withstand two direct hits, changing color from blue to yellow to red as it weakens. A third hit breaches the containment, and the Core explodes in a blinding flash that destroys everything and everyone in the vicinity—with the notable exception of other Nova Cores. So watch your fire!

The mission is over when all Cores have been destroyed or lost to the enemy.

Controls

Credits

Development

2009-02-10 11:06 PM

Making progress...

My entry, "Nova Core", is loosely based on Cinematronics' Rip Off, with the player responsible for defending the titular Nova Cores from enemy raiders. Unlike Rip-Off, the player ship can collide with Cores to push them back into place, and—more importantly—can shoot them. One hit puts a Core in yellow "warning" mode indicating weakened containment. A second hit puts it in flashing red "danger" mode indicating failing containment. If undamaged for ten seconds, it will recover to a lower state.

Session 9 Progress 1

A third hit breaches the Core's containment, killing everyone and everything on the playfield except other Nova Cores.

Session 9 Big Explosion

As a result, Nova Cores serve an interesting dual purpose. As the only mission-critical resource in the game, the player needs to defend them from enemies and avoid shooting them. As the most powerful weapons in the game, however, the player sometimes needs to detonate them on purpose to avoid even greater losses. The player should get replacement Cores after earning enough points or (alternatively) making it through a series of attack waves.

2009-02-10 11:41 PM

Loved the original, and I really like the twists you've added.

Thanks :D

The whole idea just sort of came to me in a flash. I just hope the end result lives up to the potential...

I should have worked on gameplay before visual effects, but I couldn't help working on the flashy Nova Cores and their humongous explosions. Now that I have the core mechanic working, I need to add enemies that steal the Cores instead of trying to shoot them.

2009-02-11 6:53 AM

There are some crazy game programmers that have to work on the artistic elements visually first before they make the gameplay elements.

*cough* *cough*

I find it nearly impossible to write a game without a graphic vision for it first. Then I make up gameplay rules and mechanics. If you want to drive the2bears completely bonkers for example, give him artistic feedback when he wants gameplay mechanics feedback very early on in a project. Different strokes for different folks.

Good luck!

Hey, I resemble that remark. ;D

It wasn't all that hard to make them look decent--that's the advantage of having a data-driven rendering system. I find making the core elements of the game look good helps drive forwards other elements, so it wasn't a wasted effort. Besides, I have five whole days do do everything else!

I spent the first week trying to put together an expression evaluator system for complex "BulletML" shot patterns and "White Butterfly" style particle effects, but it didn't quite work out like I had planned. I still want to salvage elements of it so I can have progressively more difficult "attack waves" like Rip-Off, though.

2009-02-12 7:38 AM

Here's a control question: should I use "driving" controls like Rip-Off (turn left, turn right, accelerate), my usual arena-shooter controls, or something else?

2009-02-14 9:19 PM

Making progress...

After breaking apart the monolithic Aimer into separate Behavior objects, I was able to build a complex "pick a core and steal it" behavior. It's working fairly well, though now I need to make it capable of attacking the player ship.

2009-02-15 12:18 AM

Shoot, I was going to reply to this earlier. I think the "driving" controls make some sense here, but that might be because I remember playing the game in the arcade with that setup. That said, I don't like them :)

Hate 'em in Asteroids too... regardless, I'll give your game the proper attention it deserves!

The controls in Rip-Off are much snappier than most "turn and thrust" games, as the player vehicle accelerates and decelerates quickly and turns crisply with no sliding. The player vehicle and enemy units have animated tank treads in the arcade version, so it makes perfect sense there. (I have the Vectrex version, which lacks the treads but otherwise plays the same.)

2009-02-16 2:01 AM

That sounds much better than my memory :) Should be very playable.

It definitely lacks the Asteroids-style "floating in space" physics. :D

2009-02-16 2:01 AM: Release Candidate

It's pretty much done, save a bit of tweaking and polishing. I've posted my "release candidate" build. :D

2009-02-16 8:41 AM

Just had a go. I found it quite hard and I kept on shooting the cores by accident. It's a well executed concept though. The presentation is fantastic, the graphics are really cool and those massive explosions are just right. A few small bugs (maybe): the music was too quiet to hear, and the game seems to get stuck on the Game Over screen, though that might be intentional, I had to Esc to get back to the menu.

I agree that the game is somewhat difficult, especially once the enemy units start moving fast enough. It'd be a bit better if the game awarded replacement Cores at certain point totals, as that would make detonating them like smart bombs a more viable option.

I set the default music volume to 50% so it wasn't too foreground-y, but you can change that in the audio options menu. I originally had it set to 100%, but it tended to drown out the sound effects and cause audio clipping.

That's a good point about the Game Over screen; I need to make it return to the shell state (or exit if bypassing the shell). That'd be something good to fix tonight before the deadline.

2009-02-16 5:33 PM

The game was really fun, if not really hard -- there weren't enough cores for the difficulty, as when the difficulty ramped up, the only thing you could do would be destroy a core to save the 2-3 that were being taken at a time.

Slowing down the enemy units would help, as right now they're just too fast at the highest setting.

2009-02-16 8:10 PM

Enemy units now decelerate more as they approach Cores, and their turn rates don't ramp up as much as the waves progress. That makes the difficulty curve is a lot shallower, since even the fastest units can't snatch a Core in a couple of seconds like they could before. I extended the wave sequence a lot further, so eventually up to six enemy units will attack at once.

Post-Competition

2009-02-17 3:47 PM

Wow, very polished and a lot of fun! Loved the massive explosions! Kinda hard though, I tend to keep hitting my own cores. :) Loved this.

(By the way, works fine on Linux, under Wine.)

2009-02-17 5:24 AM

I had another go on the new version, once I got the hang of it a bit, which is easier with the first enemies being slower, it was good fun. I found the best tactic seemed to be to fly away from the cores so that the red team would follow you, but I kept on getting shot and they would get the cores. I would maybe be improved with some markers (levels) between waves, and maybe variety in enemies, so that it's clear the player is making progress. At least that might have pushed me on a bit if I knew I was only two waves away from level 4 or something. You could perhaps give fresh cores or improved guns or something for completing levels.

Fun and novel game though and the presentation is ace.

2009-02-17 5:27 PM

Really liking this :) Haven't played it enough yet to properly utilize the exploding core mechanic, but I will! Big explosions are good.

I've found it hard to pull off as well, as multiple-core theft often happens so fast that I can't react in time to detonate one on purpose.

2009-02-19 8:37 AM

Great prototyping-framework you built yourself! All very quickly configurable via XML, very inspiring.

Besides that: great game! Even if I'm not a big fan of the control scheme. Very nice enemy motion and sound. And it matches the theme perfectly.

Got my vote!

Thanks! The first game I worked on professionally was heavily data-driven, and that stuck with me ever since. The prototyping framework started with an SDL/OpenGL tutorial, to which I added a physics engine (Box2D) and data file reader (TinyXML). Extending the data-driven architecture to the rendering system took a lot of work but has paid huge dividends ever since. It made working with OpenGL a lot easier since I could just try things in an XML data file instead of recompiling code. I definitely recommend this approach. :D

2009-02-22 2:47 PM

Nice game, pretty fun. Top score: 3750

That's pretty close to what I usually get. I think my current high score is 4270, though I don't remember for sure. I need to add a high score table! :D

2009-02-23 9:05 PM

5380

Made a little video of me playing the game (capturing using fraps).

(The video is now long gone...)

Neat :D

That reminds me: I need to put credits in the game itself, not just the forum post...