Sign in to follow this  
  • entries
    53
  • comments
    225
  • views
    69037

Side Project

Sign in to follow this  
Milkshake

283 views

This week I got my first little running prototype of my side project: it's a side scroller in 3D. The curves are used to lay out the "2D" track that runs through the otherwise 3D world. This allows the 2D scolling plane to wind and twist through the game world (think spiral stair cases, winding caverns, etc). I've added a "constrain object to curve" constraint to my physics solver - so other than changing the initialisation script (to set a camera pitch of 90, and then attach the cow to the curve), it's exactly the same code as my iso-3D work.

For debugging purposes, you can the see the curve that's been placed through the level. I've put a bunch of test wiggles and curves in it to make sure the physics works ok. The curve is used to define a vertical plane, so the player can roam up and down above and below the curve (allowing you to jump up onto platforms or fall down through holes).

Apologies in advance for the poor encoding on the moovie, I should have cranked up the quality a bit.

Disabled

Right now I'm still just using my little cow, but he's just a placeholder (as he's staying in my main game).

The next step is to add a dedicated camera model for the side scrolling that automatically orients the camera to the tangent of the curve. Unfortunately, this set me on a collision course with a very ugly bit of camera code I'd hacked in years ago. You see, while everything else in the game is controlled with a generic Behaviour/Controller class you attach to it, the camera was a honking big switch statement with a bunch of modes (like MOUSE_PUSH_SCROLL, THIRD_PERSON, STATIC). I'd been wanting to clean this up for a while anyway, so I'm currently in the middle of pulling the control code out of the Camera class so you can just dump a whole bunch of different controls on the camera. This will allow the initialisation for the scrolling game to put in totally different camera code than the iso one uses. It should also allow me to write camera effects (like camera shake) and much more easily do temporary camera overrides (like mini cut scenes, or moving the camera over to highlight a door or enemy the player should be aware of).


Cheers!
Sign in to follow this  


4 Comments


Recommended Comments

Yeah, nice. Wish you'd release some playable demos of some of the movie stuff you've posted recently. I wanna play with a geometry gun.

Share this comment


Link to comment
Thanks for the comments gents!

Bonus points for thinking of pandemonium too! It took me ages to remember the name of that game when I was talking to someone about this (I kept thinking of Harlequinn for some reason)

And I was actually thinking of playable demos at some point - I need to start shaking out all those pesky hardware specific bugs anyway. But before I can do that, I need to sort out a binary version of my file format ... because everything is pretty big in XML. All of the tests (like the geometry gun) are just different files I load into the engine, so as soon as I get my act together with the packaging, it should be no problem to get some of those older test setups.

Cheers!

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now