Name: Android support including the OUYA
Summary: Introduce a better structure for different front-ends to Terasology so it can be played with a "native feel" in different settings
Scope: Engine
Current Goal: Experiment with a project restructuring to isolate out front-end / wrapping / input code (computer application, browser applet, smart phone Android app, OUYA app). Also need LibGDX review
Phase: Design / Experimentation
Curator: Cervator is pushing it some but needs help. AbraCadaver is a coworker who has expressed interest, an ex-coworker also has a small mobile team that might get involved
Related: Lots - see below. More later.
So my OUYA dev kit arrived today
This is possibly a big deal to the project if we can get Terasology roughly working the same on different front-ends without doing a complete rewrite like it almost seems the MC pocket edition is, for example (I mean, seriously, 16-32 blocks, no crafting, no redstone, no mods, etc?). It is also a big deal to me personally as I sank $699 into the OUYA dev kit which includes a year of support, marketing, special badges, and what not after the official launch in March or so
Make no mistake though - that's a personal gamble and I'm not pushing or promising OUYA support at the project level! I'd certainly love to see it though and welcome any help in making it happen. From what initial research I've done it sounds like a good first step would be a healthy project tree restructuring to better serve Terasology in different formats - even without the OUYA this might be a good way to separate out the back+end from our primary application front-end and keeping the applet front-end stuff encapsulated as well. Mind you, this was some very preliminary research and I might have gotten the wrong idea.
On the 3d wizardry front LibGDX sounds like it has potential, and it is built on top of the same LWJGL we're using, so I'm hoping (wishfully, I'm sure!) that we could get there without massive rewrite stuff. Although I'm aware there are other things to worry about, with early review details from Immortius in
I'm going to try to find some time to play with the Nanoware organization on GitHub which I use to experiment with outright repo / organization topics on GitHub and see how things would look and work organized differently. At the same time as Android/OUYA stuff I also want to try the Jenkins approach to plugin management - each plugin/module/whatever actually lives in its own GitHub repo, which can be set up as simply as telling an IRC bot to please go make everything. Then add some Gradle magic to integrate with multiple Git repos in the same project and tadaa.
These two would go well together, IMHO, as they take major repo work and will cause crazy conflicts if there's a lot of outstanding code if/when it gets applied. Until then I'm going to see if we can push toward integrating in most the outstanding code and keep the source tree quiet for just a bit for major work like this (Checkstyle fixes would be another good thing to do at that time)
It's 1 am on a work night, going to get this posted and make more updates later. Let the rainbow ratings commence!
Related links / resources:
Summary: Introduce a better structure for different front-ends to Terasology so it can be played with a "native feel" in different settings
Scope: Engine
Current Goal: Experiment with a project restructuring to isolate out front-end / wrapping / input code (computer application, browser applet, smart phone Android app, OUYA app). Also need LibGDX review
Phase: Design / Experimentation
Curator: Cervator is pushing it some but needs help. AbraCadaver is a coworker who has expressed interest, an ex-coworker also has a small mobile team that might get involved
Related: Lots - see below. More later.
So my OUYA dev kit arrived today
This is possibly a big deal to the project if we can get Terasology roughly working the same on different front-ends without doing a complete rewrite like it almost seems the MC pocket edition is, for example (I mean, seriously, 16-32 blocks, no crafting, no redstone, no mods, etc?). It is also a big deal to me personally as I sank $699 into the OUYA dev kit which includes a year of support, marketing, special badges, and what not after the official launch in March or so
Make no mistake though - that's a personal gamble and I'm not pushing or promising OUYA support at the project level! I'd certainly love to see it though and welcome any help in making it happen. From what initial research I've done it sounds like a good first step would be a healthy project tree restructuring to better serve Terasology in different formats - even without the OUYA this might be a good way to separate out the back+end from our primary application front-end and keeping the applet front-end stuff encapsulated as well. Mind you, this was some very preliminary research and I might have gotten the wrong idea.
On the 3d wizardry front LibGDX sounds like it has potential, and it is built on top of the same LWJGL we're using, so I'm hoping (wishfully, I'm sure!) that we could get there without massive rewrite stuff. Although I'm aware there are other things to worry about, with early review details from Immortius in
I'm going to try to find some time to play with the Nanoware organization on GitHub which I use to experiment with outright repo / organization topics on GitHub and see how things would look and work organized differently. At the same time as Android/OUYA stuff I also want to try the Jenkins approach to plugin management - each plugin/module/whatever actually lives in its own GitHub repo, which can be set up as simply as telling an IRC bot to please go make everything. Then add some Gradle magic to integrate with multiple Git repos in the same project and tadaa.
These two would go well together, IMHO, as they take major repo work and will cause crazy conflicts if there's a lot of outstanding code if/when it gets applied. Until then I'm going to see if we can push toward integrating in most the outstanding code and keep the source tree quiet for just a bit for major work like this (Checkstyle fixes would be another good thing to do at that time)
It's 1 am on a work night, going to get this posted and make more updates later. Let the rainbow ratings commence!
Related links / resources: