Official android port


Although the central place for design discussion is ##crawl-dev on freenode, some may find it helpful to discuss requests and suggestions here first.

User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Saturday, 8th September 2012, 12:27

Official android port

So, frogbotherer's android port has been merged into trunk. You can find the latest binary on the trunk download page. And here is the commit. Many of his improvements will be included in future local tiles trunk releases too.

You might need to uninstall the previous version build by frogbotherer before installing this one, because of issues with debug keys and the fact that they have been compiled on separate computers.

If you had a go with previous builds, you must delete:
/sdcard/app-data/org.develz.crawl/libsdl-DownloadFinished-0.flag

If you have stability issues after updating, you can also remove:
/sdcard/app-data/org.develz.crawl/ (the whole directory)
/data/data/org.develz.crawl/files/libsdl-settings.cfg (if you have root)
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

For this message the author galehar has received thanks: 3
brendan, rebthor, willshattuck

Slime Squisher

Posts: 400

Joined: Saturday, 24th September 2011, 03:45

Post Saturday, 8th September 2012, 21:03

Re: Official android port

Nice. Does this mean the tiles droid binary is getting automatic trunk updates? I hope the ascii port gets the same treatment.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Saturday, 8th September 2012, 23:01

Re: Official android port

eeviac wrote:Nice. Does this mean the tiles droid binary is getting automatic trunk updates? I hope the ascii port gets the same treatment.

No, nothing automatic yet. And no, I haven't even started to look at the ascii port. The tiles port was already a lot of work, I can't work on both of them at the same time.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Lair Larrikin

Posts: 16

Joined: Tuesday, 4th September 2012, 00:24

Post Sunday, 9th September 2012, 13:40

Re: Official android port

FWIW on my Nexus 7, whereas Frogbotherer's build would load, this new build will not. It starts at the SDL screen and then blanks out and goes back to the home screen.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Sunday, 9th September 2012, 19:25

Re: Official android port

yoshi wrote:FWIW on my Nexus 7, whereas Frogbotherer's build would load, this new build will not. It starts at the SDL screen and then blanks out and goes back to the home screen.

Did you uninstall the previous version?
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

For this message the author galehar has received thanks:
yoshi

Ziggurat Zagger

Posts: 3163

Joined: Friday, 6th January 2012, 18:45

Post Sunday, 9th September 2012, 21:09

Re: Official android port

Make sure you delete the file /sdcard/app-data/org.develz.crawl/libsdl-DownloadFinished-0.flag

For this message the author BlackSheep has received thanks:
yoshi
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Sunday, 9th September 2012, 22:53

Re: Official android port

I've updated the build which is now linked on the download page. I've updated the first post accordingly.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Slime Squisher

Posts: 400

Joined: Saturday, 24th September 2011, 03:45

Post Monday, 10th September 2012, 00:08

Re: Official android port

Game and gold turns aren't showing up for me (I thought this was on by default now? I edited the config file anyways). Are they disabled on purpose?
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Monday, 10th September 2012, 07:08

Re: Official android port

eeviac wrote:Game and gold turns aren't showing up for me (I thought this was on by default now? I edited the config file anyways). Are they disabled on purpose?

It depends on available screen estate. See tile_layout_priority. It's going to be changed though. One option for stat area and another for panels.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Lair Larrikin

Posts: 16

Joined: Tuesday, 4th September 2012, 00:24

Post Monday, 10th September 2012, 16:17

Re: Official android port

galehar wrote:
yoshi wrote:FWIW on my Nexus 7, whereas Frogbotherer's build would load, this new build will not. It starts at the SDL screen and then blanks out and goes back to the home screen.

Did you uninstall the previous version?


I did but I will attempt what blacksheep said and report back

Edit: and that fixed it. Thanks all.

Spider Stomper

Posts: 217

Joined: Tuesday, 21st February 2012, 21:32

Post Tuesday, 11th September 2012, 01:34

Re: Official android port

