Kleine Bausteine.
Möglichkeiten in Bewegung.
Awesome Engine ist eine in Szenen organisierte 2D-Engine. Ein gemeinsamer Kontext bündelt die Systeme jedes Spiels, von der Eingabe bis zum letzten Frame.
Geprüften Code erkunden ↗Eine Grundlage, die du
verstehen kannst.
Awesome Engine wurde von Carlos Cortina entwickelt und verbindet C++-Spiellogik mit wiederverwendbaren Diensten auf SFML. Die sieben enthaltenen Szenen zeigen, wie Grafik, Eingabe, Sound und Oberfläche in kleinen vollständigen Spielen zusammenwirken.
Der Aufbau setzt auf Komposition: Szenen erhalten einen EngineContext und nutzen Manager mit klaren Aufgaben. Der MIT-lizenzierte Code erlaubt es, diese Basis zu untersuchen, zu ändern und zu erweitern.
Das Repository veröffentlicht noch keine Entstehungsgeschichte oder formalen Ziele. Hier beschreiben wir den erkennbaren Aufbau und die verifizierten Fähigkeiten.
Was du bereits erkunden kannst.
Rendering und Ansichten
Sprites, Formen und Text auf sf::RenderTexture. Ansichten mit sf::View und Bloom- und Monitor-Nachbearbeitung.
Implementiert02Szenen und Lebenszyklus
Start, Update, Render, OnEvent, OnPause und OnCleanup. Verzögerter Szenenwechsel und Neustart.
Implementiert03Ressourcen und Speicher
Caches für Texturen, Sounds und Schriften. RAII, Standardcontainer und Besitz über unique_ptr.
Implementiert04Eingabe und Audio
Aktionen mit mehreren Belegungen. Tastatur, Maus und Gamepad; Musik, Effekte und globale Lautstärke.
Implementiert05Oberfläche und Werkzeuge
TGUI, Pausen-Overlay, eigener Cursor, PNG-Aufnahmen mit F12 und Diagnose mit spdlog.
Implementiert06Konfiguration und Speicherung
Fenster-, Zeit- und Audiokonfiguration in JSON. Lokale Speicherung von Punkteständen und Zustand.
ImplementiertEin Kontext.
Verbundene Systeme.
Die Manager sind als Werte in EngineContext enthalten. SceneFactory erstellt und besitzt die Szenen über unique_ptr.
EngineContext
SceneFactory → Scene
Bounce · Clicker · MemoryCard · TicTacToe · MineSweeper · Runner · Tetris
Der Weg eines Frames
Oberfläche und Cursor werden nach der Nachbearbeitung der Szene gezeichnet. Glitch und Invertierung existieren im Code, sind in der geprüften Kette aber nicht aktiv.
Konkrete Werkzeuge.
Klare Versionsangaben.
Konfiguration, Kompilierung und Herunterladen von Abhängigkeiten mit FetchContent.
Repository ansehenWichtig ist auch,
die Grenzen zu kennen.
Die vorgefundene Entwicklungsumgebung ist Windows mit MinGW, Ninja und GDB. Linux und macOS sind nicht verifiziert; Unterschiede bei der Großschreibung in Pfaden müssen geprüft werden.
Die Engine enthält keinen visuellen Editor, kein ECS, keine allgemeine Physik-Engine, kein Scripting und keinen Web- oder Mobile-Export. Kollisionen und Spielphysik sind szenenspezifisch.