1. Homepage
  2. Programming
  3. 1701ICT Creative Coding - Assignment 2: Super Speed Sprint Racer, Rush Hour Game Visualiser and Scorched Earth

1701ICT Creative Coding - Assignment 2: Super Speed Sprint Racer, Rush Hour Game Visualiser and Scorched Earth

Engage in a Conversation
Griffith1701ICTCreative CodingRush Hour Game VisualiserSuper Speed Sprint RacerScorched EarthJavascriptp5p5play

Assignment 2 CourseNana.COM

1701ICTCreative Coding CourseNana.COM

School of ICT Griffith University Trimester 2, 2023 CourseNana.COM

Milestone 1 (30%) is due at the end of Week 9 with demonstrations to be held in your week 10 workshop. (11:59pm Sunday 24th September) CourseNana.COM

Milestone 2 (30%) is due at the end of Week 11 with demonstrations to be held in your week 12 workshop. (11:59pm Sunday 8th October) CourseNana.COM

Instructions CourseNana.COM

●  Due: Milestone 1, 11:59pm Sunday 24th September. Milestone 2 11:59pm Sunday 8th October) CourseNana.COM

●  Marks: 60% of your overall grade (30% each milestone) CourseNana.COM

●  Late Submissions: Late submission is allowed but a penalty applies. The penalty is defined as the reduction of the mark allocated to the assessment item by 5% of the total weighted mark for the assessment item, for each day that the item is late. Assessment items submitted more than five days after the due date will be awarded zero marks. CourseNana.COM

●  Extensions: You can request for an extension of time on one of two grounds; CourseNana.COM

medical CourseNana.COM

other (e.g., family or personal circumstances, employment-related circumstances, unavoidable commitments). CourseNana.COM

  • All requests must be made through the myGriffith portal. CourseNana.COM

  • ●  Individual Work: You must complete this assignment individually. CourseNana.COM

  • ●  Presentation: You must present/demonstrate your work in your week 10 workshop (milestone 1) and week 12 workshop (milestone 2) to a teaching team member. Your CourseNana.COM

    work will not be marked if you do not present it. CourseNana.COM

  • ●  Other: This assignment is a mandatory pass component. You must attain 40% (24/60) CourseNana.COM

    to be eligible to pass the course. CourseNana.COM

    Overview CourseNana.COM

    The purpose of this assignment is to assess your ability to implement complex interactions between separate modules using JavaScript, p5.js and p5play. CourseNana.COM

    Each Question should be submitted on Canvas L@G in a separate .js file (titled q1.js, q2.js etc.), but you DO ONT need to submit html and css files. Please also submit any additional image/sound/video file you are using. CourseNana.COM

    Some of the questions will require you to investigate some concepts outside of the lecture notes. Please make sure that all code that you submit is your own and is not taken/copied from anywhere else. CourseNana.COM

Important! When using p5.play, you should only use version 3, code that includes p5.play CourseNana.COM

v2 won’t be accepted. CourseNana.COM

Milestone 1 (due end of Week 9, 11:59pm Sunday 24th September) CourseNana.COM


Question 1 (12 marks) Super Speed Sprint Racer CourseNana.COM

