beersbr / ludum_competition

the ludum make money game competition

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

All of the files are here. I have been using MAMP for testing due to the ajax pulling. I got weird results when I just used the browser and the filesystem.

I have marked the drawing code where the ball is and I have marked where the drawing code for the blocks are. But in case the code
is hard to plug through here are the line numbers:


+ drawing the wall in the level object:
  line number: 214

+ where the player gets drawn in the node object:
  line number: 196


TODO: 
  + Make the collision pre-emptive so we don't have any phasing through blocks
    > Make sure collision works with all the wall types. Currently the bouncers accelerate the player enough
      to make the player pass through thin walls.
  + Change the width and the height of the teleporters so they are not static and can be changed so that they 
    are drawn to the screen properly.
  + Fix the teleportation so the player is drawn to the center of the destination.
  + Add insurance to the fact that we are using 10's as a base. Every walls width and height mod 10 must be 0;
  + When the player has completed the last level the game should move to another screen gracefully.
  + Move the "player_finish" block out of the walls section and into its own property for the level. (This would take away the ability to make finish points arbutrary sizes).
  + Finish the static walls creation

ADDITIONS:
  The Level Builder is a small sinatra app that will help in the creation of levels letting you visualize what you are doing. You click once to start drawing and again to stop.
  Right now all you can draw are walls. The start position is statically set at 300, 300.

  + The level builder now works in a crude way. It produces slow levels creating a wall for each block instead of cells.

Documentation: 

Block types: 
+ Wall:
  - This is just a wall and will kill the player upon collision.

  type: "wall"
  x: x coordinate
  y: y coordinate
  w: width of block
  h: height of block
  - Example:
      {"x": 0, "y": 0, "w": 10, "h": 480, "type": "wall"}

+ Bounce:
  - This will bounce the ball in the direction specified

  type: "bounce"
  x: x coordinate
  y: y coordinate
  w: width of block
  h: height of block
  direction: [lrdu] for the direction the ball will bounce
  - Example:
    {"x": 10, "y": 0, "w": 10, "h": 480, "type": "bounce", "direction": "l"}

+ Reverse Gravity:
  - This takes the current gravity and reverses it. Very similar to booster but without any extra parameters.

  type: "reverse_gravity"
  x: x coordinate
  y: y coordinate
  w: width of block
  h: height of block
  - Example: 
    {"x": 90, "y": 410, "w": 540, "h": 60, "type": "reverse_gravity"}

+ Moving Wall:
  - This is a wall that opens and closes over time. They start as a full block, in our case closed.

  type: "moving_wall"
  x: x coordinate
  y: y coordinate
  w: width of block
  h: height of block
  direction: [lrdu] for the direction the wall will open and close in.
  speed: [n > 0.0] for the speed the wall will move at.
  offset: [n > 0] for the offset the wall will start at in pixels
  - Example:
    {"x": 170, "y": 100, "w": 150, "h": 50, "type": "moving_wall", "direction": "l", "speed": 0.6, "offset": 30}

+ Booster:
  - This is a booster that will boost the player in a given direction.

  type: "booster"
  x: x coordinate
  y: y coordinate
  w: width of block
  h: height of block
  direction: [lrdu] for the direction the booster boosts.
  power: [n > 0.0] for how much boost this block adds to the players velocity
  - Example:
    {"x": 10, "y": 10, "w": 150, "h": 70, "type": "booster", "direction": "d", "power": 0.3 }

+ Teleporters:
  - This type of block will teleport the player to a given position on collision.

  type: "teleporter"
  x: x coordinate
  y: y coordinate
  w: width of block (currently staticly drawn )
  h: height of block (currently staticly drawn )
  to: the position of the destination as a hash.
  - Example:
    {"x": 320, "y": 400, "w": 10, "h": 10, "type": "teleporter", "to": {"x": 100, "y": 200}}

+ Text:
  - Draws the specified text on the screen at the location set.

  type: "text"
  x: x coordinate
  y: y coordinate
  text: the text you want to draw to the screen
  - Example: 
    {"x": 580, "y": 420, "type": "text", "text": "this is some text!"}

About

the ludum make money game competition


Languages

Language:JavaScript 93.3%Language:Ruby 6.7%