This is pretty cool. Not really playable on my Samsung Galaxy S II (4.27", 800 x 480) screen though. My fingers are having too much trouble consistently hitting the right tile/button. Maybe with a capacitive screen stylus? And sometimes my eyes literally go cross-eyed trying to focus on the tiny icons or read the microscopic text. My eyes are getting old though.

Is everyone playing on 7" or 10" tablet? Has anyone tried on a Samsung Galaxy Note or Note II? I don't think 5.5" will work with my crappy eyes, but....

I'm finding out things about the interface I didn't know, like double-tapping on my guy picks up items in that tile, double tapping on a stairs travels down, clicking on item in inventory lets you click on the word (e)at, (w)ear, e(v)oke, etc.

One thing I do a ton on the PC is X>>>> to cycle through the stairs to see which one I want to take, which have been visited yet, etc. Can't figure out how to do that here. It's actually kind of hard to find the stairs at all, since the minimap is so mini as to be useless. I just click around on the minimap at random until I see a stairs, then click on the stairs tile. Personally, I'd rather have bigger and/or additional action icons (specifically one for 'E') than a minimap. Is the sizing of areas of the UI configurable?

I'll try this out on my Nook when I get home. Hopefully the experience will be better for me. It would be nice to not have to lug my laptop back and forth every day on my bus commute.

Ziggurat Zagger

Posts: 3163

Joined: Friday, 6th January 2012, 18:45

Post Tuesday, 11th September 2012, 03:00

Re: Official android port

ddubois wrote:One thing I do a ton on the PC is X>>>> to cycle through the stairs to see which one I want to take, which have been visited yet, etc. Can't figure out how to do that here. It's actually kind of hard to find the stairs at all, since the minimap is so mini as to be useless.

The latest versions open a navigation tab which has buttons for finding stairs or just going up/down the nearest set. Rather than needing to type 'X' to enter map mode, you can just click on the map.

I'm playing on a Kindle Fire, and I agree about the buttons being tricky to hit properly. Adding on screen buttons for Esc and Enter speeds things up, but they always appear over my inventory panel, which becomes a problem once I've accumulated a lot of stuff. It would be great if I could move them to a different corner.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Tuesday, 11th September 2012, 08:15

Re: Official android port

ddubois wrote:This is pretty cool. Not really playable on my Samsung Galaxy S II (4.27", 800 x 480) screen though. My fingers are having too much trouble consistently hitting the right tile/button. Maybe with a capacitive screen stylus? And sometimes my eyes literally go cross-eyed trying to focus on the tiny icons or read the microscopic text. My eyes are getting old though.

frogbotherer has plans to improve the UI on phone screens.

I'm finding out things about the interface I didn't know, like double-tapping on my guy picks up items in that tile, double tapping on a stairs travels down, clicking on item in inventory lets you click on the word (e)at, (w)ear, e(v)oke, etc.

single taping the guy is enough. You used to be able to do that with shift-click, now it also does it with a simple tap if there's no item on the ground. Can pray at an altar that way too. The words under the item descriptions weren't clickable before, it's one of the UI change frogbotherer has done for the android port.

One thing I do a ton on the PC is X>>>> to cycle through the stairs to see which one I want to take, which have been visited yet, etc. Can't figure out how to do that here. It's actually kind of hard to find the stairs at all, since the minimap is so mini as to be useless. I just click around on the minimap at random until I see a stairs, then click on the stairs tile. Personally, I'd rather have bigger and/or additional action icons (specifically one for 'E') than a minimap. Is the sizing of areas of the UI configurable?

as blacksheep has explained, in map mode a navigation panel opens with buttons for stairs, waypoints, exclusions,... I agree that the minimap is not as useful as additional panels, that's why I disable it. Look at the tile_layout_priority option. This option is likely to be simplified a bit and renamed to tile_panels. Also, I plan to make them dynamic (right click the tab to detach/reattach them). Including the minimap.

BlackSheep wrote: I'm playing on a Kindle Fire, and I agree about the buttons being tricky to hit properly. Adding on screen buttons for Esc and Enter speeds things up, but they always appear over my inventory panel, which becomes a problem once I've accumulated a lot of stuff. It would be great if I could move them to a different corner.

Can't you just use back for esc? Also, I'm not sure why frogbotherer mapped menu to space instead of enter. The latter would be much more useful IMO.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Lair Larrikin

Posts: 16

Joined: Tuesday, 4th September 2012, 00:24

Post Tuesday, 11th September 2012, 12:46

Re: Official android port

BlackSheep wrote:
ddubois wrote:One thing I do a ton on the PC is X>>>> to cycle through the stairs to see which one I want to take, which have been visited yet, etc. Can't figure out how to do that here. It's actually kind of hard to find the stairs at all, since the minimap is so mini as to be useless.

The latest versions open a navigation tab which has buttons for finding stairs or just going up/down the nearest set. Rather than needing to type 'X' to enter map mode, you can just click on the map.

I'm playing on a Kindle Fire, and I agree about the buttons being tricky to hit properly. Adding on screen buttons for Esc and Enter speeds things up, but they always appear over my inventory panel, which becomes a problem once I've accumulated a lot of stuff. It would be great if I could move them to a different corner.


If you have a bluetooth keyboard and mouse, X>>> works great. The mouse is also awesome to select the small boxes. I do want my tiles a bit bigger because they are still a bit small on a 7" screen with my old eyes. I tried to tweak some settings but didnt work.

One interesting aside is I tried webtiles on chrome on my nexus 7 and it worked even with text input, whereas it wouldnt work on my ipad. THerefore if one had a 8.9" tablet one might have the ultimate crawling portable machine.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Tuesday, 11th September 2012, 12:58

Re: Official android port

yoshi wrote:I do want my tiles a bit bigger because they are still a bit small on a 7" screen with my old eyes.

Try the new tile_cell_pixels option. Default is 32, set to a higher value for bigger tiles. Still experimental. It might break the layout or burn down your phone. Doesn't do anything for menus yet.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

For this message the author galehar has received thanks:
yoshi

Lair Larrikin

Posts: 16

Joined: Tuesday, 4th September 2012, 00:24

Post Tuesday, 11th September 2012, 13:41

Re: Official android port

Thanks! For me it appears 38 appears to be a sweet spot (although 20 looks awesome in its own right :)). Is there anyway to change the softbutton that pulls up the keyboard to make it more transparent or hide it altogether?
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Tuesday, 11th September 2012, 14:39

Re: Official android port

yoshi wrote:Thanks! For me it appears 38 appears to be a sweet spot (although 20 looks awesome in its own right :)). Is there anyway to change the softbutton that pulls up the keyboard to make it more transparent or hide it altogether?

You can disable it and configure various thing, although maybe not the button. Check the configuration menu accessible on the SDL loading screen.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Ziggurat Zagger

Posts: 3163

Joined: Friday, 6th January 2012, 18:45

Post Tuesday, 11th September 2012, 15:40

Re: Official android port

galehar wrote:Can't you just use back for esc? Also, I'm not sure why frogbotherer mapped menu to space instead of enter. The latter would be much more useful IMO.

I don't have the soft menu visible all the time. I should probably figure out how to change that. Right now I have to touch the very bottom of the screen to make it appear, which is difficult with the case I have.

I agree with swapping Space for Enter on the menu button. I can't think of any cases where Space would be better.
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Tuesday, 11th September 2012, 20:37

Re: Official android port

This almost makes me want to buy an Android tablet like a Nexus 7!

How "portable" is the work on this to an iPad port? Many of the interface issues would be resolved anyway.

dd

Shoals Surfer

Posts: 295

Joined: Sunday, 3rd June 2012, 20:05

Post Tuesday, 11th September 2012, 20:55

Re: Official android port

Well, finally it works in my phone.

Sadly, with a 320x240 screen, it's pretty much unplayable - the interface doesn't show in whole, and the dungeon map is so small I can't make out anything... A zoom function would be mandatory for it to be playable on a small screen.

Is there a way to configure it so that the interface shows smaller and the game map larger?

dd

Shoals Surfer

Posts: 295

Joined: Sunday, 3rd June 2012, 20:05

Post Tuesday, 11th September 2012, 20:57

Re: Official android port

danr wrote:This almost makes me want to buy an Android tablet like a Nexus 7!

