Entry Finished!

So I finished my entry for Ludum Dare 35! Just made it in time to enter into the jam. I learned a lot and got to do some fun things. Here is a link to my entry!

There are some glitches (mainly you can get stuck in a wall when shapeshifting) and some things that should be tweaked. I didn't have enough time to do this during the Ludum Dare challenge but I might make a "post-LD" version.
W, A, S, D move the player and Up, Right, Down, Left, arrows shift form. S will activate "shell mode" for the turtle and will shoot out a web for the spider.

 On my entry I have gotten a lot of comments about the water effects. Basicaly each "section" of water is a separate object. Each object checks the "height" of neighboring water objects. It then averages its own height. Here is the code: (this is in Gamemaker:Studio)
(in step event)
waterLeft = place_meeting(x-1, y, oWaterTop); //object left of water
waterRight = place_meeting(x+3, y, oWaterTop); //object right
var leftHeight, rightHeight;
if waterLeft {
    leftHeight = instance_place(x-1,y,oWaterTop).height;
    leftHeight = 0;
if waterRight {
    rightHeight = instance_place(x+1,y,oWaterTop).height;
    rightHeight = 0;
if updateCount == 0
    height = (height+leftHeight+rightHeight)/4;    
if updateCount == 3
    updateCount = 0; //all this to update the water every 3 steps

(in player collision event)
if other.vy > 2 //if player is moving downward
    height += 5; //lower image
if other.vy < 2 //if player is moving upward

    height -= 2; //raise image

(in draw event)
draw_sprite(sprite_index, -1, x, y+height);

I also implemented two keyboard layouts. The controls for the player are stored in an array. This array is initialized at game start. There is a button on the main menu to change the layout. This button changes the array. Storing controls in an array (or another data structure) is a good practice and allows for multiple control schemes. The last thing I want to do after making a game is go back and change every line of code for input, so I always implement this.

Thanks for reading! More stuff on the way!


Popular Posts