Exult Logo
 
Home | Download | Documentation | FAQ | Studio | Screen Shots
Development | Discussion | About Us | Letters | History | Links
 
Exult Discussion
Before posting, make sure you've read the FAQ and searched the message board for previous discussions. When reporting problems/bugs, please include details about your setup (Exult version, OS, sound and video cards).

 New Topic  |  Go to Top  |  Go to Topic  |  Search  |  Log In   Newer Topic  |  Older Topic 
 Porting to Android via Java
Author: Gianni Leuani (---.pools.spcsdns.net)
Date:   07-07-10 18:42

[EDIT by Dominus:
When you read on in this thread, Dr. Code is in progress of porting Exult to Android via Java]

I'm interested in trying to make a working version of Exult to run on Android devices. But I found that in order to do this, a working model of the code has to be developed in Java, which could then be adapted to run on Android by switching out the platform specific graphics-handling.

The "working-model" should only be the game logic that parses the U7 game files, and handles running the game itself while making calls to the graphics and sound code.

Is there any additional code or anyone with notes out there that could help me with parsing the game-data files? If I had something that worked like a JUnit test that can verify if a game data file is valid or not, that'd be really helpful.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus (still gone) (---.dynamic.xdsl-line.inode.at)
Date:   07-07-10 22:10

I'm not sure you really need a javabased code for Android anymore. At least according to http://arstechnica.com/open-source/news/2009/06/android-goes-beyond-java-gains-native-cc-dev-kit.ars

This port to of Scummvm to Android could maybe shed more light on this:
http://forums.scummvm.org/viewtopic.php?t=8961&highlight=android

Reply To This Message
 
 Re: Porting to Android via Java
Author: Gianni Leuani (---.pools.spcsdns.net)
Date:   07-08-10 15:21

The arstechnica article is mentioning that the C++ toolkit is using JNI to hook into the java code. And if you've ever delt with JNI, you'd eventually realize it gets harder to maintain in the long run, especially when newer processors come out.

So, its best to not depend entirely upon the C++ toolkit just because Exult was developed in C. I'm just trying to plan ahead here instead of just banging out code for codes sake.

And the SCUMMVM, that's an entirely different animal altogether.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus (still gone) (---.dynamic.xdsl-line.inode.at)
Date:   07-08-10 15:24

I mentioned Scummvm because we share at least the audio code.

Happy codeing...

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (161.107.1.---)
Date:   08-02-10 17:48

this book seems to cover the gist of the idea, but i have no idea how applicable it is to this project:

http://books.google.com/books?id=-1eQ71mLj2cC&pg=PA267&lpg=PA267&dq=%2B%22libdoom_jni.so%22+%2B%22/data/data%22&source=bl&ots=SqeESz0DOk&sig=GkAKBXVOB5Lm77NzjxddoXDsQz8&hl=en&ei=ZwNXTJfoGMG88gbN6-nqAg&sa=X&oi=book_result&ct=result&resnum=2&ved=0CBcQ6AEwAQ

(just mentioning it because it would be terrific if it did happen)

Reply To This Message
 
 Re: Porting to Android via Java
Author: 486DX2/66 Dragon (---.54.207.104.dsl.dyn.forthnet.gr)
Date:   08-25-10 19:34

No need to have a Java port.

You can use JNI wrappers for C++ code.
Also, there is libSDL for android.

It will be a messy thing, but theoretically it should be doable.

Reply To This Message
 
 Re: Porting to Android via Java
Author: WtF Dragon (206.75.46.---)
Date:   09-01-10 19:50

If someone manages to get started on this and/or get it working, please let me know at Ultima Aiera (http://www.ultimaaiera.com). I've been corresponding with Bioware Mythic, and they're getting pretty serious about seeing the Ultima games ported to mobile platforms...a working, reasonably non-buggy port of U7 to Android would probably be of interest to them, possibly even to the level of them giving it official sanction.

And no, I am not (to the best of my knowledge) kidding or being a jackarse.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   09-01-10 20:30

:)
AsI wrote on your site, they should get someone to port Exult to Android and iOS. An experienced programmer should be able to do it. Basically Exult need sto be ported to SDL 1.3 and then you can go off :) (as has been done for ScummVM or Dosbox...)

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: TDI (---.versanet.de)
Date:   09-02-10 16:32

If BioWare is hiring to create Java ports of Ultima games, COUNT ME IN!!!

Seriously, I'll send my resume right away. :)

Reply To This Message
 
 Re: Porting to Android via Java
Author: WtF Dragon (206.75.46.---)
Date:   09-02-10 21:06

@TDI

A couple of quick points.

1) It's Bioware Mythic (a.k.a. Bioware Fairfax), not Bioware (a.k.a. Bioware Edmonton) that's pushing this. That's a small distinction, as there is a lot of cross-communication between studios. But at least as far as technical distinctions go, Mythic is a separate studio from the one that pumped out Mass Effect, Dragon Age, and all the rest.

2) I don't know if they are hiring at this exact point in time, but their mid-to-long-term goal is to see the Ultima games ported to other platforms, especially mobile platforms. Paul Barnett, their Creative Director, is really stoked about iOS (iPhone/iPod Touch/iPad) ports, especially, though I'd imagine an Android port would also catch his attention.

