26

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

I should have my GP2X WiZ within a few days... maybe I can compile that with GLES Lite and see what the results are on my pissy 320x240 screen...

PS. I have not installed the toolchain yet, as I am still considering whether to use CodeBlocks and MINGW32 under Windows 7, or using a default cross-compile environment under Linux. I would be better off using Linux I believe... any suggestions?

PPS. OSX Snow Leopard hates my Dell, so no Hackintosh stuff for a while.

Currently Playing:
Celeste and Electronic Super Joy

27

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

If it was easy to convert neverball to OpenGLES, I think more people than myself would have done it by now.....

28

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

themacmeister wrote:

I should have my GP2X WiZ within a few days... maybe I can compile that with GLES Lite and see what the results are on my pissy 320x240 screen...

If you force the screen size in code (i.e. replace "w" and "h" in video.c) you can get an idea. I did that for my Android device (320 x 480) to see what it would look like--not bad!

PS. I have not installed the toolchain yet, as I am still considering whether to use CodeBlocks and MINGW32 under Windows 7, or using a default cross-compile environment under Linux. I would be better off using Linux I believe... any suggestions?

Linux as a rule is generally "easier" (depending on your definition)--though I really have no idea tongue

29

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

I have decided on Linux and CodeBlocks for Linux. They sent me TWO GP2X WiZ by mistake. Everyone is telling me to do the right thing and send one back, but the idea of having a backup is enticing (as I might brick one of them).

Currently Playing:
Celeste and Electronic Super Joy

30

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

themacmeister wrote:

I have decided on Linux and CodeBlocks for Linux. They sent me TWO GP2X WiZ by mistake. Everyone is telling me to do the right thing and send one back, but the idea of having a backup is enticing (as I might brick one of them).

You could give one away to a friend, thus allowing you to do the right thing yet making someone you know happy in the process smile

BTW if you (or your brother) want to work together on an OpenGL ES branch I would be more than happy to contribute.

31

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Just be sure you don't get charged for both!

32

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

heh, nah tones -- one order, one payment.

They took 7 days to ship the first, DHL to blame I would say, no tracking etc. 2nd one arrived in a padded bag!!

@gjtorikian -- would love to have you onboard -- I will send you the details of the Google Code project and sign you up as an owner as soon as I can.

Currently Playing:
Celeste and Electronic Super Joy

33 (edited by pelya 2011-03-14 10:38:21)

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Hey, if you'd put your sources somewhere public I might look into them, I have some minor GL ES experience. Also it would be nice if you'll also post the original sources so I can get the diff (or just use SVN/Git/whatever).

Disclaimer: I'm a total noob in a Neverball, and I don't have much free time, so don't expect miracles plz - MAYBE you will get something in a two-three weeks.

Edit: does this forum support email subscription to topics? PM or email me plz.

34

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Hey guys, sorry I haven't been around much lately.

After catching up with the state of the forum and trading some emails with gjtorikian, it's clear to me that the OpenGL ES issue needs to be resolved once and for all if Neverball is going to live on in the mobile world.  This comes at a good time for me, and I'm interested in getting it done soon, so I'll branch the current trunk and do the port.  Given Lazrhog's previous work and the incredibly well-maintained state of the trunk, I can see through to the solution.

I've flaked out on this in the past because I can never predict my workload.  I apologize.  I do need to be on the road during the next week so: give me two weeks.  I'll take charge of getting the ES port done before March 28.  Relax until then.  If we don't have a solution in the repo by that time, then you may assume I've failed and go back to worrying.

35 (edited by gjtorikian 2011-03-14 23:20:41)

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Phew, thank goodness my insistent e-mails didn't upset you. smile

