Get Instant Help From 5000+ Experts For
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
myassignmenthelp.com
loader
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
wave
Coursework on Game Physics and Collision Detection

The Challenges and Requirements

The exact nature of the challenges and the arena is up to you, but the game must employ collision detection and resolution to allow the ball to be moved throughout the world. Being free from the physical constraints of the games in the videos, your version should also be able to have multiple moving objects that must be avoided, or perhaps knocked over to score bonus points.

The codebase you have been provided with serves as a good starting point for the development of your game. The goal of the coursework is to then enhance this codebase with realistic physics andcollisions, to allow the basics of the game to be played. You do not need to spend any time implementing graphical techniques, or finding new meshes and textures to apply to your game - the purpose of this coursework is just to investigate the new concepts introduced in the lectures andtutorials.

The coursework is divided into two parts. The first will primarily cover physics calculations and simple state machines, while the second covers advanced physics, AI and pathfinding. Coursework Part A:

You are to make a game in which the player must aim to get their ball to the end of the game in the fastest time possible. Once the game finishes, the player should be shown their final score, and time taken to complete the game. The player does not control the ball directly, but instead may click onobjects within the world to trigger actions within the world (tiles that bounce the ball upwards, or platforms that rotate to ‘flick’ the ball through the world, for instance). The game shouldfeature a simple menu, allowing the player to play again, or exit the game.

The program you create should take place within a single virtual environment - the exact composition of this is up to you, but it should have obstacles placed around (these can consist ofsimple moving and rotating cuboids and spheres) to make the world more interesting. The level should also have surfaces that produce different effects when the ball moves on them (jelly could make the ball bounce, or ice could make it hard to change direction).

If the player clicks on any object within the world, the game should display some debug information (using the provided text rendering code). This could consist of position and orientation, or information on the current state of any state machines or AI used within the world.

The game should be extended with an additional game mode, accessible via the main menu. In this mode, an additional challenge is present in the game world – the Evil Maze. This should take the form of a maze comprised of a floor and walls made of cubes. The ball can be moved as you wish – launched via specifically placed springs, or a tilting floor, for instance. An additional challenge is contained within the maze – when the player enters, an enemy ball should spawn in one of the corners of the maze. This enemy ball should use appropriate pathfinding methods to move towards the player’s ball – if they come into contact, both the enemy and player balls respawn at their respective starting positions. Powerups should also spawn in the maze (they could freeze the enemy ball, provide bonus points, or some other gameplay effect of your choosing); the enemy ball should use appropriate AI methods to make decisions on whether to chase after the player, or try to collect any nearby powerups.

  1. Source code. Clean your solution in Visual Studio, and then zip your work folder.
  2. A document containing at least four screenshots with descriptions of the features they represent, a list of any key/mouse presses that perform actions, and a link to a YouTube video of your coursework running.

Implementations of collision detection (AABB, Sphere, OBB, plane), collision resolution (impulse, projection, or penalty, with gameplay effects), application of forces, and simple state based logic used in the challenges gain up to 50 marks.

A ‘first class’ submission would allow the player to move the ball via the application of forces, with the program successfully detecting and resolving collisions with the environment, and apply gameplay effects from the collection of items.

Implementation of advanced AI, collision detection, constraints and pathfinding gains up to 50 marks.

A ‘first class’ submission would contain an enemy ball within the maze that uses state machine logic appropriately. AI opponents should use appropriate pathfinding tonavigate through the world towards the goal. Constraints should be used to create more interesting obstacles within the challenges. Appropriate logic should be used for the menus.

support
close