At present, they don't have the means to develop such ports in-house; their time is given over to other projects of more immediate importance. However, I have spoken with Mr. Barnett personally, and he's told me flat-out that if someone comes up with a solid, reasonably stable port of e.g. U4 (or U7; I can't imagine he'd turn it down), he'd do damn near everything to make sure that it got published EA's mobile storefront(s?) (the App Store, and I'd assume the Android Store if they have one for that ecosystem).

If you've got more questions, drop 'em here and I can forward them to Mr. Barnett.

Reply To This Message
 
 Re: Porting to Android via Java
Author: WtF Dragon (206.75.46.---)
Date:   09-16-10 14:47

Related: http://www.joystiq.com/2010/09/16/ea-mobile-to-take-advantage-of-android-trend/

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (161.107.1.---)
Date:   09-20-10 12:58

guysguysguys (and girls sorry i get excited)

sdl has been ported over, no java required. they've already pushed ports of Ur-Quan Masters and OpenTyrian to the market.

http://www.anddev.org/sdl_port_for_android_sdk-ndk_16-t9218.html

maybe just what the doctor ordered

Reply To This Message
 
 Re: Porting to Android via Java
Author: Monotremata 
Date:   09-20-10 18:10

<rant>
Damn of course its only Android 1.6 or above..
I bought a stupid AT&T Backflip back in March and we're apparently Motorola's red-headed step child and are still on 1.5..
They say we're getting 2.1 and they're testing it but funny how for all of the non-US models of the phone they've cancelled it and decided they're staying at 1.5 for the best 'experience'...
Its the OpenGL they're having trouble with lately so Im guessing my phone wouldn't be up to playing Exult nicely anyways..
</rant>

Time to look out for a new Samsung on Ebay heh..

Morbius/Monotremata Dragon
-==(UDIC)==-
Since 1992!

Reply To This Message
 
 Re: Porting to Android via Java
Author: Monotremata 
Date:   09-24-10 20:43

Ok somebody do this now haha!
The Backflip just got a custom 2.1 ROM last night based off a Cliq upgrade..
We dont have 3d acceleration yet but I can test whenever someone gets a build done hehe!!

Morbius/Monotremata Dragon
-==(UDIC)==-
Since 1992!

Reply To This Message
 
 Re: Porting to Android via Java
Author: devon8 (---.dsl.chcgil.sbcglobal.net)
Date:   10-03-10 06:27

It's not exult, but ultima7 works pretty well on my ipad via dospad (dosbox port). Should also work on iphone4 and I believe there's an android port of dosbox out there, although there's probably not anything as fast as the ipad running android yet.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   10-12-10 22:38

Has anyone used ScratchBox to port to Android? It sounds promising.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   10-19-10 17:39

The ArsTechnica article says they don't intend native code to be used for large applications, but for CPU-intensive operation. But it looks like ScummVM works.:-)

Still, Exult is a pretty large program that's not very efficient with memory. I wonder what it would take to do a Java version, and whether the performance would be okay.

I've just started playing around with the 'Hello Android' examples in Eclipse with the emulated phone, and maybe will work up to doing a U7 shape browser as an exercise.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   11-01-10 20:16

For fun (strange idea of 'fun'), I've started converting Exult code to Java to run on Android. My initial goal is just to display one image from shapes.vga, but that involves a LOT of code. I'm pretty much just translating by hand from C++ classes to Java. Eclipse makes this relatively easy in the way it does syntax-checking as you write.

So far, I've written about 1200 lines of code and all I have to show is that I can read in the Avatar's shape.:-) But to display it, I need a palette, and that leads to bringing in most of the 'U7 file' code. Maybe tonight...

One thing that worries me about all this is that it doesn't look like an Android supports 8-bit palette graphics, which means we'll be doing a lot of converting from our 8-bit frame to its RGBA canvas. I don't know if an Android has enough CPU power for this.

Reply To This Message
 
 Re: Porting to Android via Java
Author: MB (206.29.188.---)
Date:   11-05-10 18:02

I really hope this works out! The only portable Ultima 7 fix I have is via that old psp port (and it is simply awful).

I run scumm vm on my Samsung Galaxy with no issues, so I'm hoping that these new phones have the power to run the classic greats.

Btw, thank you all for the hard work so far. Been following this project forever and gotten a lot of fun from it.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Torgus dragon (---.mycingular.net)
Date:   11-07-10 22:00

Can you tell us more about scumm on the galaxy s? The galaxy s should be able to run u7 easily.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   11-08-10 12:59

@jeff, can yougive us some screenshots or photos of exult running on the android so far? Do you actually have an android or are you codeing halfblind through an android emulator? Your commits sound interesting ;)

@torgus, I'm sure the scummvm forums would be much more suited to find information on this.

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   11-08-10 23:52

I'll get a screenshot tonight, but don't expect a lot. What I'm doing is converting our c++ code to Java, skipping some things that I'll get to later and simplifying when possible. All that code (2000+ lines), and all I've got so far is the ability to render the flat terrains or paint a shape. No objects are created yet.

I only have the emulator to test with.

What worries me is performance. It doesn't seem like there's any builtin support for 8-bit graphics. So I'm painting into our own byte-array. Then on each 'blit', that gets transformed through the palette into a Color array, which then gets stored in a Bitmap (which looks like another big copy); and finally, that gets painted and stretched to fill the canvas/screen. That last operation is in the android library, so I'm hoping that maybe it's hardware supported. Seems like a lot of code being executed in Java for each screen refresh...

Maybe tonight I'll try to get the scene to scroll one tile on each refresh to see how many frames/second it can get.

Maybe it would make more sense to port the C++ code, but it doesn't sound as educational.:-) Also, I think debugging or getting support would be a real problem.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-09-10 04:10

I think everyone can view this: http://www.facebook.com/photo.php?fbid=1680100452030&set=a.1680100412029.2093804.1523107292

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-09-10 05:43

I added scrolling around with the arrow keys, and it's pretty slow. If you want to try it, here's where it looks for files:

String base = "/sdcard/Games/exult/blackgate"; // FOR NOW.
addSystemPath("<PATCH>", base + "/PATCH");
addSystemPath("<STATIC>", base + "/STATIC");
addSystemPath("<GAMEDAT>", base + "/GAMEDAT");

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   11-09-10 11:03

Looks very nice. Can't try it since I don't have an android. I'd root more for an iOS port :)
I'm still surprised that you need to do that much hard work for porting to Android. I was really sure that this would be much easier than porting to Java...
But as long as you are enjoying it... :)

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-10-10 22:53

A bit more progress: http://www.facebook.com/photo.php?fbid=1682792519330&set=a.1680100412029.2093804.1523107292

The Avatar is still a fake (just drawing the shape, he doesn't really exist).

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-15-10 07:35

Getting better: http://www.facebook.com/photo.php?fbid=1690030700280&set=a.1680100412029.2093804.1523107292

(But the Avatar is still faked.)

Reply To This Message
 
 Re: Porting to Android via Java
Author: TDI (---.versanet.de)
Date:   11-15-10 18:07

> I think everyone can view this

I can only see those pictures if I login with a facebook account.

Reply To This Message
 
 Re: Porting to Android via Java
Author: dag (---.pppoe.wtnet.de)
Date:   11-16-10 09:57

>> I think everyone can view this

>I can only see those pictures if I login with a facebook account.

Me, too :-(

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus (not logged in) (84.119.84.---)
Date:   11-16-10 13:43

Jeff, if you don't mind I can put these pictures either on imageshack or dropbox...

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   11-17-10 01:26

Sure, that would be nice.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   11-18-10 10:31

http://www.dropbox.com/gallery/7801769/1/ExultAndroid?h=e27af2
Dropbox Gallery of the four screenshots

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (---.net.novis.pt)
Date:   11-18-10 21:59

The worse part of being a managed language are badly designed api's that even with immutable types are paranoid and copy things into new arrays.

Anyway do you have a repository? I enjoy running findbugs on java code bases and fixing trivial @!#$.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   11-18-10 22:59

It's in our SVN https://sourceforge.net/scm/?type=svn&group_id=2335, just to view it http://exult.svn.sourceforge.net/viewvc/exult/ExultAndroid/

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (---.net.novis.pt)
Date:   11-19-10 01:14

Forgot that android doesn't use java bytecode -> findbugs won't work.

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (---.net.novis.pt)
Date:   11-19-10 01:20

A quick question though: you're trying to keep class to class compatibility between the codebases? There is a ObjectList class that is rather redundant considering the (rather excellent, except for very specialized uses, or primitive collections) java collections api.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-19-10 21:07

I might look into replacing ObjectList, but it currently has the advantage of not creating new links as objects are moved in and out of it, since the objects themselves have the link pointers.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-20-10 02:25

The facebook album now shows that the actual NPC's are being created. The next step, which is probably going to take some time, is to have the Avatar be able to walk around.

What sort of interface should there be for moving the Avatar? I assume Android phones have a touch screen, but is there a common way to indicate dragging with a right-mouse button like we do in U7? Or would the arrow keys work, and then use the touch screen for dragging objects?

(Edit by Dominus: dropbox album updated with this screenshot http://www.dropbox.com/gallery/7801769/1/ExultAndroid?h=e27af2)

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (---.net.novis.pt)
Date:   11-23-10 05:12

There are two places where you are using iterator in the oldest way possible. You should probably use a for each there. I would give you a diff file, but netbeans is being retarded and only allowing me to diff single files, so it would take more time for you to apply that than do it manually.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-23-10 08:31

Thanks. I'll take a look tomorrow. (Anything to speed things up.)

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (---.net.novis.pt)
Date:   11-24-10 05:10

This won't speed anything up though. I suppose subversion commit rights are out of the question? I wouldn't actually touch the code, just refactor it around when not completely functional (that, now it appears to be).

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (---.net.novis.pt)
Date:   11-24-10 05:26

BTW what's the pathfinding algorithm? It doesn't seem to be anything heavy in code like A* how does it avoid obstacles, and moves actors?

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-24-10 21:19

Exult does use A*. I haven't added that to the Java version yet, but I plan to (although maybe that and a few other algorithms should be kept in C++ and use JNI). Generally, I'm trying to convert our C++ code fairly faithfully to Java, cleaning up a few things in the process. It's been a while since I've worked on Exult and this is giving me the chance to become familiar with the code again.

In ExultAndroid, you can walk right through walls now. Maybe I'll call that a feature.:-)

I'm wondering how the emulator speed compares with real devices. Anyone have experience with this?

Reply To This Message
 
 Re: Porting to Android via Java
Author: Cobalt (---.hsd1.in.comcast.net)
Date:   11-24-10 22:57

If they can get this game to run on a PSP you can get it to run on anything.

Reply To This Message
 
 Re: Porting to Android via Java
Author: TDI (---.versanet.de)
Date:   11-24-10 22:58

>In ExultAndroid, you can walk right through walls now. Maybe I'll call that a feature.:-)

Leave it in the game and activate it as a hidden feature when the player enters: osspispopd
That would be kinda funny.

By the way, I'm amazed at the speed of your progress on this.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-25-10 22:08

Thanks. What makes it go fast is that I'm mainly translating from C++ to Java, so most things work right away.

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (89.181.155.---)
Date:   11-26-10 01:11

I know of a few performing A* implementations in java.

http://keithphw.freehostia.com/LineOfSight/LineOfSight.jnlp

the javagaming forum is in general, a good place to as performance and api questions.

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (89.181.155.---)
Date:   11-26-10 01:13

Ah.

source (note that clicking this link may not work, you may have to paste the link text into your browser window to actually download the zip file):
http://keithphw.freehostia.com/LineOfSight/src.zip
dependency jar (Java Topology Suite):
http://keithphw.freehostia.com/LineOfSight/jts-1.8.jar

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   11-26-10 06:57

Is the Android specific coding minimal enough that this could easily be made allow for platform independence?

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-26-10 07:53

There's some Android-specific code for handling events and painting the screen. The rest is pretty standard Java, I think.

Might be nice if someone implemented the Android Java libraries for use on a regular (Linux) PC. I'd imagine the performance would be a lot better, so I wouldn't have to wait 5 minutes for the debugger to get started.

Reply To This Message
 
 Re: Porting to Android via Java
Author: pratfall (---.hsd1.il.comcast.net)
Date:   11-26-10 19:28

You guys seen the Android SDL port? It's supposed to let you build c/c++ SDL apps pretty quickly:

http://www.anddev.org/sdl_port_for_android_sdk-ndk_16-t9218.html

I'm poking at it now, but not really sure what I'm doing :D

Reply To This Message
 
 Re: Porting to Android via Java
Author: Monotremata 
Date:   11-26-10 19:30

DrCode isnt there an emulator you can run on a PC for dev purposes??
Pretty sure Ive seen this mentioned at some of the android sites I frequent..

Might make things a little easier if youre testing directly on your phone..

Morbius/Monotremata Dragon
-==(UDIC)==-
Since 1992!

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   11-27-10 08:29

DrCode posted earlier that he is only using an emulator. He wants feedback on how fast Exult is on a real device.

My experience with the official emulator was extremely poor speed for navigating the basic menus on a 2.4 ghz P4. I'm not sure how this runs in Wine, but there's a program called YouWave Android designed to run Android apps in Windows that is supposed to be focused on speed. I haven't tried it at all though.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   11-27-10 20:14

I think I read somewhere that the emulator is close to the speed of real devices. I've noticed that it bogs down when receiving simulated events. For example, when I hold the shift key down on my real kbd, the emulator gets a stream of events, and gets really slow, even if I turn off my event handler.

As for doing a native port using SDL, someone could try that, and it might have a better chance of success. I want to get some experience with Java and Android development, plus I've lost contact with Exult's code for a few years; and that's why I'm doing it this way.

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (89.181.155.---)
Date:   11-30-10 12:42

Mmm. Look at this. Not sure if it is useful to you:
http://code.google.com/p/libgdx/

Reply To This Message
 
 Re: Porting to Android via Java
Author: i30817 (89.181.155.---)
Date:   11-30-10 12:51

It's probably a abstraction layer too far.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.l-3com.com)
Date:   11-30-10 17:38

ohhhh man imagine my surprise to check back in on this thread after a month of two and see all this activity.

I just got my G1

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.l-3com.com)
Date:   11-30-10 17:39

ok dont know why my post submitted itself mid sentence there. ANYWAY.

just got my g1 REPLACED finally, and have a g2 here now, so if you guys need any help testing etc once an APK is thrown together let me know

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   11-30-10 22:35

I unintentionally checked in the .apk file in our repository, though it hasn't been updated recently. Right now, you can just walk around as the Avatar (and walk through things), and click on items to see what they are. I've started writing the Usecode interpreter, but it will be a week or two before you can do anything useful.

So, yes, I would like to hear how the performance is on a real device. To run it, you'd store the STATIC directory under "/sdcard/Games/exult/blackgate", and it should work from there. But it's not very good at diagnostics yet if anything goes wrong.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus (not logged in) (84.119.84.---)
Date:   11-30-10 23:39

Maybe you should remove the apk file, add an ignore on that file (so you don't add it again) and then upload the apk file you'd like feedback on to our snapshot space. You only need to sftp to our sourceforge webspace... We can then either add a direct link on the download page (i can do this once the file is uploaded once) or link to here...

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-01-10 22:21

That's what I'll do.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.l-3com.com)
Date:   12-03-10 16:02

cool, next time I'm at my home PC i'll copy over my U7 data files to my phone so I'll be ready to give it a whirl when its available

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-03-10 22:30

Another new picture up.

(edit by Dominus, all pictures in the Dropbox gallery as well now http://www.dropbox.com/gallery/7801769/1/ExultAndroid?h=e27af2)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Helverian (---.dip.t-dialin.net)
Date:   12-04-10 14:54

When will be this ready? ;-)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Monotremata 
Date:   12-04-10 19:14

I can do the 'low end' Android testing when its ready.
My Backflip only has a 500 something Mhz CPU in it so at least I can see how it will run for the bottom of the barrel folks.

Although Angry Birds runs pretty choppy on here, Im wondering what something as graphically rich as U7 would do...

Morbius/Monotremata Dragon
-==(UDIC)==-
Since 1992!

Reply To This Message
 
 Re: Porting to Android via Java
Author: Torgus dragon (---.mycingular.net)
Date:   12-06-10 20:09

The new androids should be able to run the game pretty well. My galaxy S is a beast. Especially overclocked.

Reply To This Message
 
 Re: Porting to Android via Java
Author: TDI (---.versanet.de)
Date:   12-06-10 20:28

Finally got this thing running in Eclipse. It runs pretty choppy and keeps crashing on me after a few seconds of map-scrolling, but still very impressive work.

I'm itching to Javafy the code and fix some of those 426 warnings, but its probably best to wait until Dr. Code has finished converting from C. :)

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-06-10 21:36

You should be able to walk around (and through things) by holding the shift key and using the left mouse button. I notice that holding the shift key really slows down the emulator, so you can release it while keeping the mouse button down. You can also talk to NPC's now, but that's probably even buggier than scrolling around.:-) I'm going to try to get the opening working where the Avatar appears.

Dom: BTW, how do I upload to the snapshot area?

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   12-06-10 22:01

To access the snapshot folder: sftp to web.sourceforge.net
username (your SF accountname AND ,exult): jsf,exult
cd /home/groups/e/ex/exult/htdocs/snapshots

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: TDI (---.versanet.de)
Date:   12-06-10 23:43

Hmm, I can't walk around. I start off on a black screen off the top left of the map. I can scroll around the map with the arrow keys, making the terrain and objects appear, and click on things, that's pretty much it. Don't see any alive NPCs either. Just a dead monk east of the Empath Abbey cemetery.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-07-10 05:28

Should start out at the normal place with Iolo and the peasant poised for the opening scene.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-07-10 05:52

Thanks! It's in the snapshot area as "ExultAndroid.apk".

BTW, I've had little luck profiling. Trying it again tonight, it shows the most time spent reading in the item names and creating about 1300 name strings. Seems unlikely considering all the work that goes on painting and reading in objects (and sorting them).

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   12-07-10 16:16

ExultAndroid.apk

Right click and save as on the direct link above.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   12-07-10 22:30

added the link to our download page. Also added that this is not tied to the normal changelog.

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: TDI (---.versanet.de)
Date:   12-07-10 23:01

Strange. I always find myself "avatarless" at the top left (or bottom left) of the map with a black screen, as if some initial repaint isn't happening. Only after scrolling around does the sea start to appear. I tried scrolling to Trinsic to see if the Avatar is there, but Exult always crashes before I can reach it.

I wonder, can it have something to do with the game files? I basically copied the patch, static and gamedat directory and the files from the root ultima directory that seemed important (all the files except TEMP... and SAVE...).

The only thing I changed in the code is change the base dir to "/sdcard/games/Ultima7"

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-08-10 01:23

Try it without the patch and gamedat directories. It will create gamedat using the initgame file in static. While I've been including code that accesses patch files, I haven't tried it at all, and there are lots of sections that I haven't included yet since I still consider this 'experimental' (or 'educational').

Also, you can see messages from the program in the 'logcat' view in the emulator, although I don't know where you could see them on an actual device.

Reply To This Message
 
 Re: Porting to Android via Java
Author: TDI (---.versanet.de)
Date:   12-08-10 20:01

That did the trick, thanks. I'm starting in Trinsic now and can talk to the few NPCs present. I can't walk around with the shift key however.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-08-10 20:47

You have to put the emulator in raw keyboard mode. There's a startup switch, '-raw-keys', or you can toggle it with ctrl-k.

I may change this, because holding a key down makes the emulator much slower. However, you can release the shift key after the Avatar is moving and continue just dragging with the mouse. Seems like there should be a better way, but I don't have a real phone to experiment with yet.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus1 (84.119.84.---)
Date:   12-09-10 20:36

Jeff, could you maintain a changelog and when you update the snapshot, could you add this as "androidchangelog" or so?

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.l-3com.com)
Date:   12-10-10 17:23

finally got back around and could try this out..it's crashing immediately after opening on my G2, using the APK that was previously posted. I've got the files sitting in /sdcard/Games/exult/blackgate as mentioned wayyy back, has the location for this changed? after launching it shows the Exult title bar with a blackscreen for about two seconds then force closes

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.l-3com.com)
Date:   12-10-10 17:25

OH wait, just got it. deleted the GAMEDAT folder and it launches now

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.l-3com.com)
Date:   12-10-10 17:31

trip report: doesnt run much slower than it's supposed to, far as I can tell (g2 clocked at 1.4ghz). avatar doesnt seem to run faster if you click towards the edge though, not sure if thats implemented. talked to iolo, got him to 'join,' wandered around trinsic without any crashes. nobody moves around and theres no 'interiors' but I'm guessing thats all just not in there yet.

all in all looks like a pretty solid start. holding shift and clicking to walk is odd, maybe not holding shift to walk and holding shift when clicking things to use/talk would be more intuitive/less work?

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-10-10 18:33

Thanks for the report. And yes, lots not implemented:

1. Schedules - nobody moves
2. Pathfinding
3. Different walking speeds
4. Pretty sure there are bugs in the conversations.
5. Containers.
6. Combat.
7. Eggs.
8. Audio.
9. Dragging things.
10. Save/restore.

