首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
辅导CMP5327程序、辅导Programming留学生编程、c/c++编程语言调试 辅导留学生 Statistics统计、回归、迭代|辅导Matlab程序
项目预算:
开发周期:
发布时间:
要求地区:
BIRMINGHAM CITY UNIVERSITY
FACULTY OF COMPUTING ENGINEERING AND THE BUILT ENVIRONMENT
COURSEWORK ASSIGNMENT BRIEF
CMP5327 C++ Programming for Games
1 CEBE UG Assignment brief revised 03/08/2018
Coursework Assignment Brief
Assessment - Undergraduate
Academic Year 2020-21
Module Title: C++ Programming for Games
Module Code: CMP5327
Assessment Title: Development of a 2D shooting game
Assessment Type: CWRK Weighting: 100 %
School: School of Computing and Digital Technology
Module Co-ordinator: DR CARLO HARVEY
Hand in deadline date: Monitoring Points: Week 6, 9, 12.
Deliverables: 12pm Mid-day on 8
th January 2021
Return of Feedback date
and format
20 working days from date of submission (see Moodle for
details).
Re-assessment hand in
deadline date:
12pm Mid-day on Monday 26th July 2021
Note: the reassessment work may be different.
Support available for
students required to
submit a re-assessment:
Timetabled support sessions will be arranged for the period
immediately preceding the hand-in date
NOTE:
At the first assessment attempt, the full range of marks is
available. At the re-assessment attempt the mark is capped
and the maximum mark that can be achieved is 40%.
Assessment Summary This coursework comprises of formative monitoring points, one
shooting game project written in C++ and a video demonstration.
• (15%) Monitoring Points: demonstration of progress at 3
monitoring points throughout the delivery of the module.
• (65%) The Game: develop a 2D shooting game in C++.
This game must use the SDL2 (https://www.libsdl.org/)
development library to implement graphics. The game may
take inspiration and amalgamate from other existing
games but must not attempt to replicate entirely the game
mechanics of any existing commercial game
• (20%) Video: A video showcase of your work where you
will embed narrative that rationalises any problems
encountered, how you overcame these and provide a
critical analysis on the strengths and weaknesses of your
implementations.
2
IMPORTANT STATEMENTS
Undergraduate Regulations
Your studies will be governed by the BCU Academic Regulations on Assessment,
Progression and Awards. Copies of regulations can be found at
https://www.bcu.ac.uk/student-info/student-contract
Cheating and Plagiarism
Both cheating and plagiarism are totally unacceptable and the University maintains a strict
policy against them. It is YOUR responsibility to be aware of this policy and to act
accordingly. Please refer to the Academic Registry Guidance at
https://icity.bcu.ac.uk/Academic-Services/Information-forStudents/Assessment/Avoiding-Allegations-of-Cheating
The basic principles are:
• Don’t pass off anyone else’s work as your own, including work from “essay banks”.
This is plagiarism and is viewed extremely seriously by the University.
• Don’t submit a piece of work in whole or in part that has already been submitted for
assessment elsewhere. This is called duplication and, like plagiarism, is viewed
extremely seriously by the University.
• Always acknowledge all the sources that you have used in your coursework
assignment or project.
• If you are using the exact words of another person, always put them in quotation
marks.
• Check that you know whether the coursework is to be produced individually or
whether you can work with others.
• If you are doing group work, be sure about what you are supposed to do on your
own.
• Never make up or falsify data to prove your point.
• Never allow others to copy your work.
• Never lend disks, memory sticks or copies of your coursework to any other student in
the University; this may lead you being accused of collusion.
By submitting coursework, either physically or electronically, you are confirming that it is your
own work (or, in the case of a group submission, that it is the result of joint work undertaken
by members of the group that you represent) and that you have read and understand the
University’s guidance on plagiarism and cheating.
You should be aware that coursework may be submitted to an electronic detection system in
order to help ascertain if any plagiarised material is present. You may check your own work
prior to submission using Turnitin at the Formative Moodle Site. If you have queries about
what constitutes plagiarism, please speak to your module tutor or the Centre for Academic
Success.
3
Electronic Submission of Work
It is your responsibility to ensure that work submitted in electronic format can be opened on
a faculty computer and to check that any electronic submissions have been successfully
uploaded. If it cannot be opened it will not be marked. Any required file formats will be
specified in the assignment brief and failure to comply with these submission requirements
will result in work not being marked. You must retain a copy of all electronic work you have
submitted and re-submit if requested.
Learning Outcomes to be Assessed:
1 Create object-oriented programs in C++ making use of class libraries.
2 Develop and apply testing and debugging strategies to C++ programs.
3 Utilise code optimisations, including compiler optimisations, and apply them to a
program.
4 Select and use code profilers to determine performance of a program and devise a
strategy to optimise the program to meet space and time requirements.
Assessment Details:
Title: Developing a 2D shooting game using C++
Style: Milestones, Code and Video Demonstration
Rationale:
This assessment has been designed to incorporate several areas within game development that are
recognised as key skills when working in industry. A pass grade in this assessment will demonstrate
that you have enough skills to develop your own software and implement the strategies to test,
profile and optimise your code to make a product which meets industry standards.
Description: Your task is to develop a 2D shooting game in C++. This game must use the SDL2
(https://www.libsdl.org/) development library to implement graphics. The game may take inspiration
and amalgamate from other existing games such as space invaders but must not attempt to replicate
entirely the game mechanics of any existing commercial game. Graphics and other game assets can
be used from online sources but must be referenced within your README markdown file within your
project directory. Any use of external code from online sources more than three lines long which are
copied without modification must be referenced within the code as a code comment which contains a
URL to the source of information and the date of access.
Alongside developing the game, you must use code profiling to determine the performance of your
software and devise a strategy to optimise the program to meet time and space requirements. You
should utilise code optimisations, including compiler optimisations and apply them to your program.
Finally, as a part of developing professional skills you will implement your code using version control,
specifically a GitHub repository. As part of the assignment deliverables you will be required to
commit your work through GitHub which will be checked by your tutor intermittently.
4
Assessment Tasks:
Milestone 1 (5%) - Week 6
Demonstrate your project is set up on GitHub along with a working Game Loop implemented and
have a finalised design of your game which identifies two unique game mechanics which will be
implemented.
Milestone 2 (5%) - Week 9
Demonstrate a basic prototype which implements at least 1 of the required game components. You
should also demonstrate continued professional development techniques by implementing GitHub
into your workflow.
Milestone 3 (5%) - Week 12
Demonstrate an advanced prototype which implements at least 2 of the required game components.
You must perform code profiling and optimisation techniques and demonstrate the statistics of the
data you have gathered.
Final Game (65%)
For this Task, you are working individually on producing a game-based software application written
in C++ which will demonstrate your capabilities of creating 2D tile-based games using low level
languages and graphics libraries. You must use C++ and the SDL library for this assignment.
Required Components: In order to meet a pass grade in this module, your game should contain all
the required components.
1. Evidence the ability to shoot at enemy entities and demonstrate collision detection
mechanics.
2. Implementation of a game map which uses tiled mapping mechanics.
3. Implementation of scoring mechanics which can be measured and is demonstrated in a
graphical user interface.
Extensions: Extra merit can be achieved by implementing further advanced game mechanics. Some
ideas are listed below. If you intend to implement advanced mechanics that are not listed here, then
it is advised that you discuss these with your tutor first. Up to 20 additional marks can be added to
your final demonstration for this.
4. Implement game sound effects and music using a chosen external library.
5. Menu screens, high scores and loading screens.
6. Load game configurations (such as map layout, high scores and settings) from external files.
Encryption and checksums could be used to prevent access and modification.
7. Advanced path finding techniques for enemies such as the A* search algorithm.
8. Special effects such as particles, playing video files and using animations.
Video (20%)
Alongside the entire source code and assets required for the project you should submit a video. Your
video submission should be a maximum of 10 minutes in duration and demonstrate key aspects of
your work and be used as a portfolio showcase of the development work. At least two minutes of the
video should be dedicated to gameplay footage.
The video narrative should rationalise the following:
• An overview of your project and an early specification of what you set out to be doing.
• Any problem solving or research you undertook while writing the program (including looking
at what work others have done in this area), and details coupled with comparisons of
mathematical solutions or algorithms you used.
• The internal class structure of your project and the reasons for laying it out like this.
5
• A high-level description of your program describing how it works and justifying the design and
technical choices you made.
• The video should illustrate performance metrics you have gathered and present any
optimisation techniques you have used.
• A critical analysis of your program, identifying its strengths and weaknesses. This can
potentially consider time and space complexity considerations but should also consider
testing and algorithm correctness.
Additional information:
For advice on writing style, referencing and academic skills, please make use of the Centre
for Academic Success: https://icity.bcu.ac.uk/celt/centre-for-academic-success
Workload: This assessment is equivalent to 4000 words and a typical student would be
expected to take 40 hours to pass this assessment.
Transferable skills:
This module will involve the following skills which are transferrable to other modules as well
as in industry:
• Mathematical and Algorithmic Knowledge and Application
• Presentation and speaking
• Software design
• Version Control
• Object oriented programming
• Software testing
• Software performance profiling
6
Marking Criteria:
Learning
Outcomes
1
Create
objectoriented
programs in
C++ making
use of class
libraries.
2
Develop and
apply testing and
debugging
strategies to C++
programs.
3
Utilise code
optimisations,
including compiler
optimisations, and
apply them to a
program.
4
Select and use code
profilers to determine
performance of a program
and devise a strategy to
optimise the program to
meet space and time
requirements.
Milestone 1 (5%) – Week 6
Tasks: (LO1, LO2) Marks
available:
GitHub repository has been created for the project with at least one code
commit.
50
Basic game loop has been created with update and draw functions within a
loop.
25
Game design complete. Identify two unique game mechanics which must be
applied within the game.
25
Milestone 2 (5%) – Week 9
Tasks: (LO1, LO2) Marks
available:
Basic game prototype which demonstrates at least one of the required game
components.
75
Code has been continuously committed through GitHub repository with
suitable titles and comments for commits.
25
Milestone 3 (5%) – Week 12
Tasks: (LO1, LO2) Marks
available:
At least two of the required components has been implemented into the game. 60
Code has been continuously committed through GitHub repository with
suitable titles and comments for commits.
20
Initial statistics of performance have been gathered through code profiling. 20
Final Game (65%)
Note: The number of marks awarded for each element within this table will depend on the
quality of the implementation. Each of the elements of the marking table are separate and
do not depend on other features being implemented in order to achieve the marks. For
example: To be awarded 4 marks for implementing a circle collider, you do not have to
implement a box collider first.
Tasks: (LO1, LO2, LO3, LO4) Marks
Available:
Game Implements appropriate player shooting mechanics.
• Player can control shooting with a keyboard and/or mouse (4 marks)
10
7
• Appropriate memory techniques have been considered for shooting
performance (i.e. object pooling) (6 marks)
Game implements collision detection mechanics:
• Box colliders (6 marks)
• Circle colliders (4 marks)
10
Tiled mapping:
• Mapping with different images for tiles (4 marks)
• Collision within mapping (4 marks)
• Ability to change game tiles within gameplay (2 marks)
10
User interface:
• Player score (5 marks)
• Additional non-text elements, such as health bars. (5 marks)
10
Rationalised code profiling and performance statistics, evidenced via testing. 10
Justified code optimization and resultant increases in performance measures. 10
Animated game elements. 5
Implementation of sound and audio:
• Sound effects (3 marks)
• Background audio (2 marks)
5
Game data reading or writing from/to custom external files (Loading formats
such as PNG through SDL does not count):
• Text files (2 marks)
• Binary files (3 marks)
• Additional file security features (5 marks)
10
Showcase of additional advanced game features. See Extensions for
examples.
20
Video (20%)
Tasks: (LO1, LO2, LO3, LO4) Marks
available:
10-minute video. Mp4 container, h264 video encoding and AAC audio
encoding
25
Video has at least a 2-minute segment dedicated to gameplay footage with
appropriate narration.
25
Video is edited to improve engagement. 25
Video uses intelligent annotation and narrative throughout that addresses the
technical descriptions required.
25
Submission Details:
Format:
Your final demonstration must be uploaded to Moodle. For milestone deliverables you are to use
your GitHub classroom repository for the elements required for each milestone.
Note that for your game implementation you must upload all the source code and resources, e.g.
model files, sound files, texture files, etc. for the tutor to be able to build and run your scene without
modification. Tutors will not modify your source code to make it build and run. You will lose marks if
8
you submit an implementation that cannot be built and run on the tutor’s PC or the PC mentioned in
your submitted README markdown.
Your directory structure for the submission should be as follows:
• firstname_lastname_id
- code
- bin
- README.md (make appropriate use of this in your GitHub repo)
- video.mp4 (h264/aac)
Please submit an archive file (7z/zip) containing the following:
• code: complete source code with appropriate build files for compiling and asset files so that it
will be able to run. Build files should be via a MS Visual Studio 2019 project, asset files
should all be relatively linked so no path changes are required.
• bin: a Windows executable (compiled in release-mode) with all required asset files and
libraries relatively accessible. Please do not submit any unnecessary and large build files.
Please also do test that your executable runs on a PC in the Games lab, MP135.
• README: a simple markdown file. Provide the clearly labelled file in your project directory
explaining how to run and use your program. An in-program user guide can also be provided.
Note the tested PC in MP135. The user guide should be where you cite any references.
• video: A video using an mp4 container, with h264 video encoding, AAC audio encoding. This
video should be a maximum of 10 minutes in duration and summarise the key achievements
of the project. The video should make use of annotation and audio narrative.
Regulations:
• The minimum pass mark for a module is 40%
• Re-sit marks are capped at 40%
Full academic regulations are available for download using the link provided above in the IMPORTANT
STATEMENTS section
Late Penalties
If you submit an assessment late at the first attempt then you will be subject to one of the
following penalties:
• if the submission is made between 1 and 24 hours after the published deadline the
original mark awarded will be reduced by 5%. For example, a mark of 60% will be
reduced by 3% so that the mark that the student will receive is 57%. ;
• if the submission is made between 24 hours and one week (5 working days) after
the published deadline the original mark awarded will be reduced by 10%. For
example, a mark of 60% will be reduced by 6% so that the mark the student will
receive is 54%.
• if the submission is made after 5 days following the deadline, your work will be
deemed as a fail and returned to you unmarked.
The reduction in the mark will not be applied in the following two cases:
9
• the mark is below the pass mark for the assessment. In this case the mark achieved
by the student will stand
• where a deduction will reduce the mark from a pass to a fail. In this case the mark
awarded will be the threshold (i.e.40%)
Please note:
• If you submit a re-assessment late then it will be deemed as a fail and returned
to you unmarked.
Feedback:
Marks and Feedback on your work will normally be provided within 20 working days
of its submission deadline via Moodle.
Where to get help:
Students can get additional support from the library for searching for information and
finding academic sources. See their iCity page for more information:
http://libanswers.bcu.ac.uk/
The Centre for Academic Success offers 1:1 advice and feedback on academic
writing, referencing, study skills and maths/statistics/computing. See their iCity page
for more information: https://icity.bcu.ac.uk/celt/centre-for-academic-success
Additional assignment advice can be found here: https://libguides.bcu.ac.uk/MA
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代写math 1151, autumn 2024 w...
2024-11-14
代做comp4336/9336 mobile dat...
2024-11-14
代做eesa01 lab 2: weather an...
2024-11-14
代写comp1521 - 24t3 assignme...
2024-11-14
代写nbs8020 - dissertation s...
2024-11-14
代做fin b377f technical anal...
2024-11-14
代做ceic6714 mini design pro...
2024-11-14
代做introduction to computer...
2024-11-14
代做cs 353, fall 2024 introd...
2024-11-14
代做phy254 problem set #3 fa...
2024-11-14
代写n1569 financial risk man...
2024-11-14
代写csci-ua.0202 lab 3: enco...
2024-11-14
代写econ2226: chinese econom...
2024-11-14
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!