Basics of Game Development

UnrealBirch avatar
UnrealBirch
·
·
Download

Start Quiz

Study Flashcards

33 Questions

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?

Streaming

What is another predicted trend in the gaming industry?

Mixed reality

What is a challenge that game developers face when working on a project?

Dealing with remote teams across time zones

What is another challenge that game developers face when working on a project?

Cloud-based development

What is an important aspect of web development that web developers need to keep up with?

Latest technologies and trends in web design

What is one of the roles involved in a game project?

Artist

What is another role involved in a game project?

Producer (PM)

What is a question that can help you choose a major that suits you best?

What are your passions and hobbies?

What is the main purpose of the game loop in game development?

The game loop is responsible for initialisation and loading of resources, time-based update, and controlled shutdown.

What are the two main methods of 2D collision detection mentioned in the curriculum?

AABB and circle

What is the purpose of scene management in game development?

To manage and organize the game's scenes and levels

What is the primary focus of the graphical user interface (GUI) in game development?

Creating menus, heads-up displays, and other graphical elements

What is the main objective of the game development module described in the curriculum?

To develop simple, interactive 2D games using an existing game engine

What is the significance of affine transformations in game development?

They are used to manipulate objects and camera viewpoints

What is the total workload for this module in hours?

62.5 hours

How many ECTS credits are allocated to this module?

2.5 ECTS

What is a game engine primarily designed for?

The development of video games

What is the core functionality provided by a game engine?

Rendering engine, physics engine, sound, scripting, animation, AI, networking, etc.

What is the purpose of a rendering engine in a game engine?

To provide 2D or 3D graphics

What is the advantage of reusing a game engine?

To economize on the process of game development

What is the term used to describe the development software that utilizes a game engine?

Game engine

What is the role of physics engine in a game engine?

Collision detection and collision response

What is the benefit of using a game engine for game development?

Simplified development process and reduced development time

What is the range of devices that can be supported by a game engine?

Video game consoles and other types of computers

What is the main purpose of the 'File System and Resource Caching' component in a game application?

To manage memory and resources

What is the main focus of the 'Game View – Human Perspective' component?

Usability and Human-Computer Interaction (HCI)

What is SFML, and what does it provide?

A library that provides a simple interface to various PC components

What is the goal of building a simplified game engine in this course?

To increase understanding of game engine internal processes

What are the five modules of SFML?

System, Window, Graphics, Audio, Network

What is the significance of the 'Init, Main Loop, Shutdown' component?

It manages the game's lifecycle

What is the role of the 'Dedicated Process Manager' in the 'Game View – Human Perspective' component?

To manage interface-actions such as animation and streaming

What is the primary difference between SFML and a game engine?

SFML is a library, not a game engine

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

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.

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.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser