CONTROLS

  1. W or S change lanes
  2. . (PERIOD) accelerates
  3. Hold , (COMMA) + W A S or D do execute a trick

SYNOPSYS     

    Have you ever dreamt of doing a backflip in the classic Excitebike? Well in Excitebike Redux you can!  You can do all the original things such as accelerate, change lanes,  wheelie,  jump, crash , collide with other racers, but now you can attempt tricks! Race on two different tracks against an assortment of other dirt bikers.



ABOUT

    This is the second game I've made in Godot.  I tried to recreate the classic Excitebike for the NES. But I wanted to add tricks. I modified the original sprites to allow for different tricks

  • Backflip - 
  • Tailwhip -
  • Superman - 

    I made a simple point and trick system, which saves and loads for each track if a new high score is set, designed to incentivize a player to try again and master the tricks. However the tricks are a little hard to track and time because the airtime is so short. Each jump is less than a second in the air. Ultimately I don't think Excitebike is designed for tricks. So as a prototype I think the game looks appealing, and I did a fair job recreating the original mechanics, but the addition of tricks doesn't really add to the experience. 

    The bikers use a collection of rays and collision boxes to determine what angle the bike should be displayed as, and if your angle is too far off from the ground, which will lead to a crash. Essentially there is a main box collider that moves up along the slope of the ramps, and there is a ray casting downward from the front and the back of the bike. the difference between their two collision points on the ground determines the angle of the bike. Then there is another ray shooting forward, and if the bike is on a slope but the forward ray isn't colliding, a jump force is applied based on the speed and angle of the bike. 

    And finally, there is a ray shooting downwards to determine the size and angle of the show cast by the bike. These checks combined led to a smooth transition between angles and strong control over doing wheelies or doing tricks. I also used the angles to help determine the bouncing when landing -- too much of an angle difference, and the bike will crash, just a bit will lead to a bounce, and very little difference will lead to a smooth and fast landing. 

    Adhering to Godot's strengths, I heavily used composition to create the biker, which made making the AI very easy. All I really did was copy over the components and added a random timer to the AI changing lanes, and off the went! 

    Changing lanes proved to be a bit more difficult than anticipated. Each lane has its own collision layer, so when the bike is on collision layer 1, they collide with the top track. It seemed easy enough to simply change the collision layer when a lane was changed, but that created a lot of bugs, such as when you're on a slope, or on a ramp.  The solution I came up with was to immediately place the collision the correct number of pixels higher or lower, and then lerp the sprite to catch up with the collision, so it provided the illusion of slowly changing lanes. This worked really well and removed all the other bugs I could find. 

    Lastly, I used shaders to randomly set the bike colors, which as you'll see will lead me further into procedural content creation and shader use.

TAKE AWAYS      

    I'm really pleased with the look and sound of the game. I think I did well in recreating the look and feel of the original. I don't think the additional tricks added much to the game, and of course I spent a lot less time developing the tracks than the original. 


Comments

Log in with itch.io to leave a comment.

Superman!!!!