A couple of questions:

  1. Are you getting rid of ALL OpenGL dependencies in favor of OpenGL ES, or only some? In other words, display lists can be swapped out with vertex arrays or VBOs, but there are some glAttributes that are not supported -- LIGHTING_BIT comes to mind. I have some code somewhere that basically has a comment around every single unsupported OpenGL ES call that Neverball has--if you want or would like that. Otherwise I guess this will be "left as an exercise for the reader."

  2. The big one: how to prevent people from swooping in, compiling a binary for their mobile device, and charging $4.99 for the game? Should there be some requirement for teams/individuals to produce the binary first, and commit to the trunk second? (Am I being paranoid? Perhaps. But I remember that this was the whole reason Lazrhog's original code was never made public.)

Anyway--a great thanks for your help on this Robert. Your game has endeared many years and many revisions. Good luck!

36

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

rlk wrote:

...then you may assume I've failed...

This doesn't sound like the RLK I know big_smile

Currently Playing:
Celeste and Electronic Super Joy

37

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

gjtorikian wrote:

Are you getting rid of ALL OpenGL dependencies in favor of OpenGL ES, or only some? In other words, display lists can be swapped out with vertex arrays or VBOs, but there are some glAttributes that are not supported -- LIGHTING_BIT comes to mind. I have some code somewhere that basically has a comment around every single unsupported OpenGL ES call that Neverball has--if you want or would like that. Otherwise I guess this will be "left as an exercise for the reader."

It's my intention to convert all GL usage to be ES compatible.  The DLs are the hard part.  The rest of the state handling follows from that.

gjtorikian wrote:

The big one: how to prevent people from swooping in, compiling a binary for their mobile device, and charging $4.99 for the game? Should there be some requirement for teams/individuals to produce the binary first, and commit to the trunk second? (Am I being paranoid? Perhaps. But I remember that this was the whole reason Lazrhog's original code was never made public.)

Such is the nature of the GPL.  In principle this is prevented by the fact that absolutely anyone could come along and offer the same product at a price of $0.00, thus nullifying the effort.  This is the philosophy of Freeware.

Lazrhog is a good guy who has always played ball with the community at large, and he offered to allow me to produce an iOS version of Neverball of my own.  I didn't.  He did a favor for me, and I didn't follow through.  There was never any intention to prevent anyone from profiting from his or my work.

So I don't consider that an issue.  If you do feel it's important, then it's important for you to raise the issue, and for us to discuss it.  I welcome everyone's commentary.

38

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

I think anyone interested in this should read up on lugaruHD in the app store:

gjtorikian wrote:

The unfortunate takedown of VLC for being GPL apparently did not cause a ripple effect. There are quite a few GPL-licensed apps on the App Store.  Take, for example, the Lugaru scandal: http://blog.wolfire.com/2011/02/Counter … developing

I'm a little foggy on what the consensus is regarding GPL and people charging money for stuff. It is discussed in the blog post linked above. The crux as I see it re: the theoretical circumvention of such a problem (as rlk mentions) is that nowadays if someone sticks an app in the "app store" the general public just eats what's in front of them. Most people will not become aware that the same app is available free elsewhere or came from open source development. UNLESS there is a "free" version put in front of them in the same "store"

39 (edited by gjtorikian 2011-03-15 04:22:45)

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Frankly I think that if it's GPL, you ought to be able to charge for it if you so wish. After all, you put the time into developing it. I think donationware is a marvelous struggle, since very few people actually do come back and put coins in the jar (cynical, I know).

I guess that if someone is unethical enough to steal free code worked on by several people over the course of years, it would be enough for the app to be pulled from the Apple App Store. I just hope it doesn't then spring up in the Android Market, Ovi store, e.t.c. with a price tag.

40 (edited by themacmeister 2011-03-15 05:26:53)

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

I am not worried about $0.99 apps, but if you released an iPad app @ $4.99, then it is a little unfair. If they converted and compiled extra level sets for Putt/Ball, then it might be an enticement to pay.

I am only concerned with the Wiz/Caanoo port at present, but there is a huge market on the Android (that puts both the Wiz & Caanoo to shame), so it should get more coding attention.

I was under the impression that the GPL prohibited commercial products, hence Mac OS X being based on BSD? I could be mistaken, especially with the advent of GPL v.3

So, my 2c is: OK to charge a very modest fee with some added levels/courses, NOT OK to charge an exorbitant fee - a free substitute should be offered in either case.

PS. Should all the resources/images/textures be free of the GPL, allowing re-skinned derivatives ala OpenArena?

Currently Playing:
Celeste and Electronic Super Joy

41

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Charging a fee has always been valid in GPL: http://www.gnu.org/licenses/gpl-faq.htm … tyToPublic

I don't know how OpenArena works but GPL shouldn't prohibit anyone from reskinning. But of course, those skins would have to be set as GPL as well.

42

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Both versions of the GPL require you to provide all the source necessary to build the software, including supporting libraries, compilation scripts, and so on. They also draw the line at System Libraries: you're not required to provide the source for certain core components of the operating system, such as the C library.

GPLv3 has adjusted the definition of System Library to include software that may not come directly with the operating system, but that all users of the software can reasonably be expected to have. For example, it now also includes the standard libraries of common programming languages such as Python and Ruby.

The new definition also makes it clear that you can combine GPLed software with GPL-incompatible System Libraries, such as OpenSolaris' C library, and distribute them both together. These changes will make life easier for free software distributors who want to provide these combinations to their users.

from GPL3 quick guide. I don't think GL-ES libraries fall under the GPL, but can be included all the same, under v.3

Currently Playing:
Celeste and Electronic Super Joy

43

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Phew, looks like things are moving along then.

To gjtorikian, my openglES port of course removed the display lists as they are not supported.  It doesn't use vertex buffer objects yet, but that would have been my next step.


RLK will evidently now do the job properly as mine was a hack job, but at least there is a functionally correct version to reference, so hopefully that will help.  I can't wait for this to be open soource as it will really kick neverball into the next tech generation and will hopefully inspire many more maps smile

44

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

tonesfrommars wrote:

I think anyone interested in this should read up on lugaruHD in the app store:

I hated that people focused on GPL throughout that whole farce. It was a completely different issue. The scammer took proprietary game assets and tried to sell them through Apple's App Store. First of all, this is obviously illegal and there's no GPL involved. Second of all, Apple fucked up by letting it through and then taking their sweet time to remove it. Incidentally, yes, the Lugaru engine was released under GPL, sure. But so what? It doesn't "enable" the scam nor does it make the scam "less illegal".

Just throwing that out there, this has been bothering me for a while. tongue

45

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

parasti wrote:

It doesn't "enable" the scam nor does it make the scam "less illegal".

Just throwing that out there, this has been bothering me for a while. tongue

Erm, actually, everything about Lugaru IS illegal, according to GPL.

For a brief foray into the clusterfuck, read about VLC and the App Store:
http://www.tuaw.com/2011/01/09/the-gpl- … e-and-you/
http://www.fsf.org/blogs/licensing/more … nforcement

Basically, since Apple provides "implicit DRM" in their App Store--"you may only run this software on our devices"--Stallman and others stated that it is in direct violation of GPL, since GPL permits the freedom for software to run where it can.

Obviously GPL didn't provoke the scam, but, it can't be argued that Lugaru should not have been in the App Store in the first place. (The iOS App Store and Mac  App Store have similar TOS.)

46

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Hey guys, let's not get hung up on the GPL.  It is now up to RLK how this release occurs, but hopefully he will make his own iOS release prior to the source code, which will cover the apple side of things. As for Android, well the device list is so fragmented that it might be best to just aim for the most popular tablets first.  In terms of a release model, well maybe we should let RLK decide that too.

47

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

I wasn't talking about GPL, I was talking about Lugaru. See? tongue

48 (edited by gjtorikian 2011-03-18 06:29:05)

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Not sure if anyone is still concerned with the Android status, but what the hell, I need a place to talk.

I made great progress these last few days:

  • PhysicsFS works dynamically now for Android 2.1 (Eclair) and 2.2+. Within these two versions, the path to the  SD card changed internally from "/sdcard" to "/mnt/sdcard." Previously I was constructing a static path.

  • When the app first starts, it downloads the map, sound, and font files from an Amazon S3 server. This keeps the initial app size small. Additionally, as time passes, I can link to more data files such that the user can continue to receive new maps without needing to configure anything on their end. I just have to point to a new S3 URL, upload a new app version, and the download begins.

  • Language support is almost there. I can detect the Android locale being used and pass that to the C layer, but I'm having trouble getting the right PO file selected.

  • Incorporated rlk's "data structure and SOL file" changes.

I've decided the the initial map set will be set-easy.txt, set-medium.txt, set-hard.txt, set-mym.txt--this comes in at around 30 MB. At a future date I can add a new download URL to include set-mym2.txt, set-fwp.txt, and set-tones.txt. If I were to add every map to the downloadable app, the download might become well over 50 MB, which is the limit for Android apps. I feel that this modular approach is best. I've included the Chinese TTF fonts in the initial download.

Without localization support, I would consider distributing the game. Naturally, still, I cannot draw anything because my OpenGL ES knowledge is average, but I will pull in ASAP whatever rlk commits to trunk.

49

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

Warning about /sdcard path : some new android phones or tablets don't have SDCard at all. Maybe using some more genereic method like Environment.getExternalStoragePublicDirectory() would be better ?

50

Re: MOD, PLEASE CLOSE THIS TOPIC: I am porting Neverball to Android.

I'm using getExternalStorageDirectory, which I believe is the preferred method. getExternalStoragePublicDirectory refers to system-wide locations like Music, Downloads, Ringtones.