Saturday, May 21, 2011

Implementing a HeartLight clone in XNA, continued (3)

Download Torq314Dash 0.2 (binary and source)

My implementation of the HeartLight clone improves. Profile of the new version

  • implemented LEVELS.HL file reader which makes it possible to play all 70 levels from the original implementation (the file is included in the distribution, all credits go to Janusz Pelc, Maciej Miąsik and others from the team who brought HeartLight to life
  • implemented balloons and tunnels
  • bomb timing is slightly improved
  • new texture set

Most of 70 levels are playable now, with 13, 21 or 37 as exceptions which reveal further issues in timing (bombs/balloons).

Ballons were easy to implement. They fall down when two movable blocks are above them and an empty square below. They move up when none or a single movable block is above them and an empty square yet above.

Tunnels were tricky. In fact, I’ve implemented them in such way that the player block is marked to be processed by the physics engine and then it moves along the tunnel, eating a block ahead and leaving a new block behind. During the tunnel travel, the player block returns a different texture so that the effect of moving along the tunnel is clearly visible.

Feel free to comment. Please also take a look at the implementation of a BoulderDash clone by Fingus. It’s been a mutual challenge between us to first implement a tetris clone and then a BoulderDash clone. A possible next challenge would be a Super Mario clone.

No comments: