1

Topic: Neverball ME (for Android)

As promised, here is the online source of the Neverball ME for Android port. Per parasti's request, the game is called Neverball ME, or Mobile Edition. It's also numbered, currently, at 1.0.3686, reflecting the fact that it pertains to trunk revision 3686.

The purpose of this thread is to discuss any bugs uncovered, issues experienced, or general suggestions on how to improve gameplay.

With regards to how much of the original Neverball code I modified, there's a few major areas:

1. PhysicsFS reads the game data files from the Android package itself. (The Android package is just a big zip file, and the game data assets are bundled inside it.) As a result, any read operation is modified to point to the Android package; any write operation just creates a directory on the removable SD card.

2. Language support exists, but it's a far cry from any standard C solution. The short story is that Android does not support libintl at all. I have basically created a hash table that puts the English source as a key, and the localized source as a value. This creates some problems for long strings, but is generally okay.

3. The GUI layout is different. For phones, due to the lack of space, I've removed the "Back" toggle. Android devices have their own dedicated back button, which works as the Escape key in this case. I've also gotten rid of some options like changing the screen resolution.

4. Some minor changes implemented for video.c. tilt_loop.c and tilt_wii.c have been removed from the compile chain.

Everything is hidden behind the ANDROID preprocessor instructions, so building for the desktop should remain unaffected. Basically what I do is diff against whatever is in trunk and try to resolve any new changes. I am hoping to get my Android *.c and *.h changes committed into the SVN, to minimize my false positives.

This port is far from being perfect, but it's quite playable. I am hoping to get more volunteers to test across a variety of devices, especially tablets. I've listed on the GitHub page current issues that I have experienced.

Thanks!

2

Re: Neverball ME (for Android)

That URL gives me a 404.

I'll be pretty excited to hear how this goes (not that I have an android device myself).

Cheese
==========
cheesetalks.net

3

Re: Neverball ME (for Android)

Cheeseness wrote:

That URL gives me a 404.

I'll be pretty excited to hear how this goes (not that I have an android device myself).

That's odd. I just tried clicking it and it worked for me. Here's the path: https://github.com/gjtorikian/Neverball-ME

4

Re: Neverball ME (for Android)

there's an error. this link make a 404

~DEV

5

Re: Neverball ME (for Android)

You gave the same link twice. Make your repo public first.

6

Re: Neverball ME (for Android)

that's right. you need more concentration if you want to be a programmer, no?

~DEV

7

Re: Neverball ME (for Android)

parasti wrote:

You gave the same link twice. Make your repo public first.

Duh. It's done now.

ht-never wrote:

that's right. you need more concentration if you want to be a programmer, no?

No.

8

Re: Neverball ME (for Android)

gjtorikian wrote:

No.

This is why i'm a programmer  :love:  tongue

~DEV

9

Re: Neverball ME (for Android)

First commit of EVERYTHING

Woah, you weren't kidding. You've got like your entire OS in that repo. Where do I find Neverball in there?

10

Re: Neverball ME (for Android)

gjtorikian wrote:

Language support exists, but it's a far cry from any standard C solution. The short story is that Android does not support libintl at all. I have basically created a hash table that puts the English source as a key, and the localized source as a value. This creates some problems for long strings, but is generally okay.

so, the traslators what have to do? you need a traslation afresh?

than, i have a small question. in your release, is there a way to install unofficial levels?

~DEV

11 (edited by gjtorikian 2011-11-10 00:09:49)

Re: Neverball ME (for Android)

parasti wrote:

First commit of EVERYTHING

Woah, you weren't kidding. You've got like your entire OS in that repo. Where do I find Neverball in there?

It's an unfortunate necessity at the moment. I started to cut things out but borked something.

Neverball C files are here: https://github.com/gjtorikian/Neverball … /neverball
Neverball binary/APK is here: https://github.com/gjtorikian/Neverball … roject/bin

Everything else is either a lib, or a Java necessity. We need to provide everything--ogg, vorbis, PhysicsFS, SDL_ttf, e.t.c.

ht-never wrote:

so, the traslators what have to do? you need a traslation afresh?

than, i have a small question. in your release, is there a way to install unofficial levels?

The translations in the port are the exact same .po files used in Neverball for desktops. There's no further work needed for translators. I need to work a little harder to figure out how to translate multiple lines of text.

You can certainly install unofficial levels, but that means you'll have to build the game yourself. Actually, I'm not sure--can custom levels be places inside the User directory (where screenshots and replays go), or must they always be in the Data directory?

12

Re: Neverball ME (for Android)

gjtorikian wrote:

The translations in the port are the exact same .po files used in Neverball for desktops. There's no further work needed for translators.

I'm happy.

~DEV

13

Re: Neverball ME (for Android)

gjtorikian wrote:

Actually, I'm not sure--can custom levels be places inside the User directory (where screenshots and replays go), or must they always be in the Data directory?

I was led to believe that (thanks to PhysFS) they could be run from ANYWHERE!

Or is that just replays I'm thinking of?

Currently Playing:
Celeste and Electronic Super Joy

14

Re: Neverball ME (for Android)

themacmeister wrote:

I was led to believe that (thanks to PhysFS) they could be run from ANYWHERE!

This is true; however, you would have to feed PhysicsFS the file path(s) you want do read from. So, I could say, "Make the data path on the SD card and the internal game"--not sure if that will have sideffects though. Probably not; therefore new custom maps could be placed in /sdcard/neverball-me/data, and have them picked up by the Android app.

Anyway--I'm rambling.

15

Re: Neverball ME (for Android)

I hear Chui (4ALL) is looking at the code. Assuming the GL-ES is 1.1 compliant, there could be a GP2X (Cannoo and/or Wiz) port shortly.... no promises, but he has done an EPIC job on other emulator ports, and even Neverball for Dreamcast (I have PLAYED IT!!!).

Currently Playing:
Celeste and Electronic Super Joy

16

Re: Neverball ME (for Android)

For those wondering what happened to this port, I am waiting for parasti to merge my changes into the main trunk. I was getting tired of doing diffs between the two, when most of the diffs were false positives (of me adding #ifdef ANDROID).

17

Re: Neverball ME (for Android)

Is there a precompiled current test .apk around? (I'm thrilled to see improvement on this .... )

18

Re: Neverball ME (for Android)

nue wrote:

Is there a precompiled current test .apk around? (I'm thrilled to see improvement on this .... )

There sure is!

1. Go here: https://github.com/gjtorikian/Neverball … -debug.apk
2. Right click on raw and download the file
3. Install the .apk manually

19 (edited by nue 2012-01-29 13:53:50)

Re: Neverball ME (for Android)

Maybe I'm just being stupid, but it does not work for me ...

Following your instructions with my phone, the download cancels; on a computer, trying to download with Safari also fails, saying ''You do not have permission to access the request''. With Chrome I can download a file without error but it is only 22 bytes. If I left-click on ''raw'', a page comes up saying ''Error: Blob is too big.''

Any clues?

20

Re: Neverball ME (for Android)

same here... (as nue)

Currently Playing:
Celeste and Electronic Super Joy

21

Re: Neverball ME (for Android)

Thanks for pointing that out. I've updated the build to the latest SVN, and the APK on GitHub is now downloadable.

Unfortunately, it seems like some changes were made to the GUI/rendering, so some of the elements are messed up. The game is mostly playable, however.

22

Re: Neverball ME (for Android)

Showing correct size, when downloaded, file says only this:

Error: blob is too big

Currently Playing:
Celeste and Electronic Super Joy

23

Re: Neverball ME (for Android)

themacmeister wrote:

Showing correct size, when downloaded, file says only this:

Error: blob is too big

AFAIK, github limits the download size of a blob.
You can clone git repository:

git clone git://github.com/gjtorikian/Neverball-ME.git

and get the apk from there if you have git installed :-)

I tried Neverball on my Nexus One, I can launch the app, but it's not playable (around 2 or 3 fps) with a lot of bad texture. Nexus One is far from being a reference now, and I'm confident for the future, good work so far though !

24

Re: Neverball ME (for Android)

shino wrote:

I tried Neverball on my Nexus One, I can launch the app, but it's not playable (around 2 or 3 fps) with a lot of bad texture. Nexus One is far from being a reference now, and I'm confident for the future, good work so far though !

You tried with the latest build? That's disappointing. I should think that the N1 is powerful enough to run the game.

For reference, here's what it's supposed to look like: http://www.youtube.com/watch?v=NmtxeD3SylI

And that's a video from last May!

That's the problem with Android phones--it's impossible for me to test on every device, and every single one does something slightly different.

25 (edited by themacmeister 2012-02-12 06:00:23)

Re: Neverball ME (for Android)

Hey gjt, is that hourglass meant to appear on the Ansi-C version? I have only ever seen it when loading the compiled Java version (Nuncabola)?

Also, Why was the TV output cropped so badly? was it n non-standard resolution?

Great work btw...

EDIT: Spelling

Currently Playing:
Celeste and Electronic Super Joy