Friday, November 21, 2008

UPDATED Deliverables Set #3 (due Dec. 2 by midnight)

- Sound
Music for level
Music for lizard death
Sound effect for lizard dying
Sound effect for snake and scorpion dying
Sound effect for water splashing (as lizard falls in)

- Animation
Lizard Dying
Snake moving
Snake Bite Attack

- Object Textures
(these can be in any image file format blender accepts)
Create or find a river water texture
Create or find a default lizard texture
Create or find a desert sand texture

- Level Design
Place all supplied objects (unless rejected) into level. Supply an early draft of level to programmer(s) for testing.

Wednesday, November 19, 2008

Deliverables #3

So, lately (last weekend) I've been doing some rough, rough, very rough storyline sketches for our intro. I have the lizard going to work, getting laid off, and then being carted away by a truck labeled "Center for the Unethical Treatment of Animals." (How's my driving? Call 555-555-5555.) I'd like to continue working on those, primarily, drawing them up on my tablet and coloring them.

Also, as always I'd love to do some programming. Integrating Pygame with the BGE for remappable control as well as putting together a test program sounds good to me. Anyone want to help?

Also, I'm wondering how hard it would be to use the mouse to rotate the camera...hmm...

Deliverables Set #3 (due Dec. 2 by midnight)

- Sound
Music for level
Short "outro" music for lizard death
Sound effect for lizard dying
Sound effect for snake and scorpion dying
Sound effect for water splashing (as lizard falls in)

- Animation
Lizard Jumping
Lizard Running
Lizard Tongue Attack

- Object Textures
(these can be in any image file format blender accepts)
Create or find a river water texture
Create or find a default lizard texture
Create or find a desert sand texture

- Level Design
Place all supplied objects (unless rejected) into level. Supply an early draft of level to programmer(s) for testing.

- Programming
Produce a simple play prototype. Place lizard in simple test room (a cube). Lizard should move using the WASD keys, rotate using the left and right arrow keys, and jump with the spacebar.

You will be working on this as a team. You should coordinate with one another to divide the work.

Friday, November 14, 2008

Remappable Control

The more I use the Blender Game Engine for things not related to physics or graphics, the more I come to suspect that it was never intended to be used for an entire game.

Case in point, input. The BGE grabs input from the keyboards, gamepads, and mice once per frame. Once per frame, it runs all the python scripts that need to run. No problem, right? Wrong.

Here's the way I had the remappable controls originally set up. One would hit a menu key (tab, since esc is mapped to exiting the game) which would take you to a menu that allows you to remap controls by hitting keys. This menu sat in a nice little while loop. I noticed, however, that inside this while loop, Blender would not grab input. This is because while the loop is executing, Blender does not advance to another frame. This means Blender does not grab any more input.

So, the menu went right out the window. In its current incarnation, remappable controls work by holding down one of four menu buttons (1 for up, 2 for down, 3 for left, 4 for right) while holding down they key you want to assign an action to. This works, but it's clunky.

So, here it is, you guys have fun with it. In the meantime, I'm going to look for a more elegant way to grab input than the BGE. I'm thinking Pygame running on top of BGE should give us the keycodes we need...regardless of whether we're in a loop or not. Just using it to grab keycodes to send to Blender shouldn't add too much overhead, either. Oh, and I think it has a sound module that allows for pausing and resuming as well.

I think when it comes down to it, we should use BGE for the stuff it's good at (graphics, physics), and then use other solutions for the stuff where BGE falls short (everything else).

Here's the .blend

Monday, November 3, 2008

Deliverables #2

I will take lizard running and finding other objects. I also want to help Andrew with level design.

Saturday, November 1, 2008

desert level design

So, this is just a basic level design I did for a desert area of the biosphere (or whatever we happen to be calling it these days). These artistically brilliant MS paint mockups aren't a set in stone finished design or anything; items and scenery are negotiable. I tried to leave out specifics regarding powers and enemies since none of that is really set so far. Each file has notes on it about how the area would be progressed through.

To explain things quickly in words, there's a chasm you can't jump across and must create a bridge for. The switch for said mechanism is at the bottom of the canyon thing along with some obstacles. So here are the pictures, in order:

one
two
three
four

Friday, October 31, 2008

Control relative to the camera

Hey, juys. I finally figured out control relative to the camera. The only stumbling block was Blender's horrific documentation. I had to figure out both how to get an orientation matrix and what one was before I could do anything.

Turns out there are two locations in the orientation matrix that always give the sine and cosine of the angle relative to the xy plane. So just multiply these locations with the velocity we want when we press a key and everything works just fine.

Anywho, here's the orientation test that helped me figure out the orientation. Play the "game" and press the spacebar to print the orientations of all the objects to the console.

Here's the proof of concept move-the-cube type game. WSAD controls. Enjoy!

EDIT: Wait, I meant the xz plane. Or maybe the yz plane. Anyway, it gives you the angle away from the z axis.