nelsonxb / GraphPaperRaceGame

Implementation of Racetrack (graph paper game)
MIT License
0 stars 0 forks source link

Switch to a different 2d framework #29

Closed nelsonxb closed 9 years ago

nelsonxb commented 9 years ago

Upon a little investigation, it appears that the main Slick2D development is stale (no changes since mid-2013 on the development branch).

This means that if there are any issues with Slick2D (e.g. #9), they won't ever be fixed unless we create our own fork and try to fix it ourselves (and after briefly glancing at the Slick2D repo - just no).

It would definitely be worth our while to port to another framework. A few of the others I've seen also abstract the differences between the desktop and other devices (e.g. Android, iOS), which means making the game available on those platforms would be a piece of cake (pretty much just a few extra lines).

There is a page on the LWJGL wiki naming a few 2D libraries that are based off of LWJGL (or have multiple possible backends, one of which being LWJGL).

I want GPRG to be the best it can be - and I don't think that it can be that while it is stuck on an old framework.

Yes, it would take a fair amount of work to perform the refactor (a milestone of its own), but I seriously think that it would be worth it.

nelsonxb commented 9 years ago

I've recently been looking at libGDX (sample game). It is a 2D/3D library with an absolute ton of neat utilities. The rendering stuff is a bit low-level, but 2D image rendering is sufficiently easy. It also looks like it has a half-decent built-in UI system.

nelsonxb commented 9 years ago

If we are going to do this, then the sooner the better. The longer we leave it, the more code-base we are going to have, and the more we are going to have to refactor.

nelsonxb commented 9 years ago

This might make #27 much less reasonable (depending on the framework we choose).

nelsonxb commented 9 years ago

I'm making the executive decision here - we are switching to LibGDX.

This will push all 0.x milestones back by one, and the port will be published under 0.3.0.