How zeeesea/gameengine works
GameEngine is a lightweight Java 2D engine plus bundled authoring tools. A game developer launches a GameEngine subclass; the frame and scene manager start the loop, forwarding updates and events into the active scene and its managed objects, which handle input, collisions, and drawing. The repository also provides sprite/animation workflows, UI construction and export, and sound-effect synthesis. README documents capabilities beyond the sampled excerpts; those branches are represented at supported directory paths, with uncertain internal wiring omitted.
Main entry points: GameEngine.java Engine API · UIGenerator.java UI generator · GameObjectManager.java Object manager · MainMenu.java Tool menu
Components 24
Game Runtime
- Engine API
src/main/java/GameEngine/Core/GameEngine.java - Window frame
src/main/java/GameEngine/Core/GameEngineFrame.java - Scene loop
src/main/java/GameEngine/Core/scenes/SceneManager.java - Input state
src/main/java/GameEngine/Core/input/Input.java - Input listeners
src/main/java/GameEngine/Core/input - Console logging
src/main/java/GameEngine/Core/util/Console/Console.java
Objects and UI
- Object manager
src/main/java/GameEngine/Core/gameObject/GameObjectManager.java - Game objects
src/main/java/GameEngine/Core/gameObject/GameObject.java - 2D colliders
src/main/java/GameEngine/Core/gameObject/collider - UI elements
src/main/java/GameEngine/Core/gameObject/Obj
Sprite Assets
- Sprite editor
src/main/java/GameEngine/Tools/SpriteEditor/SpriteEditor.java - Sprite manager
src/main/java/GameEngine/Tools/SpriteEditor/SpriteManager.java - Animation manager
src/main/java/GameEngine/Tools/SpriteEditor/AnimationManager.java - Animation runtime
src/main/java/GameEngine/Core/graphics/Animation.java
Authoring Tools
- UI generator
src/main/java/GameEngine/Tools/UIGenerator/UIGenerator.java - UI blueprints
src/main/java/GameEngine/Tools/UIGenerator/Blueprints - UI descriptors
src/main/java/GameEngine/Tools/UIGenerator/Descriptors - Code exporter
src/main/java/GameEngine/Tools/UIGenerator/CodeExporter.java - Tool menu
src/main/java/GameEngine/Tools/MainMenu/MainMenu.java
Audio Tools
- SFX generator
src/main/java/GameEngine/Tools/SFXGenerator/SFXGenerator.java - SFX synthesizer
src/main/java/GameEngine/Core/audio/SFXEngine.java
Other components
- Game developer
- Game subclass
- Audio output
Connections 28
- Game developer → Game subclass: extends
- Game subclass → Engine API: launches
- Engine API → Window frame: creates
- Window frame → Scene loop: starts loop
- Scene loop → Engine API: updates scene
- Engine API → Object manager: dispatches events
- Input listeners → Input state: updates state
- Engine API → Input state: forwards events
- Object manager → Game objects: updates and draws
- Object manager → 2D colliders: checks overlap
- Game objects → Input state: reads state
- Game objects → Animation runtime: uses animations
- Sprite editor → Sprite manager: saves sprites
- Sprite editor → Animation manager: edits frames
- Animation manager → Sprite manager: reads frames
- Window frame → Sprite manager: loads icon
- Tool menu → Sprite editor: opens tool
- Tool menu → UI generator: opens tool
- Tool menu → SFX generator: opens tool
- UI generator → UI blueprints: creates layouts
- UI generator → UI descriptors: uses descriptors
- UI generator → Code exporter: exports code
- UI blueprints → UI elements: builds elements
- UI generator → Object manager: adds elements
- SFX generator → SFX synthesizer: configures and plays
- SFX synthesizer → Audio output: plays samples
- Engine API → Console logging: logs events
- Scene loop → Console logging: logs loop