Bachelor
2020/2021
Game Development in Unreal Engine 4
Category 'Best Course for Broadening Horizons and Diversity of Knowledge and Skills'
Category 'Best Course for New Knowledge and Skills'
Type:
Elective course (Software Engineering)
Area of studies:
Software Engineering
Delivered by:
School of Software Engineering
Where:
Faculty of Computer Science
When:
3 year, 1, 2 module
Mode of studies:
offline
Instructors:
Olga V. Maksimenkova
Language:
English
ECTS credits:
5
Contact hours:
60
Course Syllabus
Abstract
Nowadays, actual bank of digital entertainment technologies is very big. It does not only contain virtual and augmented reality (VR/AR), but also deals with collaboration and socialization and artificial intelligence (AI). This course introduces the games development and entrepreneurship. It includes a systematization of games’ genres, a review of approaches to games development, a classification of games’ engines. We will study following primary topics: the specifics of games applications lifecycle management (ALM), the determining and modelling of a game user, the transition from a game idea to human-computer interaction design (UX), the developing games for the most popular modern platforms. A Bachelor of Software Engineering, who works in the field of game development should be familiar with as technological as management features of the gaming business. This course addresses the following questions: • How we can use electronic devices for entertainment? • What are the features and constraints of modern devices from the gamer point of view? • How to use modern development kits in game development? • Is there a difference between games, which earned millions, and the projects, which were not compensated even their development cost? • How to evaluate an overall user’s satisfaction and to suggest him the best experience on the selected platforms? • How to integrate various development, ranking, feedback tools in game construction?
Learning Objectives
- This course introduces the games development and elements of software engineering of games. The includes a review of games development approaches and their applications. We will concern on three main topics: the determining and modelling of a game user, software engineering of games for modern platforms, and game development and programming.
Expected Learning Outcomes
- an ability to design a game within realistic constraints such as economics, environmental, social, political, ethical, health and safety, manufacturability, and sustainability (ИК-4, ИК-6, ИК-7, ИК-12, ИК-14, ИК-16)
- an ability to use development techniques, skills and tools necessary for games development practice (ИК-17)
- an ability to design, validate, implement, and maintain games (ИК-9, ИК-17)
- an ability to communicate effectively (СК-Б8, СК-Б9б СЛК-Б4)
- an understanding of professional and ethical responsibility (СЛК-Б1, СЛК-Б2, СЛК-Б9)
- an ability to design, validate, implement, and maintain games (ИК-9, ИК-17);
- an ability to communicate effectively (СК-Б8, СК-Б9б СЛК-Б4);
- an ability to use development techniques, skills and tools necessary for games development practice (ИК-17);
Course Contents
- Gaming industry, games platforms. Game design: mechanics and narration.History of computer games. Genres. Gaming industry. Modern games platforms. Game Design. Game mechanics and narration.
- Game engines. Introduction to Unreal Engine 4: basic terms and concepts.Understanding game engines as software. Game engine components. Popular frameworks for games development overview. 2D and 3D engines, multiplayer support. Unreal engine, Unity, Corona SDK, Marmalade, Autodesk, ARM, LibGDX, etc. UE4: UE introduction. The Launcher, project creating, the templates, 3D Geometry, Rendering and Graphics, Animation and Cinematics, Scripting and code, Audio and sound.
- Level design and content pipelineWhat is level design, interconnections between content and a game's world. Level design. Worlds and levels understanding. Level design patterns. Content asset types. Editor-Created assets. External Content development standards. Blueprints visual scripting, workflow, game programming, framework overview. The Event Graph, Game loops, call in Editor, debugging.
- Users and gamers. Interaction patterns. Gameplay scripting. Gameplay framework overview.Game users and their classifications. Player motivation. Human psychophysiological characteristics. Perception and cognitive biases. Goal setting and motivation. Gamification, game progress, experience, and achievements. Symbolic systems and applied semiotics. Internationalization and localization problems. Behavior and interaction patterns. Education and re-education. User-oriented design principles. Classes in Blueprints. Gameplay framework utilization in UE4. Collisions, objects interaction.
- Software architecture design patterns in games.Games architectural/programming patterns. Blueprint Character, Components, Animations.
- Developing Artificial Intelligence (AI) in games.AI in games. Levels of AI in games. Non-Player Character (NPC), NPC programming in EU4, Behavior tree, AI Perception, Pawn Sensing, EQS.
- Optimizing and DebuggingGameplay debugging, Blueprint debugging. Optimization
- User interface. UI patterns in games.User centered design. UI/UX. Interaction patterns. HUD Types. Unreal Motion Graphics UI Designer. Key widget types. Common panel Types. UI Focus. Animation
- Game testing and analyticsGame difficulty and balance, in-games metrics. Game testing overview.
- Software engineering of gamesRequirements management in gamedev. Game design documentation. Deployment Process in UE4. Packaging Configurations in UE4. Distribution and deployment. Developing as a Team, development methodologies, truck factor, burnout and crunch, source control. Shipping and releasing. Games marketing
- Gameplay Ability SystemGameplay Ability System in UE4
- Native programming in UE4Extending C++ into Blueprints. [optional] Reflection, threads.
Assessment Elements
- Group_project_11
- Home_assingment_11
- In-class_assingment_2
- Group_project_21
- Group_project_22
- Group_project_23
- Reading_list
- Home_assignment_21
Interim Assessment
- Interim assessment (2 module)0.1 * Group_project_11 + 0.1 * Group_project_21 + 0.2 * Group_project_22 + 0.2 * Group_project_23 + 0.1 * Home_assignment_21 + 0.1 * Home_assingment_11 + 0.1 * In-class_assingment_2 + 0.1 * Reading_list
Bibliography
Recommended Core Bibliography
- Categorizing Game Design Elements into Educational Game Design Fundamentals. (2019). Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.75594E53
- Lee, J., Doran, J. P., & Misra, N. (2016). Unreal Engine: Game Development From A to Z. Packt Publishing.
- MacDonald, M. (2018). Mastering C++ Game Development : Create Professional and Realistic 3D Games Using C++ 17. Packt Publishing.
- Porro, S., & Cocchiarella, L. (2019). Use of a Game Engine Artificial Intelligence to Represent People Flows in Architectural Spaces via Geometry and Graphics ; Upotreba game enginea umjetne inteligencije u svrhu predstavljanja protoka ljudi u arhitektonskim prostorima pomoću geometrije i grafike.
- Sara J. Becker, Kelli Scott, Cara M. Murphy, Melissa Pielech, Samantha A. Moul, Kimberly R. Yap, & Bryan R. Garner. (2019). User-centered design of contingency management for implementation in opioid treatment programs: a qualitative study. https://doi.org/10.1186/s12913-019-4308-6
- Staffan Björk, Sus Lundgren, & Jussi Holopainen. (2003). Game Design Patterns. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.E4976D93
- Toftedahl, M., & Engström, H. (2019). A Taxonomy of Game Engines and the Tools that Drive the Industry.
- Williams, K. W. (1999). GPS user-interface design problems [microform] / Kevin W. Williams. Washington, D.C. : Springfield, Va. : U.S. Dept. of Transportation, Federal Aviation Administration, Office of Aviation Medicine ; Available to the public through the National Technical Information Service, 1999.
Recommended Additional Bibliography
- Bulman, J., & Garraghan, P. (2020). A Cloud Gaming Framework for Dynamic Graphical Rendering Towards Achieving Distributed Game Engines.
- Carr-Chellman, A. A. (2007). User Design. Routledge.
- Game development essentials : game artificial intelligence, Ahlquist, J., 2008
- Game development essentials :game QA and testing, Levy, L., 2010
- Game development essentials: game industry career guide, Moore, M. E., 2010
- Game development essentials: game interface design, Saunders, K. D., 2013
- Game development essentials: game project management, Hight, J., 2008
- Guizzo, G., Colanzi, T. E., & Vergilio, S. R. (2019). Applying design patterns in the search-based optimization of software product line architectures. Software & Systems Modeling, 18(2), 1487–1512. https://doi.org/10.1007/s10270-017-0614-9
- Leon Arndt. (2020). Design and Implementation of Player Growth Systems. Exemplified Through a Third-Person Action Game: Vol. 1. Auflage. GRIN Verlag.
- Liu, Y.-T. D. (2017). Understanding Systems Problem Solving: What Sets Expert vs. Great Players Apart in High-Level Gameplay.
- Pedersen, R. E. (2003). Game Design Foundations. Plano, Tex: Jones and Bartlett Publishers, Inc. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=79018