Endless Runner
- Due Jul 26, 2019 by 11:59pm
- Points 12.5
- Submitting a file upload
- Available after Jul 11, 2019 at 1pm
We're going to synthesize everything we've learned in Phaser so far and construct an endless runner.
Grading Criteria
You are graded according to the following rubric (point values in parentheses):
Organization (2.5 points)
- Logically comment your source to demonstrate that you understand how each section works. (0.5)
- Your file structure is organized logically and legibly. (0.5)
- Game runs from localhost (0.5) with no code errors (0.5).
- Submit your project to Canvas as a .zip that includes the framework so the graders can run it. (0.5)
Structure and Design (8 points)
Your game should:
- Have at least three states: a main menu (0.5), a state where you play the actual game (0.5), and a game over state (0.5). You may name these however you like. You may also have more, depending on how you structure your game.
- Communicate how to play w/ clear instructions (0.5).
- Properly transition between states and allow the player to restart w/out having to reload the page (0.5).
- Have some form of player input/control (0.5) according to your design.
- Include an animated character(s) (0.5) that uses a texture atlas (0.5).
- Simulate scrolling, e.g., tilesprite (0.5).
- Properly use collision detection (0.5).
- Have looping background music (0.5).
- Use sound effects for key mechanics and/or events (0.5) according to your design.
- Use randomness to generate challenge, e.g. terrain, pickups, etc. (0.5).
- Include some metric of accomplishment that a player can improve over time, e.g., score (0.5).
- Be theoretically endless (0.5).
- Be playable for at least 15 seconds for a new player of low to moderate skill (0.5).
Creative Tilt (2 points)
Does your game...
- ...do something technically interesting? Are you particularly proud of a programming technique you implemented? Did you look beyond the class examples and learn how to do something new? (1)
- ...have a great visual style? Does it use music or art that you created? Are you trying something new or clever with the endless runner form? (1)
For these last two criteria, let us know what to look for in your source. Put a comment block in your program header and tell us what you did. In Paddle Parkour, for instance, Nathan used local storage to track the player's high score across browser sessions. That's technically interesting. But it also has a neat visual effect—a rainbow trail—that triggers if a player survives sixty seconds or more. That's visual style!
No extensions or late work without prior approval.
Rubric
Criteria | Ratings | Pts |
---|---|---|
Logical commenting
threshold:
pts
|
pts
--
|
|
Organized file structure
threshold:
pts
|
pts
--
|
|
Runs from localhost
threshold:
pts
|
pts
--
|
|
Runs with no errors
threshold:
pts
|
pts
--
|
|
Submitted .zip to Canvas
threshold:
pts
|
pts
--
|
|
Menu state
threshold:
pts
|
pts
--
|
|
Play state
threshold:
pts
|
pts
--
|
|
Game over state
threshold:
pts
|
pts
--
|
|
Clear play instructions
threshold:
pts
|
pts
--
|
|
State transitions / no hard reload
threshold:
pts
|
pts
--
|
|
Player input/control
threshold:
pts
|
pts
--
|
|
Animated character(s)
threshold:
pts
|
pts
--
|
|
Animate from texture atlas
threshold:
pts
|
pts
--
|
|
Simulate scrolling
threshold:
pts
|
pts
--
|
|
Proper collision detection
threshold:
pts
|
pts
--
|
|
looping BGM
threshold:
pts
|
pts
--
|
|
SFX for key mechanics/events
threshold:
pts
|
pts
--
|
|
Random challenge element
threshold:
pts
|
pts
--
|
|
Metric of accomplishment
threshold:
pts
|
pts
--
|
|
Be endless
threshold:
pts
|
pts
--
|
|
Playable for 15 second minimum
threshold:
pts
|
pts
--
|
|
Technical tilt
threshold:
pts
|
pts
--
|
|
Aesthetic tilt
threshold:
pts
|
pts
--
|