Rapid Prototyping Session 1

This was the session that got the ball rolling. I had been working on Videoventure for several months at that point, and was eager to try new things.

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

Announcement

Motorherp chose the theme for first session.

Start Date: 19th May 2008
End Date: 2nd June 2008 (note this session might be granted an extension depending of how long it takes people to notice this and get on board considering this is the first session)

Rules / Concept: Create a shmup with meaningful gameplay in which the player is not allowed to fire their own projectiles.

Hopefully that makes sense to you all. Try to be as creative as you can in developing meaningful game play and scoring systems based around utilising the environment and enemies in new ways. An existing example of this would be 'Shoot The Bullet' by Shanghai Alice. If you have any questions please post them here.

Good luck.

Winner

Mice won the session with MUP, a physics-based platformer-puzzler-shooter hybrid.

Galaga Has A Posse

My entry for the session was Galaga Has A Posse, a top-down shooter using an early version of the VideoVenture engine.

Premise

"You can't shoot, but your friends can... so go make some new friends!"

Description

The default level (level.xml) starts the player ship in the center of a friendly base, with four health powerups (you'll need them!), four yellow walls, a ring of bullseye target "decoys", and a bunch of defensive turrets; enemies assault in waves from all four directions. The player ship has a Galaga "tractor beam" that turns enemies into friends, and an unlimited stock of smart bombs. Go make some friends!

The game requires the Visual C++ 2008 Redistributable Package

The readme file lists all the command-line parameters and console commands, but "-fullscreen 1" is probably the most useful one. You can switch between windowed and fullscreen with ALT+Enter as well.

Downloads

Competition Build (2008-06-03)

Controls

I also have dual-stick gamepad bindings in there, though not all gamepads use the same layout. There is a separate input binding file (input_xbox360.xml) for the Xbox 360 controller. (Use the -input command line option with the name of an input binding file)

Development

2008-05-19 7:44 PM

Ooh, I think this should be fun. :)

I'll give it a shot. It definitely goes against some of the the basic assumptions of my existing game project, and will push me to add some higher-level game structure beyond just "kill all you want, we'll make more".

2008-05-24 8:06 PM

My internal working title is "Galaga has A Posse" (as seen in the updated title), and the core concept is "you can't shoot, but your friends can... so go make some new friends!". :)

After getting distracted in irrelevant details and an overgeneralized system I started on my first attempt, I finally started making headway while on a plane flight to visit a friend in New Orleans. I started with a pristine copy of my game prototype and added two new component types that implement the core play mechanic. While the visuals are rough, I got a proof-of-concept done using the red-team turrets from my original game, as I already had blue-team equivalents for them. I'm fairly happy with the result so far.

2008-05-26 9:54 PM

I finally created blue-team equivalents of all existing red-team enemies, so now the player can make friends of any and all enemies—even the big carrier ships. They do tend to die in a hurry, though, since they're relatively fragile compared to their firepower. I had originally planned for non-shootable projectiles to be subject to team switching so the player could intercept them with the beam to project friend units. It's just a matter of adding a "capturable" component to them, and I've already done that for the shootable projectiles (Missiles, Fireballs, and Space Hums).

I also rigged up the first part of the scoring mechanism, granting the player points for capturing enemy units. The player currently gets no points for kills made by friend units, and I haven't decided whether I should leave it this way (the easy way out) or give the player credit (tricky to implement). The friend units clearly aid survival but exact an opportunity cost every time they destroy an enemy unit. I'll have to see how this turns out once I start producing real levels.

2008-05-26 10:12 PM

Ouch. I just made the player ship damagable again, and found that the game is brutally hard. Even with the beam cone providing a shield, death comes early and often. Of course, trying to aim with the Trackpoint on my laptop doesn't help.

Part of the problem is that the test level was originally built around a player ship with abnormally high firepower and numerous defensive options (front-mounted Force, side-mounted Gunners, and path-following Multiples). I definitely need to make it easier if even I can't survive for more than a minute.

2008-05-29 10:05 PM

At long last, I added finite lives and "GAME OVER" display. I do need to add a better way to restart, though.

2008-06-02 8:06 PM: Release

Well, I guess I can call it done enough. I feel like I cheated a bit by reusing the level I developed for my existing shmup prototype, but the play mechanic comes through reasonably well. I wanted to make some custom levels that showed off the play mechanic better, but I didn't have as much time to work on it as I had originally planned.

Feedback

2008-06-03 9:59 PM

I really like the idea of making friends with enemy. Very innovative. However, most of time in the game there are so many things going on that I was overwhelm. Maybe this is why you give us unlimited smart bomb?

I realize that you get points for killing enemies with smart bomb too... I think that just kill the whole concept of making friends. Since after that I just keep on smart bombing the whole screen without having to make friends = =;;

I believe you're planning to give us a minimap of some sort , right? Or else I would have know idea where I am in the level ^ ^;

All in all, I think this has potential. I can see this game as a multiplayer game or shmup+real time strategy game already :D Good job, kdmiller3!

The smart bomb was a leftover from the main project that I should have removed. With unlimited ammunition and full scoring, it's far more useful than the main weapon.

Increasing the view area ("-viewsize 480" for example) helps a lot. I need to recalibrate unit and projectile speeds so they're more fair. Right now enemies come out of nowhere and destroy you before you know what's going on. A minimap/scanner would definitely help, and it's on the list of things to do.

2008-06-04 3:27 PM

This is hard as hell! Or maybe I just suck...

Last game I ran I just hung inside of the walls and beamed the enemies that came too close, lasted quite a while and managed to turn over some of bigger enemies. But as soon as I left the comfort of home, I died.

There's a really cool feeling of being in the middle of war. Really well done on that point.

The idea would be suitable as a complement to actual standard fireing.

You don't suck—it's just that hard (though not on purpose)

That level was built around a player ship with excessive firepower and a bunch of defensive options, so a player ship armed with a capture beam has a hard time even if you have quick reflexes. Reducing the view aim offset helps, as does keeping the crosshair closer to the center, but you still only get a fraction of a second to react. The biggest problem is that units and projectiles move very quickly, and AI units are really good shots and tend to ambush you from off-screen. In addition, Fireballs, Space Hums, and Missiles also do three points of damage per hit.

2008-06-04 10:00 PM

And yes, it's hard. How do you quit from it? Or restart a game? :P

No keys were working after the game was over, except for ~ and the console. Must read the directions some time ;)

You can quit with Alt+F4. You can (re)load a level with the "level" console command (e.g. "level level.xml" or whatever level you used). I need to add a shell/interface so players don't have to use console commands like that... :)

2008-06-06 12:41 PM

A lot of stuff on the screen.

I found it a bit too chaotic. So i played it without using the smart bomb to see how far I can get without using the feature you just forgot. So I soon discovered that staying in the base is the best thing I can do, since I have the respawning energy balls and the walls as cover. Which were very useful when I turned all enemies behind the wall into my friends. The turrets on the outside got somehow all pushed into the base by the oncoming bigger ships, which were also helpful in surviving. It seemed like I could play this turtle style forever. But at around 550'000 the base was literally flooded by enemies. Thanks to my 17 reserve lifes I made it to 680'000, but I didn't feel like I had a real chance of surviving.

With this gameplay style I think it might be difficult to balance the gameplay to be challenging, yet fair to the player. But I think a mini-map and some objective which forces to leave the base would increase the game. The player could maybe try to attack a enemy base. And i really agree with hima that some very basic real time strategy elements would fit here very well.... at least I think so.

Right now there's no throttling mechanism on enemy attack waves whatsoever, so they just keep coming on a regular schedule regardless of whether or not you're dispatching them. The defensive turrets help, but die very quickly once a bunch of enemies pile up around the base. AI has trouble with the Carrier ships because it aims at the target's origin but the Carrier's hit box (the colored "core") is offset by a large distance. As a result, Carriers hang around for a long time and launch tons of mini-ships that crowd the base area.

I think the biggest (and possibly crippling) flaw in the current design is the lack of fairness. Death comes early and often, and the reaction is almost always "what killed me?" not "I messed up". Challenge is good, but Players don't like getting shot down by enemies they can't even see. I need to fix that as soon as possible. I'll try some sort of "enemies this way" indicator on the edge of the screen and a scanner showing a larger portion of the play area.

One way to fix "turtling" might be for the base to gradually suffer attrition instead of automatically respawning. The player ship would need to go "outside the wire" to collect enemy drops or harvest resources from asteroids, repair and improve the base, and replenish ammo-using defenses like Missile Command launchers. Then it's just a matter of being able to build and command allied ships and it'd start to look like a strategy game.

Post-Competition

2008-06-11 8:04 AM

I updated the Aimer code to filter out collision shapes it can't hit (the grey Carrier hull), updated the blue-team turret leading values (since their bullets are faster), and replaced the blue-team "force" turret with a missile turret. The blue-team base area is now a "no-fly zone" for the red team until the Carrier ships arrive, and even those go down fairly quickly once a bunch of turrets start pounding on them.

I can update GHaP with the changes if anyone wants to try them out, but it doesn't really make the game any easier. In fact, it's slightly harder because the accurate turrets now force the player to venture out to capture anything.