Wobble!
Introduction
Wobble is a last-man-standing game. As a robot, you roll around
a platform colliding with your opponents trying to knock them off.
Distributed throughout the world are various power-ups to aid you.
Eliminated players are placed in the graveyard in the center of the
arena. From there, they can hurl charges at the remaining robots.
Here is the original project proposal
from October 31st.
Here is our final report discussing
the game development.
To play the game you grab our
precompiled binary (~3 MB).
This package include sounds, textures and fmod library, it can
be invoked with the enclosed runme.sh script.
This runs in the linux graphics cluster (gcc 3, glut, GL).
The movement controls are WASD/space and right-click on the window
to get all sorts of options... it's pretty intuitive except the
P button for scores. Oh, and there is an easter-egg... no fair
looking through the source to find it!
For the truely motived, you can also have a look at our
source code (~4 MB)
and compile for your system (again, just run the provided runme.sh
script). We put these distributions up for educational purposes only;
so you can see how we put it all together and more importantly learn
from our mistakes. This is not a finished commercial product, if
we were going to sell this we'd have to rewrite the entire thing...
the game does have bugs (!), it doesn't scale terribly well, the
graphics aren't very flashy, etc. That said, we encourage you to use
our code, play with it, even improve upon it - all we ask is a little
citation in return.
If you can't get our game to run you can still see it in action,
here's a movie we recorded:
wobbledemo.mpg (~6.5 MB).
Features and Current Implementation Status
- 3-D rendering of players and world with openGL - completed pre-11/17
- Dynamic map generation based on player load - completed pre-11/17
- Multiple camera styles - completed pre-11/17
- Chasing - camera has independent motion and tries to follow the player - completed pre-11/17
- Ring-side - camera stays on the boundary watching inwards - completed pre-11/17
- Bird's Eye - an overhead view with independent motion controls - completed 12/6
- First person - camera is inside the player - completed pre-11/17
- Overhead - camera is right above the player - completed pre-11/17
- Pole - camera is at a fix location behind the player - completed pre-11/17
- Skybox (some source code from the course staff) - completed pre-11/17
- Interactive user interface with glut - complete 12/12
- Keyboard movement controls - completed 12/12
- Menu-based controls for bot creation and camera options - completed pre-11/17
- Physics engine with collisions - completed 12/6
- Newtonian acceleration model - completed pre-11/17
- Linear onservation of energy and momentum for collisions - completed pre-11/17
- Collision with terrain - completed 12/6
- Client-server networking over UDP - final testing
- Authoritative server, prediction based client - completed 11/17
- Supports midgame connections - completed 12/12
- Drops players - in progress
- Scale communication to prevent flooding - in progress
- Computer controlled opponents - final testing
- Randomly selected bot - completed 11/17
- Sitting duck - completed pre-11/17
- Charge straight at player - completed pre-11/17
- Charge nearest player - completed 12/12
- Hide from all players - completed 12/12
- Sniper - completed 12/13
- Push outward - not started
- Push inward - not started
- Scoring and related game mechanics - completed 12/12
- Multiple rounds - completed pre-11/17
- Players get eliminated - completed pre-11/17
- Keep score - completed 11/25
- Earn point through powerups - completed 12/12
- Game web page - in progress
- Powerups - final testing
- Shield - not started
- Projectile - completed 12/13
- Weight change - completed 12/12
- Friction change - not started
- Flashy effects - in progress
- Radar - not started
- Textured world - completed 12/6
- Interesting spheres - completed 12/12
- Sounds - completed 12/13
- Information overlays - completed 12/6
- Collision effects - completed 12/12
- Dynamic world - final testing
- Tilting - not started
- Resizing in middle of round - completed 12/6
- Scaled player velocities - completed 12/12
- Game Documentation - in progress
- Proposal - completed 10/31
- Manual - not started
- Post mortem - completed 12/13
This game is being developed as the final course project for
15-493: Video Game Programming,
taught at Carnegie Mellon.
Screen-shots
The skybox, camera, and input are working.
(pre-11/17)
|

|
Multiple bots working.
(pre-11/17)
|

|
Graveyard gets populated with ghosts.
(pre-11/17)
|

|
New ring-side camera style and improved physics.
We just made a sharp right and the posse
following us is skidding out of control.
(pre-11/17)
|

|
Testing with tons of player-seeking bots!
(pre-11/17)
|

|
Colored the bots.
Now the improved AI chases after other bots too.
(11/22)
|

|
Uh oh, the platform is shrinking!
(11/24)
|

|
Statistics and overlays added.
(11/25)
|

|
Texture mapping and new bird's eye camera mode.
Plus a bigger variety of bot types.
(12/6)
|

|
Now importing models :)
(12/8)
|

|
Added force fields, a velocity meter, powerups
some more AI types, and a collision flash.
(12/12)
|

|
Colored the bots to make them look cuter.
(12/13)
|

|
Improved the missile powerup
and editted the color scheme.
(12/13)
|

|
Contact Us
Mail Dom (dom@cmu.edu) and Chuck
(cszeto@andrew.cmu.edu) with
your comments, questions, suggestions, and requests. We'd be more than
happy to exchange ideas or share code with you. If you'd like to try our
game just drop us a line, we're always on the lookout for beta-testers!