But recently (last few days) added:

1. 'Blocking' - can no longer walk through things, but you can walk up stairs.
2. Roofs disappear when you walk inside.
3. Companions will walk around with you (but only if you stay close).
4. Books/scrolls display.

I think I'll take your advice on the mouse use.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.l-3com.com)
Date:   12-10-10 18:52

cool, glad to help. the only hangup i could think of with the non-shift click to move would be picking things up and moving them, but i guess a quarter-second 'long touch' on an item to pick it up would do the trick (or holding some other key?)

other than that list i guess also just an icon =D looking forward to future updates (like, super excitedly)

Reply To This Message
 
 Re: Porting to Android via Java
Author: CC.Chris (---.internet.mymmode.com)
Date:   12-11-10 15:57

Looks good so far. Runs great on my Droid 2 Global though I do agree with Ed about the walking mechanics (no shift to walk, shift to click on items/talk).

Definitely looking forward to playing it through on my phone :)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Darren__ (67.204.198.---)
Date:   12-13-10 22:58

Neat. After some fiddling with files, I got it to work. I have a very modern android, which unfortunately lacks the key interface. I'm amused how I can use my 'laser scroll wheel' to move my view around the game map and double-click doors and lamps despite the avatar being stuck at the intro area.

Let me know if you're interested in some collaboration on the android api / java side. I'd love this excuse to learn the android API, and I'm pretty smooth with java.

D.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-15-10 20:46

There are Androids without keyboards? Uh oh.

The interface is going to be a challenge. For example, sometimes U7 pauses so you can click on something, like when you're using food. But there's no mouse cursor, so I'm thinking about how to let the user know this. Maybe we should show the 'click-on-an-item' cursor on the screen, have it move around with a light touch, and have it activate on a double click.

Perhaps that's also how the Avatar can move. We show one of the arrow buttons; you drag it around; and then double-click or press it harder (if all Androids can detect that) to control the Avatar.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Torgus dragon (---.mycingular.net)
Date:   12-16-10 15:35

Most of the higher end andiods do not have keyboards. I assume that trend will continue.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   12-16-10 16:11

Its easier to produce touchscreen phones than it is to produce ones with keyboards, and with current pricing schemes companies can charge more for touchscreen phones, so I imagine we'll be seeing more rather than less of them. Have an iPhone myself, so I wouldnt mind seeing an iPhone version. You could probably manage an onscreen keyboard for game particulars on an iPad version.

Many "mobile" games have touchscreen arrow controls for NSEW. A tap or double tap could be a click or double click. It would be a little awkward, but it could work. Not sure how to replicate a right click though. Maybe tap-and-hold? That would be awkward though.
---------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-16-10 18:56

Thanks for the info. I'm still in the dark ages when it comes to phones.

I'm thinking there should always be a cursor drawn on the screen, normally one of the green arrows. To move the Avatar, you drag or hold down the arrow, and his speed depends on the distance to the arrow, just like in the original game. Then if you click or double-click anywhere else, you can activate objects or drag them.

Or maybe clicking on an empty spot toggles the 'move' arrow...

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   12-16-10 19:05

You could make it so that if you tap and hold on the avatar, that would enable move mode, and then they would move towards where you dragged your finger, at a speed determined by how far the avatar is from your finger. That would seem the most intuitive movement interface for phones, though it may be difficult to program.

You could also maybe tap on the avatar and tap on a location to enable the pathfinding mode, or tap on the avatar and then an enemy, to enable combat AI to fight them.
--------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: Monotremata 
Date:   12-16-10 19:13

One thing to keep in mind...
Some lower end Android phones (like mine) dont have multi-touch capability so you are only allowed to tap one point on the screen at a time. Could make it difficult for some...
Makes playing NES and SNES roms a pain in the butt hehe.

Luckily I do have a physical keyboard on mine though..

Morbius/Monotremata Dragon
-==(UDIC)==-
Since 1992!

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.hsd1.va.comcast.net)
Date:   12-16-10 22:30

i think (after removing the shift) that the current touch to move works pretty well, if touching closer to the edge of the phone can make you move faster ala the original

as for keyboard v not keyboard, there arent a whole lot of keys necessary to play, other than the moving/clicking. maybe 4 onscreen transparent buttons in the corners or at the bottom or something for keyring, feed, map, and inventory? i realize there are more shortcuts in the game but those are all i can think of that are used regularly, and in the case of stats etc that can all be accessed from the paperdoll after hitting the inventory button

a few buttons onscreen isnt too intrusive, and keyboarded phones can just press their keys i guess! maybe with an option to turn off the onscreen versions if you dont need them in that case (similar to most of the emulators on the market)

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-17-10 01:54

