Podcast
Questions and Answers
What is the main reason to become a game developer, according to the course?
What is the main reason to become a game developer, according to the course?
To make a career out of helping people have fun
What is the predicted dominant platform for gaming by 2025?
What is the predicted dominant platform for gaming by 2025?
Streaming
What is another predicted trend in the gaming industry?
What is another predicted trend in the gaming industry?
Mixed reality
What is a challenge that game developers face when working on a project?
What is a challenge that game developers face when working on a project?
Signup and view all the answers
What is another challenge that game developers face when working on a project?
What is another challenge that game developers face when working on a project?
Signup and view all the answers
What is an important aspect of web development that web developers need to keep up with?
What is an important aspect of web development that web developers need to keep up with?
Signup and view all the answers
What is one of the roles involved in a game project?
What is one of the roles involved in a game project?
Signup and view all the answers
What is another role involved in a game project?
What is another role involved in a game project?
Signup and view all the answers
What is a question that can help you choose a major that suits you best?
What is a question that can help you choose a major that suits you best?
Signup and view all the answers
What is the main purpose of the game loop in game development?
What is the main purpose of the game loop in game development?
Signup and view all the answers
What are the two main methods of 2D collision detection mentioned in the curriculum?
What are the two main methods of 2D collision detection mentioned in the curriculum?
Signup and view all the answers
What is the purpose of scene management in game development?
What is the purpose of scene management in game development?
Signup and view all the answers
What is the primary focus of the graphical user interface (GUI) in game development?
What is the primary focus of the graphical user interface (GUI) in game development?
Signup and view all the answers
What is the main objective of the game development module described in the curriculum?
What is the main objective of the game development module described in the curriculum?
Signup and view all the answers
What is the significance of affine transformations in game development?
What is the significance of affine transformations in game development?
Signup and view all the answers
What is the total workload for this module in hours?
What is the total workload for this module in hours?
Signup and view all the answers
How many ECTS credits are allocated to this module?
How many ECTS credits are allocated to this module?
Signup and view all the answers
What is a game engine primarily designed for?
What is a game engine primarily designed for?
Signup and view all the answers
What is the core functionality provided by a game engine?
What is the core functionality provided by a game engine?
Signup and view all the answers
What is the purpose of a rendering engine in a game engine?
What is the purpose of a rendering engine in a game engine?
Signup and view all the answers
What is the advantage of reusing a game engine?
What is the advantage of reusing a game engine?
Signup and view all the answers
What is the term used to describe the development software that utilizes a game engine?
What is the term used to describe the development software that utilizes a game engine?
Signup and view all the answers
What is the role of physics engine in a game engine?
What is the role of physics engine in a game engine?
Signup and view all the answers
What is the benefit of using a game engine for game development?
What is the benefit of using a game engine for game development?
Signup and view all the answers
What is the range of devices that can be supported by a game engine?
What is the range of devices that can be supported by a game engine?
Signup and view all the answers
What is the main purpose of the 'File System and Resource Caching' component in a game application?
What is the main purpose of the 'File System and Resource Caching' component in a game application?
Signup and view all the answers
What is the main focus of the 'Game View – Human Perspective' component?
What is the main focus of the 'Game View – Human Perspective' component?
Signup and view all the answers
What is SFML, and what does it provide?
What is SFML, and what does it provide?
Signup and view all the answers
What is the goal of building a simplified game engine in this course?
What is the goal of building a simplified game engine in this course?
Signup and view all the answers
What are the five modules of SFML?
What are the five modules of SFML?
Signup and view all the answers
What is the significance of the 'Init, Main Loop, Shutdown' component?
What is the significance of the 'Init, Main Loop, Shutdown' component?
Signup and view all the answers
What is the role of the 'Dedicated Process Manager' in the 'Game View – Human Perspective' component?
What is the role of the 'Dedicated Process Manager' in the 'Game View – Human Perspective' component?
Signup and view all the answers
What is the primary difference between SFML and a game engine?
What is the primary difference between SFML and a game engine?
Signup and view all the answers
Study Notes
Basics Game Development
- The course is taught by Radomir Dinic and Samuel Arzt.
- The course covers the basics of game development, including:
- Game loop (initialization and loading of resources, time-based update, controlled shutdown)
- 2D graphics skills (sprites, sprite animation, tile maps, occlusions)
- Input methods (e.g. keyboard, mouse)
- Basic affine transformations and coordinate spaces (e.g. for manipulating objects or game camera)
- 2D collision detection (e.g. AABB, circle)
- Scene management
- Graphical user interface (e.g. menus, heads-up displays)
- The course is based on the C# programming language and uses the SFML (Simple and Fast Multimedia Library) framework.
Module Description
- The course aims to teach students to:
- Explain the basic structures and processes of a game engine in their own words
- Develop simple interactive applications using an existing game engine
- Implement simple, interactive 2D games based on an existing game engine
- Design and develop the software architecture and program flow in the code
- Use 2D graphics for representation (e.g. animated sprites, tile maps, GUI) and implement occlusions
- Switch between coordinate spaces and use vectors and affine transformations to manipulate objects and camera viewpoints
- Implement simple methods of 2D collision detection to realize game logic
Workload
- The course has a total workload of 62.5 hours, consisting of:
- 2 SWS (lectures and lab sessions)
- 10.5 hours of lectures
- 10.5 hours of lab sessions
- 41.5 hours of assignments and autonomous studying (approximately 4-5 hours per week)
Grading
- The course is graded based on:
- 70% of the final grade comes from three tests (see Wiki)
- 30% of the final grade comes from three "bigger" assignments:
- Basic SFML setup (game loop, transformations, time)
- Basic engine (asset handling, sprite animation, sound, input)
- Final engine (components, collisions, and basic physics)
Sources
- Core literature: "Game Coding Complete" 4th edition by McShaffry and Graham
- Additional literature:
- https://github.com/miloyip/game-programmer
- https://gameprogrammingpatterns.com/
- "Game Engine Architecture" 3rd edition by Jason Gregory
- Videos:
Why to become a game developer?
- Reasons to become a game developer include:
- Using creative and analytical skills
- Working in an enthusiastic and casual environment
- Enjoying a steady career in a dynamic industry
- Earning a competitive salary
- Making a career out of helping people have fun
- Having international job opportunities
- Having the possibility to easily change the branch of industry if desired
The World of Game Development
- Roles in a game development project include:
- Artist
- Game engineer
- Designer
- Quality assurance
- Producer
- Game development involves various aspects, including:
- Gameplay
- Game world
- Game mechanics
- Characters
- Quest
- Atmosphere
- Story
- Animation
- Graphics
- Input
- Network
- Artificial intelligence
- Physics
- Audio
Game Engines
- A game engine is a software framework primarily designed for the development of video games.
- It typically includes relevant libraries and support programs.
- Game engines can also refer to the development software utilizing this framework, offering a suite of tools and features for developing games.
- The core functionality of a game engine may include:
- Rendering engine (renderer) for 2D or 3D graphics
- Physics engine or collision detection (and collision response)
- Sound
- Scripting
- Animation
- Artificial intelligence
- Networking
- Streaming
- Memory management
- Threading
- Localization support
- Scene graph
- Video support for cinematics
SFML – Simple and Fast Multimedia Library
- SFML is not a game engine, but a library that provides a simple interface to the various components of a PC.
- It is composed of five modules:
- System
- Window
- Graphics
- Audio
- Network
- SFML is multi-platform, supporting Windows, Linux, and macOS (with plans to support Android and iOS).
- SFML is multi-language, with official support for C++ and C#, and unofficial bindings for other languages.
Practical Part of this Course
- The practical part of the course involves building a simplified game engine using SFML.
- This will help students understand the internal processes of a game engine.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
This quiz covers the basics of game development, including the game loop, 2D graphics, input methods, and affine transformations. It is a part of the MultiMediaTechnology curriculum at FH Salzburg.