Cuomo v0.24

Email the author your comments and suggestions: wfrost at typedef dot org

New in this version...

v0.24
I am now pushing the terrain geometry through the OpenGL pipeline via Vertex Buffer Objects (VBOs). Since the terrain is static, the vertex information gets uploaded to the graphics card only once and remains in high speed memory. In order for this version (and all subsequent versions) of cuomo to run, you must have a graphics card that supports VBOs. This shouldn't be a problem for most people, however, if it doesn't run, an outdated graphics card is probably the culprit. I've also added a quadtree data structure to help remove redundant triangles in the terrain. The speed gain from this optimization is map-specific -- but almost half the triangles in the mandelbrot map file are eliminated. This yields an enormous speedup. The "player" and "follower" cubes still exist in this version. Remember, when the follower is more than 1.0 units away fomr the player, the Q button can be used to generate randomly placed spheres all throughout the map. The player, follower, and spheres can be selected with the HOME and/or END keys. Selected objects can no longer be directed to areas outside the map (which would cause cuomo to crash in previous versions).

This is a screen of v0.25 (unreleased). Texture mapping in full effect. The translucent rectangle in the lower left is where i will implement a menu system.


- Previous Versions -

v0.23
Actually, very little. Added two new keyboard commands: HOME and END. These keys cycle through the selectable objects. When an object is selected, it will spin. Selected objects can then be moved around with the arrow keys. Made many changes in coding style throughout the code. There is now an actual underlying representation of the heightmap in the form of vectors which is why the memory footprint is nearly twice the size it was before. This will allow me to write the next logical progression of cuomo: collision detection. After 10 weeks of neglect, cuomo is back. There will be more versions coming shortly.

Windows executable: cuomo_v024.zip
Source code: nah, not yet...

Version history

Objective

A learning experience more than anything else. But who knows -- maybe it will eventually become something impressive.

Starting the Game

Just run the supplied executable. Don't mess with the data directory since that will more than likely crash the application. On a related note, I make no guarantees about this program. Run at your own risk. It may very well crash your system. You have been warned!

Gameplay (if you can even call it that at this stage)

You control a cube. If the 'follower' cube gets within 0.1 distance units of your cube, then objects start getting destroyed in the opposite order in which they were created. Don't worry, the player cube (the one you control) and the follower cube never get destroyed so you can play this game forever if you wish.

Controls:
UP ARROW - moves your cube "up" (positive y direction) in the xy plane
DOWN ARROW - moves your cube "down" (negative y direction) in the xy plane
RIGHT ARROW - moves your cube "right" (positive x direction) in the xy plane
LEFT ARROW - moves your cube "left" (negative x direction) in the xy plane

W - moves camera in positive y direction
S - moves camera in negative y direction
D - moves camera in positive x direction
A - moves camera in negative x direction

I - moves camera's "look at" point in positive y direction
K - moves camera's "look at" point in negative y direction
J - moves camera's "look at" point in positive x direction
L - moves camera's "look at" point in negative x direction

Q - creates spheres in random locations (as long as you're far enough away from the 'follower')
R - resets the camera to it's initial position F - switches between wireframe and (soon to be) textured terrain

Notes

- I am no where near completion with this thing.
- Aside from some basic window opening/closing/etc and the font manager, this code is all me