-
-
Notifications
You must be signed in to change notification settings - Fork 491
Game_Engine
The SuperTux game engine is structured as follows:
- On startup, main.cpp instantiates a single MainLoop (mainloop.cpp) that is run until the application terminates.
- The MainLoop manages, updates and draws all Screens, Controllers, Menus and the Console.
:*A Screen (screen.hpp) is the abstract base class for code that the MainLoop runs exclusively and full-screen.
Probably the most important Screen is the GameSession (game_session.cpp), which actually runs a Level (level.cpp).
Examples of other Screens are:
- The SuperTux title screen (title.cpp)
- a world map (world.cpp)
- an intro text scroller (textscroller.cpp)
A GameSession loads and runs a single Level, which consists of multiple, separate parts, the Sectors. Sectors contain the various GameObjects that can be encountered in SuperTux.
Examples of such GameObjects are the Badguys, Players and TileMaps, but also Thunderstorm controllers, the currently visible viewport (i.e. a Camera object), the sector's time limit, etc.
More in-depth information about the game engine can be found in the source code itself, e.g. as Doxygen HTML Documentation, or on pages in :Category:Game Engine, most notably:
- File formats and File Formats
- Collision detection
- Tile
- Objects
Category:Game Engine
Home
Guidelines
Game Mechanics
Tools
Engine
- Cameras in other games
- Collision
- Configuration File
- Console
- Cutscenes
- Game_Engine
- Lighting
- Map_transformer
- Portables
- SceneGraph
- Scripting
Specifications
Milestones
- Milestone 1 Analysis
- Milestone 2 Design Document
- Milestone 2 Design Document Old
- Milestone 3 Design Document
Building (mostly outdated)
- INSTALL.md
- Building
- Building on macOS
- Building SuperTux
- Building on Windows
- Building with MXE (cross-compile)
Meetings