ES2D7 - Software Assignment 2023-24
ES2D7 - Software Assignment 2023-24
Notes:
• A total mark below 30% indicates that the ILOs have not all been met at threshold level;
• A total mark in the range 30 – 38% indicates that the ILOs have all been partially met to
at least threshold level;
• A total mark of at least 40% indicates that the ILOs have all been met.
1|Page
Submission Details
The submission details for this assignment are:
• Deadline: Thursday Week 30 (noon)
• Method: Tabula
• Format of submission: The following items should be submitted:
1) The.mlapp file and any other required files to run the app (e.g. other test images). If there
are more than 5 files, then please provide as a single zip file.
2) The video.
• Submission length: The video shall not be longer than 5mins.
• Formatting instructions: The video shall be submitted as a .mp4 file. The maximum video file
size is 90MB.
• Note: Students are responsible for ensuring that work is uploaded successfully before
the deadline. If there are technical issues when submitting online, please contact the
Engineering Student Office ([email protected]).
Assignment Feedback
Written individual and cohort feedback will be provided to students.
2|Page
The Brief
You are required to develop an innovative game in Matlab that has educational benefits for
at least ONE of the following groups of users:
Do not copy any code from any online source (e.g. youtube videos, forums, AI chatbots).
You will score zero if you do this. Copying an existing solution and adding a couple of
features is also likely to score zero.
Task hints:
• You are free to choose any type of game for this project providing that it meets the
requirements above. Some popular education games for primary school children are:
o Hit the button (https://www.topmarks.co.uk/maths-games/hit-the-button)
o TTRockStarts (https://ttrockstars.com/)
o https://www.mathplayground.com/mathman_multiplication.html
• There is a wide variety of games that can be developed and they can include an
action element (see last example above).
• Avoid choosing a game that takes too long to play as it will take a long time to test
(and debug).
• You can either develop game for one player or two players.
• You can choose an appropriate level of difficulty by thinking carefully about the kind
of game you want to develop.
3|Page
• Make sure that your code will be able to load any resources (e.g. images/sounds)
from the same directory as your game. Avoid something like:
Which assumes that the file ‘crazy_image.png’ has been placed in a particular
directory and won’t run during the marking process.
Submission When submitting to tabula, make sure you include all files required to run the
game (including images). If you have more than 5 files, you will need to zip the files and
submit the .zip file. You may also submit short set of instructions (no longer than ½ A4 page)
if you think this would be useful (please submit as PDF file).
To record your video, you could use one of the following tools:
• Microsoft Teams – allows you to record your desktop (matlab and/or powerpoint)
and a camera feed of yourself1.
• OBS studio (https://obsproject.com/) – this is more difficult to use than microsoft
teams but produces very good results.
• Powerpoint – can be used to record a video presentation but will not capture footage
of your game in Matlab.
1
Go to Microsoft teams and go to calendar view. Click on ‘meet now’ (have a meeting with yourself - you don’t
need to invite anyone). Once the meeting starts, you can share your screen and start a recording. Once you
end the meeting, the recording will be available on Microsoft stream. You can then download this as a .mp4
file.
4|Page
Assignment FAQ (based upon questions from 22/23 forum)
----------------
A: No – this would make it an interesting project and it would improve the score for complexity, but
there are other ways to achieve this.
----------------
Q: For the software assignment, do the images/graphics used in the game have to be drawn/made
ourselves or are we allowed to pull images/graphics from the internet/other sources?
A: You do not have to create your own images/artwork as this assignment is testing software
development skills. It's ok to source images from the web etc.
----------------
Q: Is it possible to use the Gamelab file from the pacman workshop to set up my game environment
or would that be considered copying existing code?
A: I would strongly advise against using the gamelab .p file from the pacman workshop because it
isn’t implemented using an app (and you won’t be able to demonstrate creating a whole game).
----------------
Q: What counts as plagiarism?
A: The main thing to avoid is directly copying code from another source. In previous years, students
submitted games that contained code copied from youtube videos (and other sources) and they
were all give a score of zero for the game. This also included cases such as:
If the overall concept of the game is similar to another one, then that's ok. There are a lot of games
out there and even if you create a brand new game, it's highly likely that it will be similar to an
existing idea.
5|Page
Marking Scheme
Criteria Explanation/examples App/Game Video Weighting
How well does the choice • Has the high-level purpose of the game been addressed? Y 10%
of game meet the • Has the game been developed with the customer/user in mind?
assignment brief? • Is there in-depth consideration of the user(s) needs?
Development Approach • Have the processes, skills and knowledge from the Systems part of the Y 10%
ES2D7 module been applied to the development of the game?
Innovation and creativity • Is the game close to an existing product, or has a brand-new concept been Y Y 15%
developed?
Project complexity / coding • Graphics (e.g. static graphics vs dynamic 2d graphics vs 3D graphics) Y 25%
skill • Complexity of interaction with user e.g. a game where the user has to click
one or two buttons is usually simpler than a game which requires many
mouse and/or keyboard inputs.
• Implementation of the computer as an opponent (e.g. a basic AI)
• Number of levels / scoring mechanism
Robustness and quality of • Does the game run smoothly or are there lots of issues? Y 20%
game implementation • Are the files neatly provided or does the submission folder contain
unnecessary files?
Note #1: This item will be judged in the context of the project complexity.
Note #2: Most of the marks for how well the game runs rather than neatness of
submission folder.
Ease of use and overall • Is the game well laid-out, are the graphics neatly done? Y 20%
playability • Is it obvious (or explained) how the game is played?
• Is the game enjoyable to play?
6|Page
The table below gives some example indicators for the extreme ends of the marking scale.
7|Page
8|Page