联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2023-04-15 05:51

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.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp