2019/3/13 E-Learning Support System – Coursework Specification
Coursework Specification
CSC8506 Engineering Gaming Solutions within a Team
Team Project Code
Due 16:30:00, Friday, 29 Mar 2019
Maximum mark is 60
CSC8506 Team project
The challenge is to develop a game across multiple platforms (PC and PS4). The content may vary between the PC and PS4 builds of your game to suit the hardware capabilities, but the central game engine must be shared across both platforms.
The central gameplay mechanic is to bring together as many objects or characters in the game in order to take over the world. Any environment object and/or non player character that the player touches will join your team. The player controls an avatar (which may be as simple as a ball), as it roams the world, picking up extra forces as it goes. As the group gets bigger, it can tackle and takeover larger and larger objects or groups of characters.
The goal could be to take over all the elements in the game world, or to reach an endpoint with the maximum score (ie amount of environment that has been assimilated), or be the largest player at the end of a session.
Some gameplay hazards present the player with obstacles. This could be AI controlled opponents or other challenges. Powerups can be available in the level which should have impressive effects on gameplay and visuals.
Ideally the game should be multiplayer. This can be splitscreen on a single machine (especially PS4), and/or fully online across multiple PCs.
Features
The project description is purposefully lightweight so that, as a team, you can focus on the areas which most interest you – gameplay, lighting, physics, AI, particles, multiplayer, etc.
There are quite a few different ways the specification could be interpreted. For inspiration, a couple of commercial examples are Katamari Damarcy (where elements of the world are rolled up into a bigger and bigger ball), or Crowd City (where characters in the world join an increasingly large swarm of people).
The design is also purposefully abstract; there is no need to take complex art models from Turbosquid or Blender (no marks are assigned for art content).
https://ness.ncl.ac.uk/auth/info/showex.php?instid=1&year=2018&llevel=1&exid=71675&did=46275&depid=16&mode=7&iid=140&menu=27 1/4
2019/3/13 E-Learning Support System – Coursework Specification
The game must feature:
A high number of objects and/or characters (this is a technical challenge to maintain a good framerate)
In game HUD
Debug mode must show framerate, timing costs of features in milliseconds, memory footprint, physics box frameworks.
The game must pass the Technical Requirements Checklist (see below).
Some optional ideas, but feel free to think of your own (note these ideas are not evenly weighted in terms of marks awarded, as some are much easier to implement than others):
AI controlled opponents
Multiple levels or a large scale world.
Audio effects.
Multiplayer. At least four online players on PC build (one player per PC) At least two players on PS4 build (splitscreen on single PS4).
Android device acting as second screen for the PC build.
PS VITA integration or crossplatform version of game.
Further notes:
The basis for the game code should be the NCL framework you used for previous coursework.
MIddleware can be incorporated into your build, but not engines (i.e. you can’t use Unreal Engine or Unity 3D as the basis of the technology). If you choose to use any middleware you need to check the agreement for its use. You must use source control (Git https://gitscm.com/ ) and continuous integration (Jenkins https://jenkins.io/ )
It is recommended that you also use Slack (https://slack.com/ ) to aid team communication.
This is not an exercise in game design, so don’t worry too much about making a perfectly balanced game loop. Concentrate on the technical aspects and on bringing all the elements together as a coherent package.
Timetable
Project is due on 29th March.
Final build demonstrated and discussed with Gary and Graham in the games lab during the afternoon of Friday 29th March.
Every Friday, there are a set of milestones to be demonstrated and discussed with Gary in the lab. Note all demonstrations are based on the build on the server – all functionality must be incorporated in the main build. A playable game is required throughout. These milestones are:
Week 1 (Friday 1st February 1:00pm)
Fast prototypes assessed and game design agreed
Roles and responsibilities for each team member defined. Source control and continuous integration in place Middlewares identified.
Week 2 (Friday 8th February 1:00pm)
Functional prototype of core gameplay in playable form
Each code module interface implemented (many with empty or placeholder functionality).
https://ness.ncl.ac.uk/auth/info/showex.php?instid=1&year=2018&llevel=1&exid=71675&did=46275&depid=16&mode=7&iid=140&menu=27 2/4
2019/3/13 E-Learning Support System – Coursework Specification
Cross platform framework in place, compiled and running on PC
and PS4.
Week 3 (Friday 15th February 1:00pm)
Demonstrate how each code module has been fleshed out, and is utilised cleanly through its interface.
Week 4 (Friday 22nd February 1:00pm)
All middlewares integrated with demonstration of functionality.
Week 5 (Friday 1st March 1:00pm) Team defined milestones. Week 6 (Friday 8th March 1:00pm) Team defined milestones.
Week 7 (Friday 15th March 1:00pm)
Alpha deadline – all major functionality in place.
Week 8 (Friday 22nd March 1:00pm)
Beta deadline – all functionality complete, ready for bugfixing, TRC testing, and polish
Any further features need full risk assessment at this meeting.
Week 9 (Friday 29th March 1:00pm) Gold build
The project should be developed as a team during normal working hours (i.e. more or less 9am to 5pm). Agree core hours (at least 4 continuous hours) when whole team is present every day.
Hold a brief daily standup meeting to agree what the next tasks are, and identify issues. Inform Gary of the time of the daily meeting so that he can attend as an observer.
Marks
60 for technical contribution and code quality
Technical contribution to codebase on significant features
Integration of features into the codebase to be demonstrated (i.e. how they are interfaced).
40 for contribution to content quality
The quality and complexity of the features implemented (are features complete to a professional level to be releasable in a commercial game). Integration into the overall design of the game.
50 for teamwork and project planning
Teamwork is monitored throughout the project including the weekly milestone discussion and contribution matrix document.
Overall (out of 150)
A “first class” mark will be awarded if the individual’s contribution has been on significant identifiable sections of the code base, and the work has been carried out in a manner conducive to team working and commercial practice.
Deliverables
Demonstrate the game on one lab PC and PS4 to Gary and Graham. Highlight the technical achievements and challenges. Show that it meets the TRCs. Source code, with suitable comments submitted via NESS
Videos of game submitted to NESS in a document with Youtube links
Team contribution matrix, using the template provided by Gary.
https://ness.ncl.ac.uk/auth/info/showex.php?instid=1&year=2018&llevel=1&exid=71675&did=46275&depid=16&mode=7&iid=140&menu=27 3/4
2019/3/13 E-Learning Support System – Coursework Specification
Submit this exercise
Weekly matrix emailed to Gary (one per team)
Final matrix for entire project submitted to NESS (one per team)
Team Project Technical Requirements Checklist
In order to pass the Team Project, the following TRCs must be met
Framerate. Framerate on lab PC, in fullscreen, must be at least 40fps. Framerate on PS4 must be at least 20fps.
No debug info visible. In default mode, no debugging information should appear on screen – inclusion of a mode which displays debug info is required (e.g. via a key combination), but the default mode should only show what the player would see. Also no debug info should be printed to the console window.
Pause button. It must be possible to pause, and resume, the game if in single player or splitscreen mode. In pause mode any audio must be muted. An onscreen message should show that the game is paused. A “quit game” option should also appear on the pause screen.
Loading screens. The screen should not be blank for more than 0.5 seconds. If required use a loading screen. The screen should never be completely static for more than 0.5 seconds (use an animated icon to show loading is taking place or the game is paused and the game has not crashed). Exit the game cleanly. Quitting the game, or closing the window, should not cause it to hang, or leave anything running in the background.
Learning Outcomes
Gain skills required to work effectively within a team of software engineers. Become familiar with commercial practices for governing collaborative code development.
Gain experience of working in groups under time and resource constraints. Gain commercially relevant skills related to effective project completion
Last updated 03 Jan 2019 12:51:08
https://ness.ncl.ac.uk/auth/info/showex.php?instid=1&year=2018&llevel=1&exid=71675&did=46275&depid=16&mode=7&iid=140&menu=27 4/4