This document tracks game engine and framework integrations for The End The Beginning project.
- Status: Removed in version 3.1.0
- Previously: Integrated in version 3.0.1, removed in 3.1.0
- Reason for Removal: Simpler codebase, lighter dependencies, pure JavaFX sufficient for current needs
- Official Site: https://github.com/AlmasB/FXGL
- Note: May be reconsidered in future versions if advanced game features are needed
- Status: Core framework (since v1.0, now exclusive since v3.1.0)
- Version: 20
- Purpose: UI, graphics, application framework, all game functionality
- Official Site: https://openjfx.io/
- Why: Modern, cross-platform UI framework sufficient for our text-adventure game
- Status: Not integrated
- Research Date: October 2025
- Findings: AdaxEngine does not appear to be a documented or publicly available game engine for JavaFX as of this date.
- Alternative: FXGL provides similar or better functionality and has active development and community support.
- Decision: Use FXGL instead for game engine features
| Framework | Status | Purpose | Pros | Cons |
|---|---|---|---|---|
| JavaFX | Active | UI Framework | Stable, cross-platform, well-documented | Not game-specific |
| FXGL | Integrated | Game Library | Game-specific features, active development, good docs | Adds dependencies |
| AdaxEngine | Not Available | Unknown | N/A | No public documentation or repository found |
- Type: Cross-platform game framework
- Language: Java
- Pros: Mature, feature-rich, excellent performance
- Cons: Different architecture, would require major refactoring
- Decision: Not needed - FXGL sufficient for our needs
- Type: 3D game engine
- Language: Java
- Pros: Full 3D support, scene graph, physics
- Cons: Overkill for 2D text-based game, steep learning curve
- Decision: Not needed for this project
When considering new frameworks:
-
Research Thoroughly
- Check GitHub stars and activity
- Review documentation quality
- Look for community support
- Verify compatibility with Java 17 and JavaFX 20
-
Evaluate Need
- Does it solve a real problem?
- Can existing tools handle it?
- What's the learning curve?
- How will it affect project complexity?
-
Test Before Committing
- Create proof-of-concept in separate branch
- Measure performance impact
- Verify build and deployment
- Check cross-platform compatibility
-
Document Everything
- Why was it chosen?
- How to use it?
- Integration examples
- Troubleshooting tips
The End The Beginning Tech Stack:
├── Java 17 (Language)
├── JavaFX 20 (UI Framework - Pure Implementation)
├── Maven (Build Tool)
└── CSS (Styling)
Removed in v3.1.0:
✗ FXGL 17.3 (No longer needed)
For contributors and future development:
- Stick with Pure JavaFX for game features (current approach)
- Keep it Simple - avoid unnecessary dependencies
- Consider FXGL only if we need advanced features (particles, complex animations)
- Test thoroughly before integrating new frameworks
- Document decisions in this file
If you're considering adding a new game engine or framework:
- Open a GitHub issue with the "enhancement" tag
- Explain the problem it solves
- Provide links to documentation
- Discuss alternatives
- Consider team feedback before proceeding
Last Updated: October 2025
Next Review: When considering new framework integrations