In p5.play, sprites provide some additional functionality over normal images. Using p5.play, create a simple top-down racing game similar to Super Sprint (https://en.wikipedia.org/wiki/Super_Sprint) but simpler, with the following specifications: CourseNana.COM

  • The program should read a track in from a file called ‘track.txt’. 0 should indicate grass, 1 should indicate track and 2 should indicate start/finish line. You should find/draw appropriate images to use as tiles to represent these components. Draw the track according to the input file. For example, if the input file is 10x10 numbers, you should draw this many tiles. The track is static, so this could be drawn in the setup phase, but you will need access to this data for detecting the car leaving the track (2 marks) CourseNana.COM

    Hint: you can use p5play Tiles to draw the track - CourseNana.COM

    https://p5play.org/learn/tiles.html?page=0 CourseNana.COM

  • The program should draw two cars as sprites one next to each other on the start/ finish line, facing one of the adjacent road tiles. You could find a suitable images to use. Use cars in different colour and/or shape. The car size should be smaller than the tile size so it can easily drive on the track. (2 marks) CourseNana.COM

  • The program should allow for 4 inputs per car up/down and left/right on the keyboard. You may use the arrow keys for one car and some other keys (e.g. WASD) for the second car so two players can play the game together. CourseNana.COM

  • Up and down should modify the velocity of the car (you should impose limits so it cannot go too fast or backwards). Left and right should rotate the angle it is facing and moving. This should be done in a smooth way so the car cannot execute instant 90 degree turns. (3 marks) CourseNana.COM

    Collision detection: CourseNana.COM

  • If a car leaves the track and hits the grass, the car should lose its speed and come to stop. However, it should still be possible to adjust the car’s angle and increase its velocity, with a limit of 0.1, so the car can slowly return to the track. Once back on the track, it can accelerate again. (3 marks) CourseNana.COM

  • If a car collides with the other car, they should both bounce away from each other (keep it a small bounce only) and lose some of their velocity (proportionally to their current velocity). (2 marks) CourseNana.COM

    For this question, we are not assessing your ability to write a full game (Milestone 2 covers this), but are more interested in demonstrating your ability to use p5.play and other features. CourseNana.COM

Question 2 (18 marks) Rush Hour Game Visualiser
In this question you are going to visualise a solution to the puzzle game ‘Rush Hour’. Note CourseNana.COM

that you DO NOT need to implement the game or solve it, just visualise a provided solution. You can find the game description here, instruction on how to play here, and you can also CourseNana.COM

play it online here. The game: CourseNana.COM

  1. The game consists of a 6x6 grid (the board) and a set of cars and tracks positioned on the grid. Cars are of size 1x2, and trucks are 1x3. CourseNana.COM

  2. Cars are marked with the letters A, B, C, D, E, F, G, H, I, J, K, and X. CourseNana.COM

  3. Tracks are marked with the letters O, P, Q, and R. CourseNana.COM

  4. In each challenge, a varying number of cars and tracks are placed on the board in a CourseNana.COM

    specific arrangement. CourseNana.COM

  5. The goal of the game is to clear a path for the red car (marked with X) out of the board CourseNana.COM

    to the right by moving the other vehicles. CourseNana.COM

  6. The player can move the cars and trucks up and down or left and right, according to CourseNana.COM

    their initial orientation as long as there is no other vehicle blocking them. CourseNana.COM

This question has 4 parts: CourseNana.COM

a) loadProblems(filename) (2 marks). Write this function that will read the set of problems from the text file rh.txt. The file includes 40 different challenges (cards) in an increasing difficulty level. Each line represents a different challenge. Each challenge is given as a 36-character string represents the 6x6 grid, where letter represents a car/truck occupies a square, and period (‘.’) represents an empty square. CourseNana.COM

For example, the string “AA...OP..Q.OPXXQ.OP..Q..B...CCB.RRR.” represents the following challenge/card: CourseNana.COM

Your function should read the 40 problems and solutions from the file and store them in an array. CourseNana.COM

  1. b)  loadSolutions(filename) (4 marks). Write this function that will read the set of solutions from the text file rh_sol.txt. The file includes 40 solutions for the 40 challenges from rh.txt. Each solution is a string that consists of three-character substrings separated by spaces, with a period at the end. For example: CourseNana.COM

    “CL3 OD3 AR1 PU1 BU1 RL2 QD2 XR5 .” CourseNana.COM

    Each three-character substring represents a single move: the first character is the vehicle label, the second is the moving direction (L=left, R=right, U=up, D=down) and the third is number of squares to move. For example, the above string means: move car C three squares to the left, then move track O three squares down, etc. CourseNana.COM

    Your function should read the 40 solutions from the file and store them in an array. CourseNana.COM

    Hint: Reading the rh.txt and rh_sol.txt files can be a little daunting. Have a look at these files and see you understand them before writing the functions. It should make the problem seem a lot easier. CourseNana.COM

  2. c)  showProblem(problem_num) (4 marks). Write this function that will take a problem number (a number between 1 and 40), and will visualise that problem/challenge. You may choose what shapes/colours/images to use to visualise the board and vehicles. You should make sure you display the problem/challenge number somewhere on the canvas. CourseNana.COM

  3. d)  showSolution(problem_num) (8 marks). Write this function that will visualise a solution to a problem. You will need to use the solution from the file and animate the movement of the vehicles in the correct order. CourseNana.COM

Extra / Bonus: (No marks, just kudos). Try and implement a game where a player can move the vehicles using the mouse and/or keyboard. As this is not part of the assignment, do this AFTER finishing everything else. CourseNana.COM

Milestone 2 (due end of Week 11, 11:59pm Sunday 8th October) Game (30 marks) CourseNana.COM

You will be creating your own version of the game ‘Scorched Earth’. This is provided as inspiration, but the possibilities are vast (you can look here for some inspiration) CourseNana.COM

The players should be controlled by keyboard (i.e. changing power, angle and shooting), and at a minimum you should draw a terrain (randomly generated) and two players, and have them shooting at each other according to the selected speed and angle. But there are plenty more things you may add, such as: wind, different weapons, store, etc. CourseNana.COM

You can find more information about the game in this video - https://youtu.be/L5MfFU14jhM, and can try and play the original game here. CourseNana.COM

Requirements
1. MultipleScenes
The game must involve at least 4 scenes, there must be a: CourseNana.COM

2. Loops CourseNana.COM

The game must use at least 3 loops which are fundamental to the operation of the program. CourseNana.COM

3. Arrays CourseNana.COM

The game must incorporate at least 2 arrays. CourseNana.COM

4. Interactivity CourseNana.COM

There must exist player interaction using a keyboard. The game needs to handle at least 3 keyboard keys. Using mouse input is optional. CourseNana.COM

5. Images CourseNana.COM

There must be at least 1 image present in the final product (separate to sprites) that is drawn at an appropriate size. CourseNana.COM

Note: it is up to you which scene you incorporate the image in. CourseNana.COM

6. Sprites CourseNana.COM

The p5.play v3 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 colour) CourseNana.COM

7. Video&Sound CourseNana.COM

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. CourseNana.COM

8. GUIInput CourseNana.COM

At least one type of GUI input is required (e.g. text input, slider, button). The input should affect what is drawn. (Hint: Text input could be useful for high score entry) CourseNana.COM

9. Data CourseNana.COM

The program needs to read in data from a JSON or a Text file. This data must be presented in one of the scenes. CourseNana.COM

Hint: if your themes / ideas of the main game scene conflict/don’t work well with using external data, use the data in the leaderboard scene! CourseNana.COM

10. Stability CourseNana.COM

The game must feel stable to play. Your game should not feel ‘buggy’. CourseNana.COM

CourseNana.COM

11. Creativity CourseNana.COM

You must produce creative work that adds complexity to your game. Examples of creative work that add complexity to your game include: CourseNana.COM

Having
o Having a scene with a day/night cycle, or clouds/stars (sprites or images) may CourseNana.COM

a dynamic background CourseNana.COM

traverse the screen, being generated at random rates & positions from the sides of the screen.
multiple weapon types / modes of fire
CourseNana.COM

Having
o Yourplayermaybuydifferenttypeofweaponfromastore,orjustpickfroma CourseNana.COM

range of weapon types.
o You could add super weapons, or other beneficial additions to the defenders CourseNana.COM

(shields, Power-ups, etc.) CourseNana.COM

Having
o Wind can be randomly set and affect the movement of the missile. CourseNana.COM

Creative terrain
o You could use an image for the randomly generated terrain.
o Youcouldusedifferentaffectswhenamissilehitstheterrain,creatingcraters, CourseNana.COM

changing the surface, etc. CourseNana.COM

  • UI & Fonts CourseNana.COM

    o You may download and use custom fonts that better fit your theme. CourseNana.COM

  • Score & Sound Effects CourseNana.COM

    o Play a special sound for hit/ near miss, apply bonus score for hitting the opponent on the first try. CourseNana.COM

  • Multiple players/computer player
    o Allow adding more players.
    o Allow choosing between a human player or the computer. CourseNana.COM

    You are encouraged to create your own assets (i.e. opponents or laser fire) on top of using public assets from the internet. CourseNana.COM

    Note: the ability to creatively expand your game is highly dependent on having basic functionality, such as interactivity. CourseNana.COM

    12. Code CourseNana.COM

    You must produce clean, well-written code. This encompasses indentation, meaningful naming of functions & variables, use & overuse of absolute values. CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
Griffith代写,1701ICT代写,Creative Coding代写,Rush Hour Game Visualiser代写,Super Speed Sprint Racer代写,Scorched Earth代写,Javascript代写,p5代写,p5play代写,Griffith代编,1701ICT代编,Creative Coding代编,Rush Hour Game Visualiser代编,Super Speed Sprint Racer代编,Scorched Earth代编,Javascript代编,p5代编,p5play代编,Griffith代考,1701ICT代考,Creative Coding代考,Rush Hour Game Visualiser代考,Super Speed Sprint Racer代考,Scorched Earth代考,Javascript代考,p5代考,p5play代考,Griffithhelp,1701ICThelp,Creative Codinghelp,Rush Hour Game Visualiserhelp,Super Speed Sprint Racerhelp,Scorched Earthhelp,Javascripthelp,p5help,p5playhelp,Griffith作业代写,1701ICT作业代写,Creative Coding作业代写,Rush Hour Game Visualiser作业代写,Super Speed Sprint Racer作业代写,Scorched Earth作业代写,Javascript作业代写,p5作业代写,p5play作业代写,Griffith编程代写,1701ICT编程代写,Creative Coding编程代写,Rush Hour Game Visualiser编程代写,Super Speed Sprint Racer编程代写,Scorched Earth编程代写,Javascript编程代写,p5编程代写,p5play编程代写,Griffithprogramming help,1701ICTprogramming help,Creative Codingprogramming help,Rush Hour Game Visualiserprogramming help,Super Speed Sprint Racerprogramming help,Scorched Earthprogramming help,Javascriptprogramming help,p5programming help,p5playprogramming help,Griffithassignment help,1701ICTassignment help,Creative Codingassignment help,Rush Hour Game Visualiserassignment help,Super Speed Sprint Racerassignment help,Scorched Earthassignment help,Javascriptassignment help,p5assignment help,p5playassignment help,Griffithsolution,1701ICTsolution,Creative Codingsolution,Rush Hour Game Visualisersolution,Super Speed Sprint Racersolution,Scorched Earthsolution,Javascriptsolution,p5solution,p5playsolution,