The goal of this project is to get up to speed doing Unreal Engine 4 (UE4) development, including familiarizing with the editor, adding code - both Blueprints and C++ - and importing art assets.
First, you will setup your UE4 development environment. Then, you will familiarize yourself with the UE4 editor through a brief tutorial. After that, work through a tutorial that has you make the beginnings of a first person shooter (FPS) game using UE4. You will do something similar for a2d tutorial, making the start of a 2d game. Lastly, you will show your understandings of UE4 basics by extending one of the two tutorials (either the FPS or the 2d) with custom code, a "10%" extension.
Doing the above will help better understand the UE4 game engine by developing a game from a game programmer's perspective, providing the foundational knowledge needed for building your own game from scratch in UE4.
You will work alone for this project. This will ensure you have the development skills needed for subsequent projects, even if your tasks when you make your game in a team are partitioned. While you can discuss the project with other students and even help each other debug code, you must write all code yourself.
To setup your UE4 development environment, do the following steps. If using one of the school labs (e.g., the IMGD lab or the Zoo lab), steps #2 and #3 are already done.
Go through the Unreal Editor Quick Start Guide:
"The Unreal Editor Quick Start Guide walks you through creating a new project, navigating the viewports, creating a new level, placing and editing Actors in your level, as well as the process of building and running your levels"
Go through the Unreal Programming Quick Start Guide:
"Over the course of this tutorial, you will download and install your code editing software, create a new project, add a new C++ class, then compile your project and add an instance of your new class to your level."
Go through the First Person Shooter C++ Tutorial:
"Over the course of this tutorial, you will transform a blank project template into the beginnings of a first-person shooter, with a character that moves and strafes, camera control, and projectiles you can fire at the environment. Using C++, you will create a GameMode, Character and HUD."
Go through the Paper 2D Tutorial (doc, pdf) using these assets:
"This tutorial is designed to give you a quick intro to using Paper2D in Unreal 4. It's recommended that you already have some background knowledge of how to use Unreal 4, although a lot of the basics will be explained here as well. For this tutorial we will be making a very basic game with a space ship that can fly around. We won't be adding gameplay to it as this tutorial focuses more on how you can use Unreal for your 2D game."
Extend either the First Person Shooter (FPS) tutorial game or or the Paper 2D tutotiral game in some fashion. This means adding additional code (C++ or Blueprints) to extend the game functionality in some meaningful way by 10%. The actual extension is up to you. Some suggestions for the FPS game are in the hints section, but these suggestions are not the only way of extending the game - the actual extension is up to you. You will indicate what you have done with brief documentation when you turn in the assignment.
Note that "10%" is rather subjective. Do not concentrate on whether you have added 10% - just use this homework to learn as much as you can from the tutorials and documentation. It is very hard (although not impossible) to do less than 10% if you just spend some time experimenting.
The Tutorial can mostly be followed as-is. However, depending upon the version of UE4 that you are using, there may be a few differences. We have documented some specific differences. If you get stuck or encounter a difference that worries you, you might consult these notes.
If you are having trouble getting started with your "10%" modification, here is some advice:
Some suggestions for extensions to the FPS tutorial (although some will apply for the Paper 2D tutorial, as well):
Some of the above you may need to combine to get to 10%, depending upon the complexity of your implementation. This is admittedly vague, but the goal is for you do do enough to be competent in UE4.
Your assignment is to be submitted electronically via turnin by 11:59pm on the day due. You must hand in the following:
.exe
).
[project]/Config
folder,
open DefaultEditor.ini
, find the line
"bDontLoadBlueprintOutsideEditor=true" and change it to
"bDontLoadBlueprintOutsideEditor=false".
.exe
created runs outside of your UE4
editor.
Important! Upload the .exe
to Web site where
we can download it. This can use your favorite way of distributing
files (WeTransfer, Dropbox, OneDrive, Google Drive, MediaFire,
TinyUpload, ...). Or, you can upload it to a FusionForge project
and give the TA access permission.
.exe
has been uploaded.
To submit:
.exe
(see above).
https://ia.wpi.edu/imgd4000/
Use your WPI username and password for access. Visit:
Tools → File Submission
Select "Project-Quickstart" from the dropdown and then "Browse" and select
your assignment (claypool.zip
).
Make sure to hit "Upload File" after selecting it!
If successful, you should see a line similar to:
Creator Upload Time File Name Size Status Removal Claypool 2016-03-10 22:40:03 claypool.zip 2508 KB On Time Delete
IMPORTANT!
After submitting your project, you must arrange a time to provide a demonstration with the TA. On the Instruct Assist website, visit:
Tools → Demonstrations - List → Project-Quickstartand select an available slot. Demonstrations will be:
Show up to your slot with game ready and loaded! Don't spent any of your 15 minutes logging in, connecting to the network, loading your game ...
Grading Guidelines | ||||||
---|---|---|---|---|---|---|
Tutorial | 35% | Doing the tutorials without any additional customization is worth about 1/2 the grade. While you will have learned a substantial amount about the UE4 game engine, you will not yet have demonstrated an in-depth understanding of the engine capabilities. | ||||
Customization | 60% | Extending or modifying a tutorial game with custom work is worth more than 1/2 the grade. Doing so will begin to flex your technical muscles and show competence using the Unreal Engine. This is essential in moving forward. | ||||
Documentation | 5% | Not to be overlooked is including the documentation provided, as well as having that documentation be clear, readable and pertinent to the assignment. This includes the README described above as well as having well-structured and commented code is typically part of the Documentation requirement, too. Getting in the habit of good documentation is important for large software projects, especially when done in teams (e.g., your game for this course). |
Below is a general grading rubric:
100-90. The submission clearly exceeds requirements. The tutorial game works without problems. The custom extensions exhibit an unusually high degree of effort, thoughtfulness, technical ability and insight. Documentation is thorough and clear.
89-80. The submission meets requirements. The tutorial game works without significant problems. The custom extensions exhibit substantial effort, thoughtfulness, technical ability and/or insight. Documentation is adequate.
79-70. The submission barely meets requirements. The tutorial game may operate erratically. The custom extensions exhibit marginal effort, thoughtfulness, creativity and/or insight. Documentation is missing details needed to understand the contributions and/or to build the program.
69-60. The project fails to meet requirements in some places. The tutorial game may crash occasionally. The custom extensions are of minor scope, or exhibit perfunctory effort, thoughtfulness, technical ability and/or insight. Documentation is inadequate, missing key details needed to understand the contributions and/or to build the programs.
59-0. The project does not meet requirements. The tutorial game crashes consistently or does not compile. The custom extensions exhibit little or no evidence of effort, thoughtfulness, technical ability and/or insight. Documentation is woefully inadequate or missing.
Return to the IMGD 4000 Home Page
Send all questions to the TA mailing list (imgd4000-staff at cs.wpi.edu).