Maybe I'll experiment this weekend. I like Wizardry's idea, because sometimes you want to click on an item to identify it without having the Avatar move towards it.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Yuv422 (---.static.tpgi.com.au)
Date:   12-17-10 22:36

How about tilting the phone to move the avatar? ;-)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   12-17-10 22:51

I personally dislike the tilting of the phone movement. I can only speak of the iPhone, though...

I think a steering overlay for the thumb would be nice, with it using the arrow keys function and when you keep on a direction you get faster (the overlay should be placeable on each side).
So movement (not counting the double-click-pathfind-to-this-spot) would only be through this and the green arrow (or maybe use the crosshair instead) is for interacting.

An example could be this fromt he Dungeon Hunter game for the iphone. Along with an icon or two for turning on combat for example...
--
Read the documentation and the FAQ are your friends! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   12-17-10 23:03

Hate how those interfaces take up almost literally half the display area, though. Having the interface as close to the original as possible (which is to say no gui unless you start needing it) is preferable to me. Ultimately up to whoevers programming it though, I suppose :-)
----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   12-17-10 23:28

yes, needs evaluation on to what works best. People actually testing/using it need to speak up as well.

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-17-10 23:33

Wow! If that's what a modern phone game looks like, isn't Ultima7 going to look fairly dated?:-)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   12-17-10 23:36

Or if we're really masochistic we can program both interfaces and let someone choose :-)

And yes and no - some games are all graphics intensive like that, others are pixel games and tetris clones, so theres a fair diversity out there.
----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands,ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   12-17-10 23:46

Ha, dungeon hunter is nothing, modern phone games can look like this: http://itunes.apple.com/de/app/infinity-blade/id387428400?mt=8
Infinity Blade looks stunning but lacks in story and is very short...
--
Read the documentation and the FAQ are your friends! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   12-17-10 23:55

Dungeon hunter looks like a 3d PC game from 1999 or so ago. The small size makes the game look better than if stretched out on a monitor.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   12-18-10 00:47

And likewise I dont think the Exult/Ultima 7 graphics do too bad on handhelds either :-)
----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-18-10 09:37

On my emulator, the text of books and scrolls looks pretty bad, but the rest of the graphics look ok, though clearly like a PC game from about 20 years ago.:-)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   12-18-10 09:43

You know though, when you think about it, U7's graphics have aged pretty gracefully for a video game of that age.
-----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-19-10 01:21

I just put up a new snapshot with the walking method suggested by Wizardry. You drag from the Avatar's position to get him moving. I like it, as it's very close to the original.

Don't be surprised if there are bugs...:-) In particular, I notice that sometimes the Avatar starts walking in the opposite direction after hitting an obstacle.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.hsd1.va.comcast.net)
Date:   12-19-10 23:51

the new snapshot immediately crashes on my phone, in place upgrading the version that was on there previously, same /sdcard/Games/exult/blackgate folders/files. has anything changed re: where the files should be?

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   12-20-10 12:06

Added a new section on our download page for the Android snapshot and changelog. Since the Android port is not tied to our regular changelog, this looks better :)
(you might need to refresh the downloads page)

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-20-10 18:12

Whoops. You probably need 'exult_bg.flx' in the 'exult' folder now.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (192.246.84.---)
Date:   12-20-10 19:16

raaaaats ill have to grab it when i get home haha

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (192.246.84.---)
Date:   12-20-10 20:41

yup that did it, up and running again now. everything seems to still be going great, the movement works a-ok with one question: is it possible to make the area-which-counts-as-the-avatar a bit larger? as it is you have to be pretty precise to grab him to make him move, without hitting near him and not moving him, if that makes sense. i.e. a mouse cursor is easy to click him with but a fingertip is a bit less accurate. otherwise, going great

and i had way too much fun dragging the mayor around fyi i formally request this as a feature in the final build =)

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-20-10 21:41

Yea, I was wondering about using the touch interface with your finger, since the objects in U7 are so small. Maybe when you touch the screen, but aren't on an object, we should show a cross-hairs pointer. When you let up, we could remember the location (or maybe the object that it's on). Then if the next click is within a couple pixels, that's what we'd activate.

The latest snapshot should give you a 'too heavy' message when you try to drag the mayor.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   12-21-10 00:38

The easiest way to give a larger target area for touch aiming is to make it the bounding box for the shape, but that may result in difficulties trying to select things very close to a NPC or the avatar. A better solution would be to increase the selextion area by x pixels, though that would be more difficult to program.
----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: NewAndroid (---.hsi6.kabel-badenwuerttembe)
Date:   12-21-10 09:57

Hi,

I'm new to Android but I would love to test Ultima 7 on my mobile phone.
Can anyone maybe give me some instructions on how to "install" Ultima 7 and the android-Exult on my phone?

Reply To This Message
 
 Re: Porting to Android via Java
Author: 486DX2/66 Dragon (---.adsl.cyta.gr)
Date:   12-22-10 20:59

Woot woot woot!!!!!! Fantastic effort! Congratulations!!

Guess what we will be playing when Sony PSP Phone/Android gets on the market. :D

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-22-10 23:52

Thanks! My biggest worry now is speed, especially in the emulator. My computer is a few years old, but shouldn't be all that shabby (Pentium D 2-core at, I think 2.8Ghz). I just added support for eggs, so now Iolo joins right away, and walking around with him is pretty slow. Or maybe the egg-detection is slowing things down. I'm worried that when I add pathfinding and NPC schedules, it will become impossible to use.

I'll work a bit on performance (blindly, since profiling didn't work the last time I tried), plus the user interface.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ray (---.hsd1.ca.comcast.net)
Date:   12-23-10 02:51

Running the Nexus One, unlocked, rooted, etc, so I'll take a look at this soon, and give feedback on performance.

Control Ideas:
-----------------
It is safe to assume that Android devices have a touch screen and either a ball-mouse or a d-pad that is clickable.

This would make a safe fallback of clicking the d-pad/mouse-ball to bring up inventory, tap to move, double-tap for double-click.

Optionally, mouse-wheel/d-pad to move when inventory is not displayed.

Additionally, since most (all?) phones out right now are essentially "widescreen" format, it would be safe to drop a couple on-screen buttons into the left-and right margins (combat mode toggle, perhaps?) without covering any of the playable area.

