Good News: Android Port
- Tank Program
- Forum & Project Admin, PhD
- Posts: 6711
- Joined: Thu Dec 18, 2003 7:03 pm
Good News: Android Port
Busy times moving back to England and resuming my PhD. Lots of work to be done. Did manage to sqeeze in some Android development and port Armagetron for our gaming enjoyment.
Introducing Androgetron.
Screenshots:
Introducing Androgetron.
Screenshots:
Re: Good News: Android Port
That's pretty damn sweet
& I love the epic promotion video. Great job!
Can't wait to try it out
& I love the epic promotion video. Great job!
Can't wait to try it out
"Dream as if you'll live forever,
Live as if you'll die today." -James Dean
- kyle
- Reverse Outside Corner Grinder
- Posts: 1876
- Joined: Thu Jun 08, 2006 3:33 pm
- Location: Indiana, USA, Earth, Milky Way Galaxy, Universe, Multiverse
- Contact:
Re: Good News: Android Port
Wow so much more fun to play it on my phone than on my PC.
Thanks guru3
Thanks guru3
Re: Good News: Android Port
I hope it's not another April fool's joke :d oh, dear, please say it ain't so
Re: Good News: Android Port
That will be good for a tablet
It can't be a joke, as there is download links
Nice video example, tank. And thanks tank for the release...
It can't be a joke, as there is download links
Nice video example, tank. And thanks tank for the release...
Re: Good News: Android Port
I might get a new phone in a couple of months...This app is incompatible with your phone.
Also, Tank, please update the main site with this news. Tank You. Looking forward to trying it out one day, then playing it on the toilet at work when trying to avoid my inbox.
- Tank Program
- Forum & Project Admin, PhD
- Posts: 6711
- Joined: Thu Dec 18, 2003 7:03 pm
Re: Good News: Android Port
I was playing bottom right. Timing turns is harder on the touch screen I think.Clutch wrote:I know your pain guy in the bottom right, corners suck
Sorry about this - Android 2.2 and up. That's the min version of most devices, and what my tablet that I used for testing runs.sinewav wrote:I might get a new phone in a couple of months...This app is incompatible with your phone.
Done.sinewav wrote:Also, Tank, please update the main site with this news.
Re: Good News: Android Port
Can't tell if srs or trollolol. >_> Damn Apr 1st. Guess time to dl and find out.
/e Okay, so real. I had my expectations a little too high though. I assumed that online play and the ability to alter settings would be there. Hopefully it gets there. It would be really nice to be able to connect from mobile.
It's a nice start, but so far, I think GL Tron has it. This barely feels like AA to me.
/e Okay, so real. I had my expectations a little too high though. I assumed that online play and the ability to alter settings would be there. Hopefully it gets there. It would be really nice to be able to connect from mobile.
It's a nice start, but so far, I think GL Tron has it. This barely feels like AA to me.
Re: Good News: Android Port
Thought process:
Oh, Tank's pulling another one of those.
Haha, people in the comments are going along with it.
Yeah, a real play store link. Big deal. Guess he put some effort into it to make a fake app.
WHA?
...
WHAAAAAAAAAAA?
Great job on all accounts. Runs really smoothly for me (Xperia Play), I just miss support for the real buttons
Curious: which parts are taken from the regular source? Neither any of the rendering nor UI, I can see that. Lack of rubber and different feel to turning and the camera may be just settings, but it smells like a full rewrite.
Oh, Tank's pulling another one of those.
Haha, people in the comments are going along with it.
Yeah, a real play store link. Big deal. Guess he put some effort into it to make a fake app.
WHA?
...
WHAAAAAAAAAAA?
Great job on all accounts. Runs really smoothly for me (Xperia Play), I just miss support for the real buttons
Curious: which parts are taken from the regular source? Neither any of the rendering nor UI, I can see that. Lack of rubber and different feel to turning and the camera may be just settings, but it smells like a full rewrite.
- Tank Program
- Forum & Project Admin, PhD
- Posts: 6711
- Joined: Thu Dec 18, 2003 7:03 pm
Re: Good News: Android Port
Z-man, you're correct. I have indeed pulled another one.
Welcome everyone to probably my most involved and therefore most dissapointing April Fools' Day joke of all time - so few people replied! Almost no one questioned! Instead of properly porting Armagetron, I have written an Armagetron clone from scratch, hence the different name. All new AI, physics, camera, rendering (GLES), input, menu. Shared code consists of rModel.cpp lines 117 to 214 for model loading and that's it.
The idea was to trick everyone into believe Armagetron was "ported" to Android. Achieved simply by it look exactly like Armagetron. The Androgetron physics are all sort of "close enough" that it's believable that altering the Armagetron physics could result in similar play. If it looks and feels like Armagetron, is it Armagetron? In this case, no.
Porting Armagetron properly has some fundamental issues. First there's translation to GLES. Really, I don't think this is a huge issue. Some minor quirks you have to get used to but as near as I can tell it's pretty well the same in the end that it's easy enough to translate. All the tricky stuff is already done - such as working out what translations to use.
Let's assume we want to keep Armagetron in C++ on Android. Armagetron uses a gaggle of libraries at this point, which yes, most of them are nominally buildable with the Android NDK. It's still dependency hell, and the build system is nowhere near as nice as that of proper GNU Autotools. There's a more crucial problem, which I wish I could remember the proper name of. It boils down to Armagetron relies on the compiler including information about which objects are which classes internally (or something like that). The Android NDK strips this information out. Chunks of Armagetron would need to be rewritten to work around this or some heavy toolchain work would need to be done to switch out the NDK ARM compiler with one that actually does the necessary stuff. Of course, due to the build system being user-unfriendly, this is also difficult.
It boils down to from my point of view that, for me, porting Armagetron natively in C++ is a problem, with a lot of things I'm completely unfamiliar with involved. Alternatively there's rewriting Armagetron into Java - porting in the truest sense. This is another load of work involving not only porting engine code but working around all the libraries and either finding Java equivalents or writing Java equivalent functions as necessary. Not exactly easy, but from my point of view quite a bit easier. The problem becomes interpreting all the C++ which I may or may not properly understand into their Java equivalents (which I also may or may not understand) and getting it to all hang together. Friend classes anyone? Overall easier, but I also feel it's out of my skill range. So porting to Java is a problem too.
What I do have though is a rough idea of how Armagetron works. Go forwards, hit wall, die. I also have a rough idea of how to work in Java and in OpenGL. That leaves only the Android specific components of making a Tron clone as the unknowns. That's something I can get behind - it's much easier to learn one new thing at a time. So that's what I did and hence Androgetron.
Happy April Fools' Day!
Welcome everyone to probably my most involved and therefore most dissapointing April Fools' Day joke of all time - so few people replied! Almost no one questioned! Instead of properly porting Armagetron, I have written an Armagetron clone from scratch, hence the different name. All new AI, physics, camera, rendering (GLES), input, menu. Shared code consists of rModel.cpp lines 117 to 214 for model loading and that's it.
The idea was to trick everyone into believe Armagetron was "ported" to Android. Achieved simply by it look exactly like Armagetron. The Androgetron physics are all sort of "close enough" that it's believable that altering the Armagetron physics could result in similar play. If it looks and feels like Armagetron, is it Armagetron? In this case, no.
Porting Armagetron properly has some fundamental issues. First there's translation to GLES. Really, I don't think this is a huge issue. Some minor quirks you have to get used to but as near as I can tell it's pretty well the same in the end that it's easy enough to translate. All the tricky stuff is already done - such as working out what translations to use.
Let's assume we want to keep Armagetron in C++ on Android. Armagetron uses a gaggle of libraries at this point, which yes, most of them are nominally buildable with the Android NDK. It's still dependency hell, and the build system is nowhere near as nice as that of proper GNU Autotools. There's a more crucial problem, which I wish I could remember the proper name of. It boils down to Armagetron relies on the compiler including information about which objects are which classes internally (or something like that). The Android NDK strips this information out. Chunks of Armagetron would need to be rewritten to work around this or some heavy toolchain work would need to be done to switch out the NDK ARM compiler with one that actually does the necessary stuff. Of course, due to the build system being user-unfriendly, this is also difficult.
It boils down to from my point of view that, for me, porting Armagetron natively in C++ is a problem, with a lot of things I'm completely unfamiliar with involved. Alternatively there's rewriting Armagetron into Java - porting in the truest sense. This is another load of work involving not only porting engine code but working around all the libraries and either finding Java equivalents or writing Java equivalent functions as necessary. Not exactly easy, but from my point of view quite a bit easier. The problem becomes interpreting all the C++ which I may or may not properly understand into their Java equivalents (which I also may or may not understand) and getting it to all hang together. Friend classes anyone? Overall easier, but I also feel it's out of my skill range. So porting to Java is a problem too.
What I do have though is a rough idea of how Armagetron works. Go forwards, hit wall, die. I also have a rough idea of how to work in Java and in OpenGL. That leaves only the Android specific components of making a Tron clone as the unknowns. That's something I can get behind - it's much easier to learn one new thing at a time. So that's what I did and hence Androgetron.
Happy April Fools' Day!
- Jonathan
- A Brave Victim
- Posts: 3391
- Joined: Thu Feb 03, 2005 12:50 am
- Location: Not really lurking anymore
Re: Good News: Android Port
Haha, nice one. I was wondering what this really was. It looked interactive on the video so I knew something was up, in the sense of reverse psychology on top of April Fools' Day. Its ambiguous feel was another red flag.
ˌɑrməˈɡɛˌtrɑn
Re: Good News: Android Port
At first I thought April Fools!Jonathan wrote:Haha, nice one. I was wondering what this really was. It looked interactive on the video so I knew something was up, in the sense of reverse psychology on top of April Fools' Day. Its ambiguous feel was another red flag.
Then I thought he was going to try and make one for real, and only had the beginning of it done. I hoped he would continue it to work with the multilayer servers, but didn't expect much.
Luckily, low to no expectations so not much reaction here.
Re: Good News: Android Port
Knew it!
Fooled me once, shame on you. :d
Fooled me once, shame on you. :d
Re: Good News: Android Port
Androgetron, for those with no sexually discerning features.