首页 > > 详细

辅导 WM908 Programming and Fundamental Algorithms 程序

Coursework Brief and Front Sheet PGT
This front sheet for assessments is designed to contain the brief, the submission instructions, and the actual student submission for any WMG assessment. As a result, the sheet is completed by several people over time and is therefore split up into sections explaining who completes what information and when. Yellow highlighted text indicates examples or further explanation of what is requested, and the highlight and instructions should be removed as you populate ‘your’ section.
This sheet is only to be used for components of assessment worth more than 3 CATS (e.g. for a 15 credit module, weighted more than 20%; or for a 10 credit module, weighted more than 30%).


To be completed (highlighted parts only) by the Programme Administration after approval and prior to issuing of the assessment; to be consulted by the Student(s) so that you know how and when to submit:


Date set 15/10/2025

Submission date (excluding extensions) 10 November 2025 by 12 pm UK time

Submission guidance Tabula Link

Marks return date (excluding extensions) 8/12/2025



To be completed by the Module Leader/Tutor prior to approval and issuing of the assessment; to be briefed to the Student(s) so that they understand the Coursework Brief, its context within the module, and any specific criteria and advice from the tutor:


Module Title & Code WM908 Programming and Fundamental Algorithms
Component Title Project
Module Leader Kurt Debattista
Module Tutor Kurt Debattista
Assessment Title Programming assignment and report
Weighting (%) 100%







Coursework Brief



Assignment Brief
This assignment is to develop a small 2D game using the provided GamesEngineeringBase framework. This framework will be presented in an in-class tutorial. The program needs to be developed in C++, and the code submitted with a report, details of which are outlined below. An executable should also be submitted.
Please read the entirety of the assignment before attempting any part of it, as thinking about the overall solution from the start will be beneficial for some of the later stages.
Show your code for all parts, even if you do not get the final result. If you cannot provide code, at least explain your reasoning around the problem and how you would solve it. Marks will be given for both code and explanations – more marks will be allocated for proper code that works. If you cannot provide the full functionality at any stage, provide part of it but state which part was provided.
Provide comments in the code – the more readable it is the easier it is to understand and allocate marks. Please include Visual Studio solutions and all the source code, or a link to a GitHub Repository. If you wish to use another compiler and IDE you are permitted to, but please contact the module tutor before you do so, such that arrangements for marking are made in a timely fashion.
Make sure you do not copy any code from the internet or online resources or from any other students. This includes the use of AI to generate code.
Use of the Standard Template Library data structures (such as vector, list, map) is not permitted for this assignment. No external APIs can be used either. You are allowed to use and build upon code we developed in class including any tutor provided solutions.
This assessment will help you re-enforce the learning from the module. You will need to understand how to use C++ to develop games and provide solutions to be used directly as part of the game.

1Overview
This section provides an overview of the game and the components which should be included. The game is a 2D survivor like game (like Vampire Survivors). The game logic is expected to be relatively simple, and to be built around a core game loop with simple updating of the player, game world, and Non-Player Characters (NPCs).
When designing solutions think of the efficiency of the solution and which data structures and algorithms best help support the solution. Ensure these are discussed in the report with a discussion on complexity.

2Game (85 Marks)

This section carries a total of 85 marks. However, the individual aspect of the game is evaluated on the report of it (see Section 3 Report).
This game should be built on the core game systems developed during tutorial sessions and must include implementations of the following:
1.A virtual camera that follows the player-controlled (hero) character at its centre (10 Marks)
2.A number of NPCs that attack the character (17 Marks)
Generated randomly outside of camera view (2 Marks)
Their frequency increases over time (2 Marks)
At least 4 different character types that differ in appearance, health and speed (5 Marks)
General NPC behaviour that directs them directly towards the player (4 Marks)
One NPC behaviour makes it static but launches projectiles (4 Marks)
3.Collision system (12 Marks)
Hero vs NPCs (3 Marks)
Hero vs impassable terrain (3 Marks)
Hero projectiles vs NPCs (3 Marks)
NPC projectiles vs Hero (3 Marks)
Clearly demonstrate how NPCs are implemented and handled
4.The hero attacks the NPCs with at least two different types of attack (12 Marks)
A linear attack that targets closest NPC (has cooldown) – the attack runs automatically all the time (3 Marks)
A special area of effect (AOE) attack that targets the top N max health NPC – triggerred by hero via separate button (can be instantanous but has significant cooldown). (7 Marks)
A powerup that increases either the speed of the linear attack and number N of NPCs targetted by the AOE (2 Marks)
5.A tile-based method (composed of a number of 32x32 pixel tiles) for displaying the background (16 Marks)
At least four different tile types (ie terrain types). One of which is impassable (eg water) for the hero. NPCs can traverse. (5 Marks)
Data driven level loading, i.e. load the game world’s tiles and map from a custom file format (5 Marks)
A version of the world which is infinite (with repeating tiles) (3 Marks)
A version with a fixed boundary (larger than what the screen displays) (3 Marks)
6.Game level runs for two minutes (7 Marks)
Show at least two levels with different maps (one infinite, one fixed) (5 Marks)
Score and FPS shown at the end (or during) (2 Marks)
7.The ability to save the current state of the game (and save to a file) at any point and reload it at the same exact point (11 Marks)
Please note that we will not be marking the game, rather we will mark the implementations of the above methods. Please use the report to explain your different solutions. You can show screenshots abstracted from the gameplay e.g. an image showing your collision detection system.
3Report (15 marks)

