Skip to content

Latest commit

 

History

History
121 lines (92 loc) · 3.99 KB

File metadata and controls

121 lines (92 loc) · 3.99 KB

Game Engine Integration Notes

Current Status

This document tracks game engine and framework integrations for The End The Beginning project.

Integrated Frameworks

❌ FXGL (JavaFX Game Library) - REMOVED in v3.1.0

  • 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

✅ JavaFX (Pure Implementation)

  • 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

Researched but Not Integrated

⚠️ AdaxEngine

  • 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 Comparison

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

Future Considerations

Other Game Frameworks (For Reference)

LibGDX

  • 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

jMonkeyEngine

  • 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

Integration Guidelines

When considering new frameworks:

  1. Research Thoroughly

    • Check GitHub stars and activity
    • Review documentation quality
    • Look for community support
    • Verify compatibility with Java 17 and JavaFX 20
  2. Evaluate Need

    • Does it solve a real problem?
    • Can existing tools handle it?
    • What's the learning curve?
    • How will it affect project complexity?
  3. Test Before Committing

    • Create proof-of-concept in separate branch
    • Measure performance impact
    • Verify build and deployment
    • Check cross-platform compatibility
  4. Document Everything

    • Why was it chosen?
    • How to use it?
    • Integration examples
    • Troubleshooting tips

Current Stack Summary (v3.1.0)

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)

Recommendations

For contributors and future development:

  1. Stick with Pure JavaFX for game features (current approach)
  2. Keep it Simple - avoid unnecessary dependencies
  3. Consider FXGL only if we need advanced features (particles, complex animations)
  4. Test thoroughly before integrating new frameworks
  5. Document decisions in this file

Questions?

If you're considering adding a new game engine or framework:

  1. Open a GitHub issue with the "enhancement" tag
  2. Explain the problem it solves
  3. Provide links to documentation
  4. Discuss alternatives
  5. Consider team feedback before proceeding

Last Updated: October 2025
Next Review: When considering new framework integrations