How "portable" is the work on this to an iPad port? Many of the interface issues would be resolved anyway.


Apple doesn't let just anyone develop apps on their walled garden ecosystem. You need to buy a license to develop for apple...
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Tuesday, 11th September 2012, 21:07

Re: Official android port

Is that apple dev license $20 or $20,000?

If it was a reasonable amount, those of us already stuck in that walled garden might shell out some money to get a port rather than shell out money for a second device we don't need. I dunno.

Licence issue aside, can the same code be ported to the iOS platform or does it need to be rewritten in some other language?
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Tuesday, 11th September 2012, 21:29

Re: Official android port

danr wrote:Licence issue aside, can the same code be ported to the iOS platform or does it need to be rewritten in some other language?

The game hasn't been rewritten to run on Android. It's the same C++ code, but some parts had to be adapted. And the UI had a lot of work put into it to be usable without a keyboard, and much more still needs to be done. iOS can run objectiveC++ code which might be close enough. There would be work involved to port it to iOS, and even more work to put in on the store. And royalties to pay to apple. And maybe they'll just ban the game because it has a lua interface and that's the kind of things unacceptable for apple.
The UI adaptations done would certainly help for an iOS port, but someone has yet to show any interest in actually doing it.

dd wrote:Is there a way to configure it so that the interface shows smaller and the game map larger?

As I already explained a couple of post above yours, UI adaptations for small screen support are planned, and you can already use an option to get bigger tiles.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Tuesday, 11th September 2012, 21:32

Re: Official android port

Thanks Galehar.

Dungeon Master

Posts: 27

Joined: Wednesday, 18th April 2012, 11:54

Post Tuesday, 11th September 2012, 22:15

Re: Official android port

Talking of adaptations for small screens!

Here are some really awful mockups of the sort of abuse I'm considering putting the presentation code through to get it to fit:
dcss-mockup-1a.png
dcss-mockup-1a.png (83.43 KiB) Viewed 133238 times
a typical screen

dcss-mockup-1b.png
dcss-mockup-1b.png (94.32 KiB) Viewed 133238 times
clicking on a menu tab opens it, obscuring part of the dungeon area

The intention would be for every icon to be big enough that a fat finger can press it with only a mild risk of hitting the wrong thing. This layout would be an alternative (rather than a replacement), that would be enabled by default for devices with a smaller screen size (in pixels) than the current local tiles minimum, which is 800x600 or thereabouts.

