This course focuses on the high-level development of games based on 3D modeling, animation, level design, AI, and C++ programming. Unreal Engine 4 has been selected as one of the primary modern game engines that provides a friendly and intuitive user interface (Unreal Editor) and has demonstrated widespread use throughout the games industry: List of UE4 Games. Using this game engine, this course provides a practical background in high-level game development based on the interdisciplinary fields of computer science, digital animation, modeling, story writing and composition, game theory, music, and human-computer interaction.
Course: CSCI-4920/5920
Course Type: Online
Instructor: Dr. Min Choi
Office: Lawernce St. Center LW-812
Office Hours: MW: 2:00[pm] - 3:30[pm]
Graphics Lab: Monday - Friday: 9:00[am] - 7:00[pm]
This course will use the Unreal Engine to develop games from a high-level perspective that includes level design, asset creation, visual programming, C++ scripting, physical interaction, and animation. Below is an overview list of the core concepts included within this course:
Game Development and Modern Game Engines
Computer Graphics and Game Design
Level Design: 3D Environment Design
Asset Design: Structure, Objects, Materials, and Content Creation
Visual Programming with Blueprints
UE4: Blueprint Games
UE4: C++ Scripting and Development
Sound and Music Composition
User Interface (UI) Development and Cinematics
Dynamics and Game Physics
Character Design
Animation
To see a detailed overview of the course, prerequisites, and requirements see the Course Syllabus
Required Experience: This course does not require any prior knowledge of 3ds max, Maya, or other modeling programs or of the Unreal Engine; however it will be assumed that students are proficient in C++ programming. The list below provides an overview of the basic knowledge required for this course:
Class-based C++ Programming
Game-play experience
Mathematics including Linear Algebra
Unreal builds on class-based C++ programming with several additional customized features integrated into the Unreal development environment, therefore it is critical to have existing C++ programming experience. The following list provides several other topics that are related to game development that will also help in game development:
3D Modeling / Skinning / Texturing
Photography
Concept Art / Drawing
Story boarding / Writing
Any form of animation
Sound or Music Composition
Game development is a highly interdisciplinary field that generally requires several people performing individual tasks to compose a single large project. Since this course provides an overview of game development, each module looks at one of the primary positions within a modern game studio and provides a brief introduction to the role of the developer, the artistic and technical requirements, and an overview of how these components are integrated to build modern games.
The Unreal Engine is an open source C++ game engine that represents one of the industry leading development tools for modern game design. This engine can be freely downloaded by students and comes with all of the C++ source code, assets, and tools required for developing a wide variety of games.
The Unreal Engine has been selected for three primary reasons: (1) being openly available and implemented in C++, the engine is one of the most widely used in the industry (see the incomplete game list), (2) the high-level tools provided by the engine allow for the rapid development of new games (including templates), and (3) the engine is capable of providing the high quality visual effects and graphics see in modern games.
Game development also relies on several other programs that are required for developing the assets that are used within a game. These include static meshes (objects), materials (textures), sounds, and music. Therefore to provide an adequate introduction to the game development pipeline, several additional software packages are generally required. These may include 3D modeling programs (3ds Max), photo editing software (such as Photoshop or Gimp), animation software (Maya), and a primary programming IDE (Visual Studio).
Example usage and video tutorials of the primary tools in game development will be included as required practice for the modules within this course. Additionally, the Unreal Engine provides direct support for Visual Studio as the primary IDE for developing with the engine, therefore development in only facilitated on Windows (game content can be created on any platform but the Unreal Engine development with Visual Studio requires Windows).