Reference no: EM132970481
INM379 Computer Games Architecture - City, University of London
Synopsis
The aim of the coursework is to give you experience of using a deployment-ready production framework to produce a fully functional game demonstrating sound architectural principles in separating game engine and game code. Your code should employ design patterns and a data/event-driven architecture to produce loosely coupled code.
You will be developing a game demo using C# and MonoGame with Visual Studio.
The coursework is a single piece of individual work, worth 100% of the final course module mark.
Task
You are to produce a demo of a casual game of your choice in 2D, 2.5D (2 dimensional game-play with 3D rendering), or 3D. You may choose from the following game genres (other game types may be implemented with written permission from the module leader):
1) Top down racing game
2) Fast-paced space or flight shooter (side scrolling)
3) Mario-style platform game
4) Side-scrolling fighting game
5) Sports related simulation
The game will be a demo in the sense that it should demonstrate key features of both your game engine and the game you wish to create but need not be ready for release or feature-complete.
The demo will be built in three coding-based parts, with implementation and documentation receiving equal marks for each section. There is an additional fourth part which is marked on documentation only.
Part 1
1) Load appropriate assets for the game type using a resource management strategy.
2) Control of the game character or first person view using keyboard, joystick, mouse or touch control. An event-driven architecture should be used to separate input hardware from the responding code.
3) Collision detection or alternative hit detection using basic brute force techniques.
4) Moving and animated game elements, demonstrating frame-rate independent game loop control.
Part 2
1) Configurable game world with positions/attributes of game elements/opponents demonstrating a data-driven approach.
2) Collision response based removal of game elements showing separation of collision detection and collision response code.
3) Scoring system demonstrating use of event listeners.
4) High-score table demonstrating use of serialization or an alternative approach to provide a game state load/save mechanism.
Part 3
1) Start-screen (containing intro and keyboard controls) and game over screen (with score and restart options) demonstrating use of state pattern and FSM with game loop.
2) Power-ups demonstrating use of event-listeners and re-use of a base-class for game objects.
3) NPC opponents demonstrating FSM control of game objects
4) Overall game-play and presentation, including use of additional level challenges as necessary (e.g. timer count-down, lives).
Part 4 (500 words maximum)
a) An analysis of improvements to the speed of your algorithms that have been, or could be, achieved using your knowledge of hardware architecture.
OR
b) A discussion of the use of profiling software to improve the performance of your game engine.
OR
c) Diagrams and supporting documentation showing how your game architecture could be adapted for use as a network game.
Attachment:- Computer Games Architecture.rar