Android port via Java - continued discussion

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

I've just implemented zooming and panning using two-finger gestures. You can pinch-to-zoom, or move two fingers around to pan the zoomed window. The '+' button on the side will cycle through 4 zoom levels.

I've realized what a pain it is to play on a tiny touch-screen without a keyboard!
Guesto

Re: Android port via Java - continued discussion

Post by Guesto »

Keep it up
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

Okay.:-) Just replaced the 'save/restore' screen with an Android native form which works with virtual-keyboard phones.
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

Not sure how much interest is in this, but I've been working a lot on the interface, and this is how it's turning out:

1. To move the Avatar, you drag your finger in the direction you want to travel. A green arrow pointing the direction and speed will appear between the Avatar and your finger.

2. Targeting: Hit the 'T' button on the side, or do a 'long press' anywhere on the screen, and a cursor will appear in the middle of the screen. To move the cursor, drag anywhere, and the 'mouse' will move relative to your finger. When the cursor is over an object, it will be highlighted in red; and if you lift your finger, its name will be displayed. To activate the selected object, tap once anywhere on the screen. Or you can continue positioning by moving your finger.

3. Dragging (an object): You can still drag an object like on a PC, but it's hard to do because everything's so small. The new, alternate, way is to start out with 'targeting' as above. But once you've selected the object, do a 'long press' to start dragging it. The cursor will change to a hand, and will move relative to your finger. When it's over another object, that object will get a green outline. Release your finger to drop it there.

I still need to test and tune all this. I'm finding that the touch screen is fairly fussy, in that I'll think I'm just tapping it, but a motion event of several pixels will be posted, causing behaviour that I wasn't expecting.
KenC

Re: Android port via Java - continued discussion

Post by KenC »

That's sounding much easier to use than the setup in the native port. I know other folks have had some luck playing it, but I still find it cumbersome and don't know that I'll have the time to improve on it. Sounds like your changes will make it much more enjoyable!

Ken
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

Thanks! There's probably no intrinsic reason that the native port couldn't work the same way; and it would take about the same amount of work. I'm still not sure if this new interface is decent or not, and I plan on spending some time soon playing the game to get a better feeling for it.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by Dominus »

You need to film it and put the video on youtube ;)
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
bogatyr

Re: Android port via Java - continued discussion

Post by bogatyr »

Where can we find the latest release? The only ones i see are months old.
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

I don't think we've ever done a release of this. For now, you probably need to set up a development environment to try it out.

And you might want to wait 'til I've done a bit more debugging. I tried it out when I was on vacation last week; and while I think the interface is starting to feel fairly good, there were too many crashes for it to be playable.
bogatyr

Re: Android port via Java - continued discussion

Post by bogatyr »

Give us a release and we can report bugs for ya :-)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by Dominus »

Maybe just another snapshot would suffice for now ;)
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
bogatyr

Re: Android port via Java - continued discussion

Post by bogatyr »

Yes, I meant snapshot. Can we get a new snapshot? I would really like to try this on my Lenovo ThinkPad Tablet and report back any issues.
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

Ok, I think it's just the ExultAndroid.apk that contains everything, though the users will have to set up the data directory (which means I should document it).

It's been years since I released anything.:-) Where do you think it should go in our downloads area? I didn't notice a 'snapshots'.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by Dominus »

huh? Dr.Code, you have uploaded an apk before to our snapshots download page. Snapshots should just go there and not be released via the Sourceforge Project page.

If you have anything to further document I can write that into the Docs if you want. Best would be if you update the http://exult.info/snapshots/androiddata.zip with the data files as well.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

Whoops!:-) You're right, I did! I'll look into this in the next week, because I'd like to fix at least a couple of the really bad bugs first.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by Dominus »

In the readme of our web repository is a how-to access the shell ;)
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
donrisotto

Re: Android port via Java - continued discussion

Post by donrisotto »

Any chance of an updated snapshot coming soon? The old version is cool and everything but it's not very usable
Malignant Manor
Site Admin
Posts: 985
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by Malignant Manor »

The port had been updated several times this month. (no snapshot update though)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by Dominus »

I wonder how to build that, maybe I could do it on OS X and make the snapshot available...
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

I'm trying to ease back into working on it, and still fiddling with the touch-screen interface.

I don't know any way to make a release without setting up the whole Eclipse/Android environment and checking out the source into it. But then you get the exult.apk created automatically. Trouble is, you still have to manually install a bunch of data files on your sdcard, and you pretty much have to read the source to see where to put them. Since we can't distribute those files ourselves, I'd eventually like to have Exult provide detailed information about what's missing and where it should go (as opposed to crashing like it probably does now).
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

OT, but a funny thing happens if you install the U7 sound files on your phone for this or the native port.

If, in the Music Player, you tell it to 'shuffle all', it will include those in the shuffle. So you could be driving, hearing your favorite songs, when all of a sudden: "THAT is not the proper direction, Avatar!"

It was really distracting the first time it happened to me.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by Dominus »

He he
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
TDI

Re: Android port via Java - continued discussion

Post by TDI »

> "THAT is not the proper direction, Avatar!"

:D

I would probably have suffered a nervous breakdown at that point.
postulio

Re: Android port via Java - continued discussion

Post by postulio »

Was wondering if there is any progress on this, or will there be. I have never played U7 but always wanted to. An on the go Android version would be perfect way for me to try it out (sadly I don't currently have a way to play at home).

Anything you need help with outside of coding?
Malignant Manor
Site Admin
Posts: 985
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by Malignant Manor »

There was another port that used SDL 1.3 and SDL 2. Here's a link to the thread. It is outdated but probably more complete than the Java port.
NotStanley4330

Re: Android port via Java - continued discussion

Post by NotStanley4330 »

Any recent activity on this? Seems like the project has stagnated..
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by drcode »

Yes, it has, because:

1. There didn't seem to be much interest in it.
2. When I replaced my phone, I didn't get around to setting it up to develop. I'd also have to re-establish a development environment on my PC after at least a couple OS upgrades.
3. Being a separate line of code, it wasn't getting the bug fixes going into the normal Exult C code.
4. It's hard to play on a phone due to the small screen. A tablet would be okay, but I don't have one.
Pinny

Re: Android port via Java - continued discussion

Post by Pinny »

+1 for interest

I know it takes dozens or hundreds of hours to work on a port like this.

The one thing I would point out is that Android screens have started getting a lot bigger. The typical screen used to be about 5 inches diagonal, or about 10 sq. inches total. Now, we have the Note 8, Pixel 2 XL, Galaxy S8, and tons of others with 6" screens, with 15+ sq inches of viewing area, so playing U7 on these screens should become more doable.

Thanks!!
Pinny
paulo

Re: Android port via Java - continued discussion

Post by paulo »

If there was to be a exult replacement that is to function as a actual replacement, i'd prefer it was done in a language that is both error hostile and doesn't require a vm for greater portability. Like rust.

I am a fan of the java language and the JVM but I must admit that even that fine piece of software that is the JVM is only ported to beefy systems and major OS because of the extraordinary complexity of the VM, GC and library bindings.

So it might as well be a more recent language with a smaller library and no need for a VM and GC.
Don Smith

Re: Android port via Java - continued discussion

Post by Don Smith »

I would love to see this, as android apps are able to run on chrome os laptops this might be an easy way to get them working.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Android port via Java - continued discussion

Post by Dominus »

This port has likely close to zero chance of getting developed further.

BUT the native port to Android does have more chances, only someone needs to pick it up :)
viewtopic.php?p=348367#p348367
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Locked