Video Game Development at the University of Michigan

Zeni Rocket

 
 
Highlights
Developers
Status In development
Added on May 28, 2007
Platform Windows XP+
Download Download
Zeni Rocket

You must install all 3 redistributables in the redist/ folder!

If you want to try 2-player, copy ship1.txt to ship2.txt and change the controls.

The main concept behind this game is to allow a user to simply customize a spaceship by placing rockets wherever and to allow a user to simply change controls schemes for these rockets as well. The physics are mostly complete (though a better symplectic integrator might be helpful). Customization is now ready to go. You just need to edit or replace scene1.txt. An XML-style format would probably still be preferable... Maybe later.

The first real game mechanic to be implemented is to allow the player to race through rings that are floating in space. The included example demonstrates this, though much more interesting setups are possible.

Controls:

Not Remappable:

ESCAPE: Quit.
F1: Reset

Fully Customizable:

UP,DOWN,LEFT,RIGHT: Apply torques to the nose of the ship.
SPACE: Fire main rocket (behind the ship, pointing forward).
LCTRL: Fire ridiculous booster rocket.

scene1.txt Customization (Outdated - Still Similar)

TYPE can be a Body (Gate, Ship, or Star) or Rocket
INPUT can be one of SDL_KEYDOWN, SDL_MOUSEBUTTONDOWN, SDL_JOYAXISMOTION, and SDL_JOYBUTTONDOWN
SUBID must be an SDLkey sym value (SDLK_*) for SDL_KEYDOWN events, otherwise it must be an integer greater than or equal to 0
WHICH must be an integer greater than or equal to 0 for SDL_JOYAXISMOTION and SDL_JOYBUTTONDOWN
VALUE is a floating point value.

Names must be unique across all types.

General:

  • new TYPE NAME
  • position TYPE NAME VALUE(x) VALUE(y) VALUE(z)
  • velocity TYPE NAME VALUE(i) VALUE(j) VALUE(k) (indicates thrust provided in the case of Rockets)

Bodies Only:

  • radius NAME VALUE (should NOT be set after mass)
  • mass NAME VALUE (should be set before radius)
  • orientation NAME VALUE(x) VALUE(y) VALUE(z) VALUE(theta)
  • orbit NAME(orbiter) NAME(orbitee) (limited to tweaking velocity to sqrt(GM/R))
  • pull NAME(pullee) NAME(puller)

Rockets Only:

  • add NAME(Rocket) NAME(Ship) (do not add a Rocket to more than one Ship... please)
  • control NAME(positive) NAME(negative) INPUT SUBID WHICH (either name is optional, but one must exist)

Special:

  • mineis name(ship to control or more correctly, viewpoint to use)
  • done

Member contributions

The Zenipex Library, game concept, game design, code design, code implementation, ...
Vishnu has contributed the star background that has been in recent versions of the game. The screenshot has not yet been updated to reflect his fine work.

Comment by (members should log in before posting)

Formatting help