Cranking Along on Diver 2

First things first, I’ve decided to ditch the name “Diver 31-60” for the next version of Diver. I’m just going to call it . . . .  wait for it… “Diver 2”.  It’s just the logical thing to do.

This week’s development on Diver 2 has gone well. 

The biggest item completed was getting the code re-factored to a point where I could create all the new Diver levels using Expression Blend.  I can now set diver’s start position, draw out landscapes and collision polygons, place and configure diving boards, and place and configure the buoys all within Expression Blend.  I use to have to muck with the code to get everything going.

None of this is anything fancy, but it’s very functional and should make level building much easier.

I’m a big fan of pictures, so here are some screen shots of a prototype/test dive.  

The first screenshot is what the dive looks like inside of Blend.  The red depicts the collision geometry, the green circle is the start position for diver, the blue rectangle controls where the buoys are placed, and the red sticking out of the cliff that looks like a diving board is, ta-da, where the diving board is placed.

 

Diver2InBlend

In Expression Blend (editing)

This second screenshot is the in-game view of the same level.

Diver2InGame

In Game

 

If you are tracking my development progress, here is the updated task list.  As mentioned last time, this list is broken into three categories: Things I still need to do, things I’m currently working on, and things completed.

To Do:

  • Try updating to Farseer Physics Engine 2.x (Diver is currently built on an old version of the engine)

    • Thoroughly test everything in the game.
    • If the upgrade doesn’t go well stick with existing version of engine.
  • Create new landing page with spinner on it.

  • Trees/Plants (non-interactive only.) time permitting.

  • New video trailer

    • Possibly see if someone would like to help with this as I suck at making vids.
    • Could give away early access to the game in trade.
  • Add support for Google analytics

    • Number of dives started
    • Number of successful dives
    • Levels stats
    • Anything else that seems worth tracking.
  • Design/Create 30 new levels

Working On It:

  • Update the render loop to use CompositionTarget instead of Storyboard. (Thanks Silverlight 3)

  • Enable GPU acceleration (thank you Silverlight 3)

    • Particles
    • Diver
    • Spinners
    • H20

Completed:

  • Look into local storage code to make sure it’ll work with the new version of the game.

  • Reduce the game foot print on the screen. (Currently takes up to much space vertically)

  • Refactor load-level logic to reduce duplicate code

  • Implement spinners to be built using a Canvas + child paths.

    • Utilize multiple geoms per body.
    • Canvas = Body
  • Make diving boards configurable from Expression Blend.

    • Create a bare-bones custom control with some simple properties that can be read out in code

-Jeff Weber