Skip to content

ianchez/game-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Instructions

Overview

The final stage of your game project is to make your Game Project awesome! This is your chance to flex your creative muscles, show off your technical skills, and produce a polished game.

Complete the base game

Firstly you need to make sure that your base game is fully functional and bug free. You will need to have implemented all of the following from the previous game projects:

  • Player interaction
  • Canyons & Coins interaction
  • A scrollable game world
  • Score and lives counters
  • Game over states

You’ll also be marked on the gameplay and aesthetics of your game. You can score highly on this category by:

  • Creating a playable but challenging level design
  • Creating coherent and aesthetically pleasing graphics and animations
  • Making sure your game is bug free and that the player controls are well tweaked (eg. the jump is well timed)

The code philosophy videos "The debugger's mindset" and "Testing" will help you in your attempts to iron out any bugs.

Your code also needs to be competently implemented and well-presented. Review your code and check:

  • Indentation is correct
  • Whitespace (empty lines and spaces) is properly used
  • inline comments but NOT commented out code
  • Consistent and logical variable naming
  • Good code organisation

You should also check for:

  • Implicitly declared variables, redundant variable declarations or assignments
  • Appropriate use of local and global variables
  • Array traversal is correctly implemented
  • Data structures and function design follow the prescribed scheme or a more advanced scheme that is rational in its design.
  • Conditional logic is clearly and plainly implemented.
  • Game elements are correctly anchored

If you’re not sure how to do this, then a good idea is to rewatch the code philosophy video “The elegant coder” and also “12 top tips for naming variables.”

There are also some bonus points for those students who are able to include advanced techniques such as ES6 syntax and modularisation of code into multiple files. NB. using advanced techniques is an optional extra for those students who feel comfortable doing so. Whichever techniques are applied, they need to be used consistently in a way which demonstrates understanding.

Implement extensions

The next stage is to extend your code by adding up to three of the extensions which are demonstrated in the final topic:

  1. Add sounds Use p5.sound to add sound effects to your game. Watch the tutorial video from the topic to do this.

  2. Create platforms Use the factory pattern to create platforms. Watch the tutorial video from the topic to do this.

  3. Create enemies Use a constructor function to create enemies. Watch the tutorial video from the topic to do this.

It’s up to you how many of the three you implement and to what degree you enhance the implementation from the basic tutorial code. The extension is graded with criteria for functionality, creativity and ambition. If you are unsure, then the grading rubric will guide you on how to scope your extension work.

Deliverables

Hand in your final game project as a compressed folder in .zip format. It should contain the following.

  • Your final game project code
  • All assets needed to run the code (html files, library files, images, sound files etc.)
  • A commentary of around 250 words in PDF format. This should describe:
    • your extension(s)
    • the bits you found difficult
    • the skills you learnt/practiced in completing the game project

Review Criteria

Base application (25 marks)

  • Base functionality [6]
  • Code presentation [6]
  • Code competency [6]
  • Advanced code techniques bonus [3]
  • Game play, level design and aesthetics [4]

Extension (12 marks)

functionality (4): creativity (4): Extensions - ambition (4):

Commentary and deliverables (3 marks)

About

Mario-like Game made with Javascript and the p5.js library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published