The report should be structured as follows:
-Introduction which introduces your game, and the technologies used
-A section on each of the technologies implemented (1-6 from Section 2) which contains details about how the technique works and how you implemented it. Half of this section should cover theory; half should cover the relevant implementation details for each method. You should include details here even if your implementation is partially complete.
-A short evaluation section – measure the FPS / ms per frame and see how this varies as the level complexity increases
-Limitations which cover the things you tried that did not work or if there are bugs that you know about but could not fix
-Conclusion which summarises the report in a single paragraph
Also add to the report a small section on how you would have approached this project differently if you had to start from scratch after this learning experience.
You are expected to include screenshots of the game running and implementations of game systems. For this you can use an application such as the “snipping tool” in Windows to directly paste the results in your document – this is very quick. Windows 10 has a new screen capture facility using Shift+MSkey+S. Similarly, most of the latest versions of Mac OSX permit the use of screen capture via shift-cmd-4 (various numbers provide different functionality).
Do not add the code to the appendix but provide it separately and in a format such that it can be compiled directly (see Section 1).
Important: All samples of code shown in the text need to be in text format, not a screen capture from your editor. Code in screen captures will be ignored.


Assessment Length/
Word count
4000 words. Space for images and code is allowed and considered separate from the total word count.
ARTIFICIAL INTELLIGENCE (AI)
AI Scale 
(Please copy and paste this tick ‘✓’ into the appropriate box) 

NO AI You must not use AI at any point during the assessment.
You must demonstrate your core skills and knowledge.


✓ AI PLANNING You may use AI for planning, idea development, and research.
Your final submission should show how you have developed and refined these ideas.

AI COLLABORATION You may use AI to assist with specific tasks such as drafting text, refining and evaluating your work.
You must critically evaluate and modify any AI-generated content you use.


FULL AI You may use AI extensively throughout your work either as you wish, or as specifically directed in your assessment.
Focus on directing AI to achieve your goals while demonstrating your critical thinking.

AI EXPLORATION You should use AI creatively to solve the task.
AI Policy Unauthorised and undisclosed use of Artificial Intelligence may result in a finding of Academic Misconduct and an academic sanction under Regulation 11. Guidance for WMG student on the use of Artificial Intelligence can be found here.

Module Learning Outcomes (numbered) 1.Master a sound, conceptual understanding of the theory and concepts of programming and fundamental algorithms and data structures.
2.Program effectively and independently in a high-level programming language at an intermediate to advanced level.
3.Take, straightforward to complex, algorithmic concepts, and implement them correctly.
4.Autonomously distinguish the right solution for a given problem from amongst a set of algorithmic and programming tools.
Learning Outcomes assessed in this assessment (numbered) 1.Master a sound, conceptual understanding of the theory and concepts of programming and fundamental algorithms and data structures.
2.Program effectively and independently in a high-level programming language at an intermediate to advanced level.
3.Take, straightforward to complex, algorithmic concepts, and implement them correctly.
4.Autonomously distinguish the right solution for a given problem from amongst a set of algorithmic and programming tools.
Learning Outcomes Please remember that you must meet all Learning Outcomes to achieve a pass mark.
Late Submission Policy If work is submitted late, penalties will be applied at the rate of 5 marks per University working day after the due date, up to a maximum of 10 working days late. After this period, the mark for the work will be reduced to 0 (which is the maximum penalty). “Late” means after the submission deadline time as well as the date – work submitted after the given time even on the same day is counted as 1 day late.

Resit Policy If you fail this module and/or component, the University allows students to remedy failure (within certain limits). Decisions to authorise resits are made by Exam Boards. These will be issued at specific times of the year, depending on your programme of study. More information can be found from your programme office if you are concerned.

If this is already a resit attempt, this means you will not be eligible for an additional attempt. The University allows as standard a maximum of two attempts on any assessment (i.e. only one resit). Students can only have a third attempt under exceptional circumstances via a Mitigating Circumstances Panel decision.
Retention of Drafts & Records Please ensure that you retain any drafts of your work, associated notes, records of research should they be required by the marker or moderator.  You do not need to submit these, but they should be retained until after the end of your registration.



Where to get help:

1.Talk to your module tutor if you do not understand the question or are unsure as to exactly what is required.
2.There are also numerous online courses provided by the University library to help in academic referencing, writing, avoiding plagiarism and a number of other useful resources. https://warwick.ac.uk/services/library/students/your-library-online/
3.If you have a problem with your wellbeing, it is important that you contact your personal tutor or wellbeing support services https://warwick.ac.uk/services/wss

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!