What do you think?]]>
Someone posted this discovery in a Github comment:
The build scripts and Java stub are in the android/ directory, and the changes to the rest of the code are fairly minimal, so it could be merged into master without too much trouble.]]>
I'm trying to port neverball on PSP since a week. Here's my current progress :
I run through several GL issues with the 1.5.4 version, though.
Do you think it's a good idea to restart my work with the current svn version? Does it have any known issues ?
Thanks in advance]]>
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.
Accelerometer input: when controlling the floor with the accelerometer, it's practically impossible to hold it completely still. As a result, the ball is also always moving, and this causes the gameplay to be extremely difficult. After the 5th level in the easy mode, the gameplay becomes really difficult already.
My initial attempt at solving this issue has been changing the accelerometer input function so that instead of reporting the angle itself, I report a non linear function of it (such as x^3), so that variations of the device angle around the 0 value produce a very little change in the game stage. This helps in having the stage more stable, but the game does not become more playable, because the ball is still very difficult to control.
I think that a better way to solve this is to introduce a friction with the floor (well, I guess it's already there), so that the ball would stop soon when the floor is horizontal -- but we should make it so that high speeds are still possible, by continuing to hold the floor tilted. I believe this should be possible, without preventing any game level from being completed because of this changed physics.
Accelerometer calibration at the beginning of every level: we could add a function to tilt.h which would be called right before a level starts, so that the tilt implementation would save the current values as "horizontal floor". This would allow the player to play the game holding the phone in his favourite position.
Camera: the default camera makes the game very hard to play; as soon as you hit an obstacle the camera might turn, and this causes the accelerometer input to be mostly unpredictable. I'm not sure how to solve this. Maybe a fixed camera would be better, and we could use touchscreen gestures to let the user move it left, right, up and down.
Another option is to have an automated camera similar to the current "chase" mode: it would behave in "chase" mode for high speed, while for lower speeds it would raise (and be almost vertically on top of the ball for low speeds, when most precision is needed).
Easier levels: it would be nice to have some very simple levels where there is little precision involved, just a lot of running. :-)
Bigger GUI elements. Some widgets (as the level selector buttons) are really hard to tap without a stylus.
Better touchscreen support. Without mouse, we don't have the "hover" functionality: therefore, when selecting levels, it's now impossible to see the level screenshot. Maybe a two-phase level selection would do: first you tap on the level number (and this causes the right screenshot to be displayed), and then press a "Start" button to begin the game.
I'll try to address these issues in my N900 port; if you think this can also be beneficial to have in the master branch, please let me know. Comments welcome! :-)]]>
I will not be building under Win32, but if you supply those libraries too, I will try to build it too.
I know that D1X (descent) uses LibPhysFS, so I may be able to snarf it from there, but not while I have coding assistance available (only for a few days more).
Cheers, and thanks in advance.
Chui, possibly the most famous porter of software for the GP2X range of handhelds is now onboard with the seemingly impossible task of porting Neverball to the two most recent handheld gaming systems from Game Park Holdings. He is also responsible for the Dreamcast port of Neverball -- he is THAT GOOD!
The project should not be too hard to find on Google Code... neverball-gp2x
I should have a working toolchain by tonight, so fingers crossed...
Once we have some usable code, I will crosspost on the GP32X forum, as we shall need more beta testers than myself. Chui's battery is gone, so he cannot test the Wiz build at his end.
I shall also be asking gjtorikian to come onboard as a contributor... we can only help each other's projects.]]>
Frustrated by the two+ years waiting for Neverball ME to be released, I've taken to the monumental task of porting Neverball to Android.
And I am failing.
Here is the requisite video: http://www.youtube.com/watch?v=Wd3xyhH0FR4
Not very pretty, right?
It is coded in native C, bypassing almost entirely the Java layer. I'm able to compile the app ( ) with SDL 1.2, and all required libs (ogg/vorbis support, libpng, libjpeg, e.t.c.). I am also able to use Physfs to read the data dir on the SD card, as well as store player data there. Touchscreen and sound works as you can see.
I am not sure if it is my terrible knowledge of OpenGL ES, or my hacking around video.c, that is presenting the monstrosity you see in the video. I am leaning towards the former. What's curious is that I am able to draw some items--the first and last row of the graphic level "preview" in the level selection screen. Also, you can't really see it in the video (save around 0:20s), but I can display the GUI text, albeit gray, instead of the yellow to red gradient.
This post is intended to serve as:
a) A call for experienced developers to help out with this port; or
b) A plea to Lazrhog/rlk to release the seemingly inactive source of the previous 1.4 fork that runs on iOS
You must understand, we have no games on Android. We don't even have the luxury of Super Monkey Ball!
I've sunk two weeks into this already and am getting fatigued. For what it's worth, I am an experienced Android dev, but this is a bit different. There aren't many good resources for Android development in C, unfortunately, so there's nowhere for me to go and learn.]]>
I hope we can see neverball make it's way to the iPhone soon. If nothing else just to establish a presence there.]]>
For the Pandora, these will all be Free
I'll post some updates as soon as I get going on it. Pandora is due for release in February (honest). Still some first batch available if anyone still wants one. After first batch pandoras have gone out - it's 6 months before anyone will see another one .....]]>