Reply To This Message
 
 Re: Porting to Android via Java
Author: NewAndroid (---.hsi6.kabel-badenwuerttembe)
Date:   12-23-10 09:02

I copied Ultima 7 onto the sdcard to the directory Games/exult/blackgate

I then installed the exult app from the downloads-section on this website but when I run it I get the error-message "Process .com exult.android was unexpectedly closed."

What am I doing wrong?

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   12-23-10 09:14

You need exult.flx in the Exult folder. You could probably just take the one from Exult's data directory of whatever OS you normally use.

Reply To This Message
 
 Re: Porting to Android via Java
Author: NewAndroid (---.hsi6.kabel-badenwuerttembe)
Date:   12-23-10 09:23

Thanks! It works! :)
Great work! Can't wait to play the full game ;)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (192.246.84.---)
Date:   12-23-10 14:11

to Ray: not that its a huge number, but some devices are actually coming out with no trackpad/trackball. not just low end devices either but some of the big upcoming ones, like the Incredible HD. i dont know why, it seems kinda baffling to try to change the form factor now but who knows. sadly the only input method thats guaranteed to be on every device is the touchscreen, and even then youre not always guaranteed multitouch on every device or software version

the 'joys' of android development =)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   12-23-10 15:29

Android platforms suffer from having very different input schemes. It may be beneficial to have a single-touch interface by default, and then the option to use additional other interfaces (dpad/trackpad/multitouch) to augment it. A single-touch touchscreen is really the only constant I think, so that would be the best "foundation"
----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-23-10 17:42

Yes, for now I'm just going to assume that a touchscreen is present. For moving the Avatar, how about if dragging on the ground also starts him moving? Maybe with a double-click, holding down the second time.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Monotremata 
Date:   12-23-10 19:06

I was gonna mention the input methods the other day and completely forgot to reply hehe..
But yeah Wizardry is right, best bet by default would be a single touch interface..

Lower end phones like my Backflip dont have things like trackballs or even a multi-touch display.. (Although we did somehow get a physical keyboard).. Out of the whole Motorola Cliq/Backflip family, only the CliqXT got MT capability in its 2.1 upgrade.

Leave the options in though I say!
Some phones have custom roms that enable things like multi-touch (the Backflip does although its still up in the air whether multi-touch is safe on the display and hardware) but the 'common man' might not be so technically inclined to root and mod his/her phone..

Morbius/Monotremata Dragon
-==(UDIC)==-
Since 1992!

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (192.246.84.---)
Date:   12-23-10 21:07

drcode, the doubleclick-hold anywhere to move you just mentioned sounds like a good spot to try. that avoids having to precision click the avatar at least when youre trying to move. still going to have to precision click a lot of other things but at this resolution shouldnt be tooooo much of a problem hopefully (scummvm on android had to deal with similar things and it works pretty alright most of the time)

Reply To This Message
 
 Re: Porting to Android via Java
Author: sgordon777 (---.hsd1.mi.comcast.net)
Date:   12-24-10 06:49

>> You need exult.flx in the Exult folder. You could probably
>> just take the one from Exult's data directory of whatever OS you normally use.


Can you please tell where is the data director under Android?

Thanks

Reply To This Message
 
 Re: Porting to Android via Java
Author: sgordon777 (---.hsd1.mi.comcast.net)
Date:   12-24-10 07:07

Forget it, I had an old exult.flx.

Nice work.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-24-10 21:31

Thanks. The next snapshot will print errors instead of just crashing.:-)

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-28-10 21:28

The current snapshot has the opening scene working. Made me realize that the next thing to work on is save/restore.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (---.hsd1.va.comcast.net)
Date:   12-29-10 02:07

running splendidly, even the little forge of virtue earthquake business

is there an inventory/picking things up implemented yet? tried to pick up the key, can move it around but cant seem to 'get' it. if thats not in yet then disregard that as a bug haha

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-30-10 04:16

You can't drop it directly on something, but you should be able to drag it into a bag or the inventory screen. That's one of the (many) things I've overlooked.

Funny, but the earthquake doesn't show in my emulator. Only a few pixels at the edge of the screen move.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (192.246.84.---)
Date:   12-30-10 13:53

you know since I mentioned it I went back and tried it again. this time it didnt do the earthquake at all. i mean it still 'happened,' everyone still danced around, but no vibration effect on the screen, not even at the edges.

I'm not overclocked this time though so I wonder if its a refresh rate/performance issue

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (192.246.84.---)
Date:   12-30-10 13:58

just tried it again and got the couple pixels around the edges version that you mentioned, weird

also, and i guess this is more a further down the road option, but without a graceful exit from the app, if you leave and come back in it comes back in a weird state of confusion (Iolo starts his opening schtick even tho you're already there, etc). just thought id mention haha

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.mentorg.com)
Date:   12-30-10 18:59

The earthquake needs to be rewritten, but I haven't gotten around to it yet (low priority). It's a thread/race condition. What I'm learning about Android programming is that you can't have the main thread stall doing something that takes more than a second or two. So the screen painting, usecode interpreter, and save/restore run in separate threads.

The next snapshot will have the save/restore screen implemented. Got to see if I can detect when there's no keyboard so I can give default names.

Now I wonder how it would have been to port Exult in C++ using JNI like someone suggested above. Would it just be a single thread taking over the machine?

Reply To This Message
 
 Re: Porting to Android via Java
Author: Ed (192.246.84.---)
Date:   12-30-10 21:09

from what ive read i think yeah it just bruteforces everything thru a single thread which probably isnt great for performance? i cant imagine itd work well for something like this once scheduling etc is implemented

but i will openly admit my java background is...well i dont know if 'terrible' is the right word but its certainly not good haha

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-31-10 02:46

New snapshot: Main feature is save/restore. Press 's' to bring up the screen.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   12-31-10 02:54

Oops, 3 things:

1. If it crashes right away, try removing the contents of the 'gamedat' directory and try again.
2. The opening scene is turned off in this version.
3. It doesn't restore games from the main Exult yet, but I hope it eventually will.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   01-01-11 02:01

Another: First scene starts again. And music works if you put the .ogg music files in /sdcard/Games/exult/music

Reply To This Message
 
 Re: Porting to Android via Java
Author: Andre (---.dsl.telesp.net.br)
Date:   01-01-11 22:21

