Reference no: EM132375840
Creative Coding Assignment -
Overview - The purpose of this assignment is to assess your ability to implement complex interactions between separate modules using JavaScript and p5.js. You will be creating your own simplified version of the 'Galaga' game.
Requirements -
1. Multiple Scenes
The game must involve at least 4 scenes, there must be a:
- Loading / splash scene
- Main menu scene
- Main game scene
- Leaderboard scene
You should be able to navigate between the scenes.
Note: each scene needs to only be navigable by at least one other scene (with the exception of the loading scene, it can be a time-oriented screen).
2. Loops
The game must use at least 3 loops which are fundamental to the operation of the program.
3. Arrays
The game must incorporate at least 3 arrays, with at least 1 of the arrays being used to manage a list of objects on the screen (such as opponents).
4. Interactivity
There must exist player interaction using a keyboard. The game needs to handle at least 3 keyboard keys.
5. Images
There must be at least 1 image present in the final product (separate to sprites) that is drawn at an appropriate size.
Note: it is up to you which scene you incorporate the image in.
6. Sprites
The p5.play library must be incorporated with a minimum of 3 sprites used. The sprites must have collision detection (between sprites) and must move independently. Sprites must be animated (i.e. a moving object, changing size or color).
7. Video & Sound
The game should use at least 3 sounds and 1 video. Hint: you can use sounds for shooting and video to introduce the game in the main screen.
8. GUI Input
At least one type of GUI input is required (e.g. text input, slider, button). The input should affect what is drawn.
9. Data
The program needs to read in data from a JSON file where each object must have at least 3 properties. This data must be presented in the sketch in one of the scenes.
Hint: if your themes / ideas of the main game scene conflict with using external data, use the data in the leaderboard scene.
10. Stability
The game must feel stable to play. Your game should not feel 'buggy'.
11. Creativity
You must produce creative work that adds complexity to your game.
Examples of creative work that add complexity to your game include:
- Having multiple types of enemies - One may shoot lasers slow but move fast, the other may shoot lasers fast but move slow.
- Having a dynamic background - Stars (sprites or images) may traverse down the screen in a straight line, being generated at random rates & positions from the top of the screen.
- Having multiple modes of fire - Your ship may fire in a straight line in its unaltered state, but when picking up a 'bonus' blob (that traverses down the screen every 20 seconds, 30 seconds if missed) the ship has an altered mode of fire, such as shooting in multiple directions.
- UI & Fonts - You may download and use custom fonts that better fit your theme.
- Score & Sound Effects - Play a special sound every 10 enemies destroyed and add relevant bonus scoring.
- Enemy health - Enemies only fall after being hit 3 times. Use an array to store the health of individual enemies and update it upon collision detection.
- Ability to change the difficulty of game - Could be as simple as having two difficulty options that change the number of lives available, or as creative as having increased speed of incoming fire / increased toughness of opponents.
You are encouraged to create your own assets (i.e. opponents or laser fire) on top of using public assets from the internet.
Note: the ability to creatively expand your game is highly dependant on having basic functionality, such as interactivity.
12. Code
You must produce clean, well-written code. This encompasses indentation, meaningful naming of functions & variables, use & overuse of absolute values.
13. Screen Capture
You must provide a screen capture video of the final product that is 60 seconds long or less. You should demonstrate all the components.
Attachment:- Creative Coding Assignment File.rar