I am probably 80% confident that I can actually make this work, but wanted to run the idea past interested parties before busting out the virtual sledgehammer. If you want to make better mockups, I can put the GIMP file up somewhere for fiddling with too (the forums didn't like .xcf files).

Regarding an iOS port: there is an SDL library port already, which is the difficult bit, but there isn't the same level of "glue" as the Android SDL library that we're using - this is the thing that's responsible for the virtual keyboard and all the crazy settings before the game boots. Having said that, if there are any open source games using SDL and ported to iOS, we can probably mis^H^H^Hre-appropriate their code instead of having to rewrite it from scratch. I would have a go at it, but for the fact I don't own a dev licence. Or an iPad.

Or a mac :(

Crypt Cleanser

Posts: 726

Joined: Friday, 11th February 2011, 18:46

Post Wednesday, 12th September 2012, 02:52

Re: Official android port

I'm not really a potential user of the android version, but I have to ask: if space is that much of an issue, why even show the base stats and AC/EV/SH all the time? It's not like it really changes very often.

dd

Shoals Surfer

Posts: 295

Joined: Sunday, 3rd June 2012, 20:05

Post Wednesday, 12th September 2012, 05:31

Re: Official android port

danr wrote:Is that apple dev license $20 or $20,000?


It's $99 per year I think. Also you need Apple's approval, whatever that entails.

frogbotherer wrote:Here are some really awful mockups


The mockup looks good, if the interface was like that I could probably play it on my phone...

Also, I noticed there are still some GUI tiles needed... at least memorize spell and cast spell, and there seems to be a couple of tab icons? Any others?

Lair Larrikin

Posts: 23

Joined: Wednesday, 11th July 2012, 14:37

Post Wednesday, 12th September 2012, 11:44

Re: Official android port

Playing as an Abyssal Knight is pretty slow. I found this out by playing one on my ascii port, but it happens also on the latest trunk tiles build. After some debugging, the Worley noise generator in abyss.cc is what's causing the hangups.
Also, shameless plug, my app's on Google Play atm. Wheee! https://play.google.com/store/apps/deta ... om.crawlmb .

I've cloned the repository and made my own branch as well, but my plan was just to merge in the latest stable releases. Let me know if you want to merge my changes into trunk like frogbotherer's or something. My changes are relatively minimal (about 3 added files, 4 modified files, though 2 of those are in the sqlite and lua contrib submodules). I don't really mind keeping it seperate/unofficial though.

Regarding the iOS port, I *may* be able to help. I have a dev license from work, but I'm a total beginner. Probably best if someone with iOS experience had a go with it...

Slime Squisher

Posts: 341

Joined: Wednesday, 14th September 2011, 10:10

Post Wednesday, 12th September 2012, 11:46

Re: Official android port

barbs wrote:Regarding the iOS port, I *may* be able to help. I have a dev license from work, but I'm a total beginner. Probably best if someone with iOS experience had a go with it...


Remember that as far as I know you can't have LUA on the Apple Store for iOS devices. That's quite a bad hit on crawl.
My wins so far - FeBe, KoBe, DsCo, MDFi, DsBe

Lair Larrikin

Posts: 16

Joined: Tuesday, 4th September 2012, 00:24

Post Wednesday, 12th September 2012, 13:40

Re: Official android port

danr wrote:Is that apple dev license $20 or $20,000?

If it was a reasonable amount, those of us already stuck in that walled garden might shell out some money to get a port rather than shell out money for a second device we don't need. I dunno.

Licence issue aside, can the same code be ported to the iOS platform or does it need to be rewritten in some other language?


If I could get the bluetooth keyboard to work, webtiles would work great on the ipad
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Wednesday, 12th September 2012, 14:02

Re: Official android port

frogbotherer wrote:Talking of adaptations for small screens!

Those mockups are promising, I think you are on the right path. The HP/MP bars can be shorter if more room is needed below. I'm a bit ambivalent toward displaying AC/EV/SH and stats. On one hand, they don't change much, and on the other hand, some are quite important (AC/EV). And stats can be extremely important sometimes (when close to O). Maybe it would be good to make it a bit flexible and only display stats if they are drained for example. AC/EV/SH can probably be removed if we need the space.
I think it could be useful to have icons for wielded weapons, quiver and maybe also spell quiver. Tap your weapon to switch (same as '), hold to open the wield menu. Tap your quiver to switch to next, hold to open quiver. Tap your last spell to recast it, hold to open the cast spell menu. Also, there are the status. How about this: display them as coloured dots, tapping on them would popup a window with the actual names of all active status.

frogbotherer wrote:The intention would be for every icon to be big enough that a fat finger can press it with only a mild risk of hitting the wrong thing. This layout would be an alternative (rather than a replacement), that would be enabled by default for devices with a smaller screen size (in pixels) than the current local tiles minimum, which is 800x600 or thereabouts.

Smallest res on desktop is 800x480. Haven't you talk about making it depend on the physical size of the screen rather than the resolution? I don't know if the Android API allows it but it would make sense. I've got an SG2 phone and a 7" tablet and they both use 800x480. I think the classical layout would be quite playable on the tablet with a few adjustments, but I'd rather have the new one on the phone.

barbs wrote:Playing as an Abyssal Knight is pretty slow.

This isn't specific to the android port. The abyss morphing code takes a lot of CPU, but while it's not noticeable on a desktop computer, it is on an android phone. It's also noticeable on servers for example. Anyway, this is offtopic and bh has said that he knows how to optimize this, so it will hopefully be fixed soon.

barbs wrote:Also, shameless plug, my app's on Google Play atm. Wheee! https://play.google.com/store/apps/deta ... om.crawlmb

It would have been nice to ask for our permission before doing that. Personally, I think it's better to wait for a more mature version before making it available on the store. We are not going to win any new player by throwing at them a half-finished, hard to use version.

barbs wrote:I've cloned the repository and made my own branch as well, but my plan was just to merge in the latest stable releases. Let me know if you want to merge my changes into trunk like frogbotherer's or something. My changes are relatively minimal (about 3 added files, 4 modified files, though 2 of those are in the sqlite and lua contrib submodules). I don't really mind keeping it seperate/unofficial though.

Well, I think it would be good to merge it. frogbotherer, would you look into it?

palin wrote:Remember that as far as I know you can't have LUA on the Apple Store for iOS devices. That's quite a bad hit on crawl.

Well, after some googling, it seems that this is no longer true. And lua itself is available on the app store.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Lair Larrikin

Posts: 23

Joined: Wednesday, 11th July 2012, 14:37

Post Wednesday, 12th September 2012, 15:23

Re: Official android port

barbs wrote:Also, shameless plug, my app's on Google Play atm. Wheee! https://play.google.com/store/apps/deta ... om.crawlmb

It would have been nice to ask for our permission before doing that. Personally, I think it's better to wait for a more mature version before making it available on the store. We are not going to win any new player by throwing at them a half-finished, hard to use version.

It's not half-finished. It's finished, based on the latest stable version of Crawl, and I've spent the last 4 months working on it to make sure it's stable and playable.

On second thoughts, I think I'll just keep my app as an unofficial port. I'll make sure to mark it as such on the Google Play listing, and on the Google Project site, and I'll just merge stable builds into my branch when they're released. Feel free to clone my project and use it for whatever you want.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Wednesday, 12th September 2012, 16:06

Re: Official android port

barbs wrote:On second thoughts, I think I'll just keep my app as an unofficial port.

Sorry to call your work half-finished. That was harsh and not justified, I barely tried it.
Anyway, crawl is GPL, it means you are free to make your own version and distribute it however you want. You can even sell it if you want. It also means you have to redistribute your code and if we want, we can merge it in trunk.
I still think it would have been nice of you to ask us if we were ok about you distributing your version on the store. But it's ok, I'm not going to hold any grudge about that.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Slime Squisher

Posts: 341

Joined: Wednesday, 14th September 2011, 10:10

Post Wednesday, 12th September 2012, 19:45

Re: Official android port

galehar wrote:
palin wrote:Remember that as far as I know you can't have LUA on the Apple Store for iOS devices. That's quite a bad hit on crawl.

Well, after some googling, it seems that this is no longer true. And lua itself is available on the app store.


And I just read compile time options for crawl itself that can block lua usage by users, so it would be possible to comply even with the previous version of the agreement. There's still the c++/objective c problem, which may or may not be bypassed by the use of source translators.
My wins so far - FeBe, KoBe, DsCo, MDFi, DsBe

Lair Larrikin

Posts: 23

Joined: Wednesday, 11th July 2012, 14:37

Post Thursday, 13th September 2012, 02:33

Re: Official android port

galehar wrote:Sorry to call your work half-finished. That was harsh and not justified, I barely tried it.

That's ok :)
galehar wrote:Anyway, crawl is GPL, it means you are free to make your own version and distribute it however you want. You can even sell it if you want. It also means you have to redistribute your code and if we want, we can merge it in trunk.

Yep, I totally get that. In fact, I'd encourage you to merge in my changes if that's what you wanted to do. I'm still keen to keep mine as an unofficial thing, not because of any grudge or anything, but mainly because I don't really want to do any major work on it anymore. I tried once to merge my stuff into trunk, and although I got it working, there were some tricky bugs that I didn't really have the time or patience to sort out. It's basically a side-project, and now that I've got it to a point I'm happy with (latest stable code, app runs fine), I kind of want to work on something else, although I'll maybe update it every now and then for new releases, or based on feedback for new features/bugs.

As I said though, if you want to merge my stuff, I encourage you to do it. I'd be happy to help out a little bit even, maybe answer questions and all that.
galehar wrote:I still think it would have been nice of you to ask us if we were ok about you distributing your version on the store. But it's ok, I'm not going to hold any grudge about that.

Fair enough, sorry about that. I posted my progress in the forums, but apart from a couple of people it didn't seem there was much interest in it, so I just went ahead and did it. Hardly an excuse. I guess I should've at least announced my intention to put it on Google Play on IRC or something.

Dungeon Master

Posts: 1531

Joined: Saturday, 5th March 2011, 06:29

Post Monday, 17th September 2012, 10:11

Re: Official android port

palin wrote:
barbs wrote:Regarding the iOS port, I *may* be able to help. I have a dev license from work, but I'm a total beginner. Probably best if someone with iOS experience had a go with it...


Remember that as far as I know you can't have LUA on the Apple Store for iOS devices. That's quite a bad hit on crawl.


I really don't think this is true. Didn't id software released a version of Rage on iOS? They use LUA all over the place in their engines. Most serious games contain some form of scripting language. You need to look very carefully at how the license is worded, I think it's targetted at programs that would allow you to write scripts, not simply at programs containing a scripting engine.

Also: regarding the build page, great to see the port there, but I don't see any instructions there for how to actually install it on Android ...
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Monday, 17th September 2012, 11:09

Re: Official android port

mumra wrote:Also: regarding the build page, great to see the port there, but I don't see any instructions there for how to actually install it on Android ...

Installing an apk is very straightforward. Just tap it in the file explorer and choose install.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Dungeon Master

Posts: 1531

Joined: Saturday, 5th March 2011, 06:29

Post Monday, 17th September 2012, 16:34

Re: Official android port

galehar wrote:
mumra wrote:Also: regarding the build page, great to see the port there, but I don't see any instructions there for how to actually install it on Android ...

Installing an apk is very straightforward. Just tap it in the file explorer and choose install.


Yeah, I know this but was just suggesting it might not be obvious for all Android users. I just tested and you also have to check the "Unknown sources" setting in Security otherwise the install is blocked.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Monday, 17th September 2012, 21:01

Re: Official android port

mumra wrote:Yeah, I know this but was just suggesting it might not be obvious for all Android users. I just tested and you also have to check the "Unknown sources" setting in Security otherwise the install is blocked.

Oh right, forgot about that. Anyway, it's trunk with a clunky interface, not for newbies :)
We'll release 0.12 on the store and that would be easier for everyone.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Spider Stomper

Posts: 217

Joined: Tuesday, 21st February 2012, 21:32

Post Tuesday, 18th September 2012, 00:27

Re: Official android port

I just gave this a try on a 7" Nook and it's still a bit too hard to reliably press the action buttons you want consistently. And the little buttons that let you select which batch of actions buttons are currently on-screen are still way too small.

Also, I haven't figured out how to Quit (which I want to do every time I mean to click Berserker but accidentally click Abyssal Knight on the class selection screen).

I think a little but more work should be done on the interface before it gets put out to the Play store. Perhaps support swiping to switch between action button panes, and give a sway to control button and/or font size.

Ziggurat Zagger

Posts: 3163

Joined: Friday, 6th January 2012, 18:45

Post Tuesday, 18th September 2012, 01:49

Re: Official android port

to simulate ctrl + some key you can input an asterisk in place of ctrl

For this message the author BlackSheep has received thanks: 2
prozacelf, Styro

Dungeon Master

Posts: 1531

Joined: Saturday, 5th March 2011, 06:29

Post Tuesday, 18th September 2012, 11:32

Re: Official android port

Yes the interface still needs quite a bit of streamlining for phones. I actually find I can press the teeny tiny action buttons reliably pretty much 100% of the time if I'm careful, but then I have a nearly brand new SII since my old one got smashed - so the touch screen is still very accurate and responsive, my old one was much less so - and I'm generally very accurate with my fingers. Still it's not much fun having to be so careful with every finger press!

For me the two major UI improvements would be:
a) Pan and zoom on the game board (eliminating all need for a map screen)
b) Double or triple size of UI buttons. I really like the idea of those mockups that frogbotherer posted, except that it would still be very useful to have a particular tab visible all the time (e.g. if I'm playing a spellcaster I don't want to have to continually open and close the spell panel). However from the size of that mockup there is still some unused space, my phone has a more widescreen aspect than that.

Some other UI tweaks could be made. The first couple of things I noticed on this playthrough were:

1. Starting a new game - entering my name seemed fiddly. The keyboard should automatically pop up. Then I clicked "Send" and it just displayed the name rather than entering it, so I had to open the keyboard again and press the Return key.
2. Cancelling spells. Once in targetting mode some sort of "X" button could appear in the corner to cancel the action. This could apply to all types of action that involve a targetting phase.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Monday, 24th September 2012, 21:06

Re: Official android port

Uploaded a fresh android trunk build on CDO. There is a new lua call to check if the build has touch_ui. It means you can easily share a config file for your android and desktop versions and have specific sections for each. For example, I put this in mine:

  Code:
: if crawl.is_touch_ui() then
  tile_layout_priority = command, spell, gold_turn, inventory, monster
: else
  msg_min_height = 12
  msg_max_height = 12
  show_inventory_weights = true
  include = spell_slots.txt
: end
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Snake Sneak

Posts: 105

Joined: Monday, 11th July 2011, 13:53

Post Tuesday, 25th September 2012, 07:31

Re: Official android port

I just want to add that it does run w/o problems on my Galaxy Nexus so far, but it is nearly impossible to hit any button reliable.

edit -> typo

Lair Larrikin

Posts: 18

Joined: Friday, 7th September 2012, 01:20

Post Wednesday, 26th September 2012, 09:15

Re: Official android port

Instead of having mouse-like movement, would it be possible to overly the 'display' part of the screen with 9 invisible directional buttons, like a numpad? I haven't managed to check this out on my phone yet, but I can imagine it would be nearly impossible to accurately attack critters without occasionally (and potentially lethally) moving round them instead, if you are using a mouse-like movement system.

Ziggurat Zagger

Posts: 3163

Joined: Friday, 6th January 2012, 18:45

Post Wednesday, 26th September 2012, 11:06

Re: Official android port

Auto-attack, aka tab, lets you attack most enemies without needing to click on them.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Wednesday, 26th September 2012, 16:33

Re: Official android port

Blakmane wrote:Instead of having mouse-like movement, would it be possible to overly the 'display' part of the screen with 9 invisible directional buttons, like a numpad? I haven't managed to check this out on my phone yet, but I can imagine it would be nearly impossible to accurately attack critters without occasionally (and potentially lethally) moving round them instead, if you are using a mouse-like movement system.

I think that would be quite ugly and useless. We need bigger tiles anyway to be able to reliably tap them, whether in combat or not. Also, note that during fights, you cannot travel. Tapping behind a monster attacks it, it doesn't travel around. So in a sense, it already behaves as if those arrows were there, even if they are not displayed.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Dungeon Master

Posts: 27

Joined: Wednesday, 18th April 2012, 11:54

Post Thursday, 27th September 2012, 20:45

Re: Official android port

quick update mates: the UI changes (see mockups posted previously) are coming along great, I'll probably have something for testing next weekend. It's not too late for feedback either, if there is any.

also, pinch-to-zoom is in 8-)

For this message the author frogbotherer has received thanks:
mumra
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Thursday, 27th September 2012, 20:54

Re: Official android port

frogbotherer wrote:quick update mates: the UI changes (see mockups posted previously) are coming along great, I'll probably have something for testing next weekend. It's not too late for feedback either, if there is any.

I've been thinking about stats. Appart from HP/MP, none are really needed to be permanently displayed. Maybe have the bars in a square, same size has the other buttons. Tapping on it open a panel with AC/EV/SH, attributes, weapon wielded, etc... The same way tapping a tab button opens a panel with all the buttons.

also, pinch-to-zoom is in 8-)

:mrgreen:
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Lair Larrikin

Posts: 16

Joined: Tuesday, 4th September 2012, 00:24

Post Thursday, 27th September 2012, 21:22

Re: Official android port

Has anyone tried this with a 10" tablet? Its almost perfect with a 7". I would think a 9-10" one would be incredible before pinch-zoom :)
Next

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 16 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.