I have an generic chinese 2.1 android phone.

The December 28th release works on my phone, but the January 1st "force closes".

What could be the reason?

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   01-02-11 00:27

Maybe music is forced at the moment. Try adding the ogg files to the path DrCode lists. If that doesn't work, try disabling audio.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   01-02-11 01:52

Try removing everything from the 'gamedat' directory.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Andre (---.dsl.telesp.net.br)
Date:   01-02-11 02:19

It still Force closes even after i deleted all the content of gamedat folder.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Andre (---.dsl.telesp.net.br)
Date:   01-02-11 02:23

Sorry... I run the older version after I deleted the gamedat dir and it created all the files again. I deleted it and now it works (with music =D )

Thank you, and keep up the good work!

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   01-02-11 03:24

Its too bad the requirement of App Store availability means an iPhone port is probably a no-go.
-----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus1 (---.dynamic.xdsl-line.inode.at)
Date:   01-02-11 04:29

Let's leave the iphone out of this thread... ;)
But yes, iphone on the App store is not a very promising outlook. Same as Scummvm, a version that requires a jailbreak would be welcome ;)
Though personally I'd not use it on an iphone... On an ipad, though, sure would love it....

Reply To This Message
 
 Re: Porting to Android via Java
Author: Wizardry Dragon (---.cpe.net.cable.roger)
Date:   01-02-11 04:36

If it was on an iPad, I may actually buy one, because it would be pretty awesome. Especially if it supported TFL :P

Actually, speaking on that matter, there wont be/isnt any special accomodations I need to consider for having TFL work on these other platforms such as android, is there?
----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus1 (---.dynamic.xdsl-line.inode.at)
Date:   01-02-11 10:12

The Android port is a special case, as it is a rewrite and thus will have to have support for mods, patches, new games reimplemented. And later changes to the main branch need to be manually ported back into Android. So there are a lot of possibilities for it to break at times.
An iOS port wouldn't need that much rewrite. For iOS you only need to port current SVN to SDL 1.3 (which could be done through a compatibility header) and to make an xcode project file for it. Then you could probably already make it compile and run on iOS. You wouldn't be able to use it though, since the touch interface needs to be coded in as well ;)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Darren___ (67.204.198.---)
Date:   01-02-11 17:48

So are you translating ALL of exult into android/java?

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   01-02-11 19:01

I'm guessing not the Exult Studio parts.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   01-02-11 21:39

Definitely not ExultStudio.:-) But I'd like to get all the rest working, but skipping support for some things. LIke the music might require the .ogg files, where normal Exult supports lots of different options.

And yes, rewriting might be a dumb thing to do, since changes to the mainline will have to brought in by hand.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   01-02-11 22:30

on the music, the FMOPL emulator might be the least CPU demanding music option if you can port that. I dimly remember that being the way for the PoketPC port.

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

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   01-03-11 05:38

DrCode, you might want to start a new thread with all the needed info in the first post. This thread already has more than 150 posts.


Quote:

For iOS you only need to port current SVN to SDL 1.3 (which could be done through a compatibility header)

There's more that needs to be done. There's some things defined in functions that had to have special definitions.

I have an for Win32 (probably works in other OSs without ES support) that compiles, but it fails when it tries to render. It seemed to crash at SDL_SetVideoMode (in window or fullscreen). Fullscreen only detected support for 16 bit.

Edit: The 8-bit video check in Image_window::static_init() was wrong. I have no idea why 32 bit isn't showing up.

Edit 2: SDL_VideoModeOK returns the actual res it can display which was 24

Edit 3: Screw it since it would cost $500 for a license to distribute it with the dlls on all Embedded platforms. ($100 dollars for only Iphone rights)

Reply To This Message
 
 Re: Porting to Android via Java
Author: Darren___ (67.204.198.---)
Date:   01-04-11 00:33

It certainly makes for a quicker proof of concept -- nothing dumb about that.
I think you'll be fine, so long as you separate the android-specific interface code as much as possible at this early stage, and then later if you want, you can conveniently wrap around updated 'native' exult cpp code (which both android and iOS will accept compilation for).

This may also require simultaneously separating some interface-specific stuff from exult, depending on how you want to go about that. I've never looked at exult code before so I don't know how platform-agnostic or SDL-independent the majority of the codebase is ...But maybe I will some time. Right now I'm knee-deep in xu4.

(PS, come visit our new xu4 spam-free bulletin board (suddenly I realize that this PS is spam :( ))

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   01-04-11 02:33

Quote:

on the music, the FMOPL emulator might be the least CPU demanding music option if you can port that. I dimly remember that being the way for the PoketPC port.


Hopefully Android phone makers are including oga (ogg) hardware acceleration unlike their main competition, Apple.

Reply To This Message
 
 Re: Porting to Android via Java
Author: DrCode (---.hsd1.or.comcast.net)
Date:   01-04-11 06:45

I don't know about performance on actual phones, but playing ogg files works fine on the emulator (probably because it's not truly emulated, but going straight to the sound system on the host computer). Right now, I'm doing what's simplest, and am pretty happy at how simple the audio code is in this version compared to classic Exult (which supports many different platforms and formats).

The next big step is to implement pathfinding and NPC schedules.

Reply To This Message
 
 Re: Porting to Android via Java
Author: Malignant Manor 
Date:   01-04-11 07:31

Quote:

The next big step is to implement pathfinding and NPC schedules.

Do you plan on just converting the trunk code?

One major bug the trunk has is that the first time it changes the hour, the npcs will stop what they are doing and go to the next schedule (even if it is the same schedule and location). There's also an awkward pause that they do when changing.

Edit: Exult wasn't saving schedule locations properly so it returns 0. I've got a fix the first hour change in the trunk. I'm going to add the missing z coordinate in some unused spot (Exult Studio can set z locations for schedules).

Reply To This Message
 
 Re: Porting to Android via Java
Author: Dominus 
Date:   01-04-11 10:41

This thread got a bit to long for browsing, so I started a new one at
http://exult.sourceforge.net/forum/read.php?f=1&i=346769&t=346769

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

Reply To This Message
 Go to Top  |  Go to Topic  |  Threaded View   Newer Topic  |  Older Topic 


 
SourceForge   phorum.org
 
Problems with Exult or this webpage? Contact us.
Last modified: 24 Oct 2001(GMT)