首页 > > 详细

FIT2096代做、辅导C++语言程序

FIT2096 - Games Programming 1
ASSIGNMENT 3a [10%] - Individual Assessment
Game Prototype
SUBMISSION DUE: Friday Week 07, 11:55 PM
Covers Topics from Weeks 1 - 5
Late Penalty: 10% of total marks per day late
Learning Outcomes
Completion of this assignment demonstrates the following learning outcomes:
● Create game programs that demonstrate an understanding of the programming game loop
and how to set it up
● Create game programs that demonstrate an understanding of DirectX, including textures,
displaying sprites, animation, text, and rendering
● Create game programs that demonstrate an understanding of physics in the games
programming context, including basic movement and interaction
● Create game programs that demonstrate an understanding of Direct 3D rendering, including
geometry, models, cameras, textures and lighting
Brief
Across the semester you will be building a game prototype for a game based on a prompt selected
from the provided list below. This assessment is broken down into 3 submissions, with each
focussing on specific aspects of the prototype.
This assignment will be completed together with your Assignment 2. More information can be found
in the brief for A2a
The prompts that you can select from are as follows:
● You are trying to steal an enemy crown. Navigate the environment whilst escaping multiple
enemies.
● You are trapped in a dungeon full of deadly puzzles. You must solve a sequence of puzzles
in your cell to escape
● You have been provided a new prototype gadget for fast traversal. You must complete a
series of platforming challenges
● You have encountered the big bad boss. You need to use multiple weapons to defeat them
● You are a ghost that can control other creatures. Possess creatures with different abilities to
escape
Submission Requirements
Upload the link to your Git repository via Moodle. You will be assessed based on your most recent
commit prior to the due date.
Make sure the following people have maintainer access:
● josh.olsen@monash.edu
● nic.pallant@monash.edu
● jason.haasz@monash.edu
● sandro.prakoso@monash.edu
1
FIT2096 - Games Programming 1
Use of Generative AI in Assessment
In this assessment, you can use generative artificial intelligence (AI) in order to create
backgrounds for your main menu and any billboards within the game, Any use of generative AI must
be appropriately acknowledged (see Learn HQ).
Where used a readme text file MUST be included that contains the following information about
each generative AI asset
● Name of asset
● The prompt used to generate the asset
● Use in game (background, etc.)
● The tool used to create the assets (Dall-e, Stable Diffusion, MidJourney, etc.)
● The model used if known (e.g. SDv1.5 https://huggingface.co/runwayml/stable-diffusion-v1-5)
Task: Core Gameplay
For this first submission you are creating the base of the game, with your core mechanic
implemented and functional. The early weeks labs will help you build the skills needed to achieve
this goal, with additional outside study required for full completion of the tasks.
All tasks must be completed in C++ unless explicitly stated otherwise.
The submission of this prototype must include the following components:
● Version Control via Git & GitLab
● Core Mechanic
Version Control via Git & GitLab:
Suggested Completion Date: End of Week 4
When building your prototype you must store your work within a Git Repository using the Monash
FIT GitLab server (https://git.infotech.monash.edu).
This repository should use GitLFS for all files within the Content folder (game assets).
GitIgnore File
The repository must use a .gitignore file to exclude the following folders from the repository:
● .vs
● .idea
● Binaries
● Build
● DerivedDataCache
● Intermediate
● Saved
Instructions for setting up this repository can be found in the Week 1 lab tasks on Moodle.
Additional material is also available in the software installation guide in the supplementary under
Week 0 on Moodle. Commits to the repository being made weekly.
2
FIT2096 - Games Programming 1
Core Mechanic
Suggested Completion Date: Week 6
Your prototype must include a major core mechanic that helps define the gameplay in the project.
Choice of mechanic will be based on the prompt chosen and your own decisions. You should
discuss this with your demonstrator to ensure the mechanic is not too difficult or easy to achieve.
What is a core mechanic?
A core mechanic is a mechanic that has a major impact on the gameplay and is recurring
throughout the game. Examples of core mechanics include:
● Being able to build structures in Fortnite to hide or trap non-player characters (NPC)
● The ability to attack or disrupt an NPC
● Using a magic spell to remove an obstacle
● Reversing time to give yourself a second chance
You have freedom to choose what mechanics you would like to create for your prototype, however
they must be approved by your demonstrator. This process is to ensure you do not choose to create
a mechanic that is too trivial or too difficult.
User Interface
Suggested Completion Date: Mid-Semester Break
Your prototype must include two different user interfaces (UI); a main menu and an in-game UI.
Each of these UIs must be created with a combination of C++ classes and UI blueprints as
demonstrated in the Week 5 Lab.
Main Menu
The main menu UI must be created inside of its own level with its own GameMode class written in
C++. At minimum the UI must contain the following:
● A background colour / image that matches the theme of your game
● A title for your game
● A “Play Game” button that takes the player to the Game Level
● A “Quit” button that closes the game
In-Game UI
The in-game UI must be created within the main game level. This UI should provide relevant
information to the player based upon your game mechanics and design. This should also be
completed in C++ making use of bindings. Examples for this include:
● Health
● Action Points / Mana / Stamina
● Visibility
● Currently held items
● Current weapon
3
FIT2096 - Games Programming 1
Code Quality
Suggested Completion Date: Continual Updates Weekly
Your prototype must be created with code quality as a major consideration. As part of this, you must
ensure that proper indentation is used along with consistent naming conventions for classes,
functions and variables. The use of the Tick function within Actors should be carefully managed to
ensure that only critical elements are updated each frame.
Proper Indentation
All code should be properly formatted to ensure correct indentation is used. You must use a tab or
4 spaces for each step of indentation.
Consistent Naming Conventions
All code within the project should use the following conventions:
● Variable names must use PascalCase
● Function names must use PascalCase
● Boolean values must include a b prefix (e.g. bIsObjectFalling)
● All functions that return a boolean must ask a true/false question (e.g. IsObjectAboutToFall)
● Code should be self-documenting. All functions and variables must indicate their function by
name
More information on coding conventions can be found in the Unreal Documentation
Appropriate Use of Tick
The Tick function inside of Actors should have its use minimised to ensure that unnecessary
calculations are not done every single frame. Your code should consider the following:
● The Tick function should be disabled in Actors where updates are not needed every frame
● Where possible timers should be used for actions that are required at set intervals that are
not each frame
Appropriate use of Folders in Content Browser
Assets contained within the Content Browser must be neatly maintained and stored using a folder
structure to keep assets organised. At minimum the folder structure should include the following:
● Blueprints
● Textures
● Materials
● Meshes
● Levels
● Characters
○ Player
○ NPC
● Effects
● Sound
● UI
● Input
● Sequences
4
FIT2096 - Games Programming 1
Assessment Criteria
Your assignment will be marked on the following criteria listed below.
● Git Repository Setup - 15 marks
○ Setup of git repository with GitLFS and gitignore being utilised
○ Weekly commits from week 5 onwards
● Implementation of Core Gameplay Mechanic - 40 marks
● User Interface - 25 marks
○ Main Menu UI
○ In-Game UI
● Code Quality & Optimisation - 20 marks
○ Proper Indentation
○ Consistent Naming Conventions
○ Appropriate use of Tick
○ Appropriate use of folders in Content Browser
A detailed marking rubric is provided on Moodle.
Feedback Information
You will receive a mix of formal and informal feedback for this assessment. Demonstrators will
provide feedback in your scheduled lab sessions informally the week after submission. Formal
feedback will be provided within 10 business days of submission
5
FIT2096 - Games Programming 1
Where to get help
If you are struggling with anything or need additional support please do not hesitate to reach out
using any of the following support services:
English language skills
if you don’t feel confident with your English.
● Talk to English Connect: https://www.monash.edu/english-connect
Study skills
If you feel like you just don’t have enough time to do everything you need to, maybe you just need a
new approach
● Talk to an academic skills advisor: https://www.monash.edu/learnhq/consultations
Things are just really scary right now
Everyone needs to talk to someone at some point in their life, no judgement here.
● Talk to a counsellor: https://www.monash.edu/health/counselling/appointments
(friendly, approachable, confidential, free)
Things in the unit don’t make sense
Even if you’re not quite sure what to ask about, if you’re not sure you won’t be alone, it’s always
better to ask.
Ask in the forums, book / attend a consultation or email your demonstrator
● Forums Link: https://lms.monash.edu/course/view.php?id=140783§ion=3
● Consultation Schedule: https://lms.monash.edu/course/view.php?id=140783§ion=2
● Tutor Contact Information: https://lms.monash.edu/course/view.php?id=140783§ion=0
I don’t know what I need
Everyone at Monash University is here to help you. If things are tough now they won’t magically get
better by themselves. Even if you don’t exactly know, come and talk with us and we’ll figure it out.
We can either help you ourselves or at least point you in the right direction.

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

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