Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
Android Physics Engine
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 47 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
mscwd01  
View profile  
 More options Mar 30 2009, 4:14 pm
From: mscwd01 <mscw...@gmail.com>
Date: Mon, 30 Mar 2009 13:14:57 -0700 (PDT)
Local: Mon, Mar 30 2009 4:14 pm
Subject: Android Physics Engine
Does anyone know of, or have implemented, a physics engine which runs
smoothly in Android?

I have spent the last couple of days trying Phys2D and JBox2D, however
both perform very poorly - I am struggling to get even a few objects
to simulate smoothly as frequent garbage collection spoils it.

One question I do have is will these run smoother on an actual G1
device or is the performance of the emulator accurate?

Thanks


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Anton  
View profile  
 More options Mar 30 2009, 4:58 pm
From: Anton <socialhac...@gmail.com>
Date: Mon, 30 Mar 2009 13:58:59 -0700 (PDT)
Local: Mon, Mar 30 2009 4:58 pm
Subject: Re: Android Physics Engine
    I have a simple 2D physics engine written and running.  It uses
the now famous Jacobson physics tricks (Verlet integration and hard
constraints).  I can manage 40 balls on the screen, with fill n^2
interaction between balls.  I am working on spatial data structure
optimizations now to improve the computational complexity of the
collision detection code.  I run the constraint update loop five times
per frame and get 30 frames per second.  Once the engine is up and
running there are no memory allocations done in my program.  And once
the system settles down from the app launch there are very few GC
events from other programs.  Though they do still happen.  Viewing
LogCat I see a GC every 10 or 20 seconds because of some background
application.  But between those events I get a consistent frame rate.
I am using OpenGL for my rendering.

    -Anton

On Mar 30, 1:14 pm, mscwd01 <mscw...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Streets Of Boston  
View profile  
 More options Mar 30 2009, 5:41 pm
From: Streets Of Boston <flyingdutc...@gmail.com>
Date: Mon, 30 Mar 2009 14:41:39 -0700 (PDT)
Local: Mon, Mar 30 2009 5:41 pm
Subject: Re: Android Physics Engine
I wonder how well this one works on Android:

  http://code.google.com/p/simpull/

-- Anton Spaans

On Mar 30, 4:58 pm, Anton <socialhac...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Anton  
View profile  
 More options Mar 30 2009, 5:59 pm
From: Anton <socialhac...@gmail.com>
Date: Mon, 30 Mar 2009 14:59:21 -0700 (PDT)
Local: Mon, Mar 30 2009 5:59 pm
Subject: Re: Android Physics Engine
    Could be good.  I tried to check out the demo but it crashed my
browser.  :)  I'm sure that's not really indicative of the engine, and
more of my browser's stability.  I did look through the code and found
that it does a lot of memory allocation in it's inner loops (Verlet
update step in particular), and that it uses floating point math,
though it looks like there is a branch that uses fixed point that
might be worth trying out.

    -Anton

On Mar 30, 2:41 pm, Streets Of Boston <flyingdutc...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Streets Of Boston  
View profile  
 More options Mar 30 2009, 7:01 pm
From: Streets Of Boston <flyingdutc...@gmail.com>
Date: Mon, 30 Mar 2009 16:01:43 -0700 (PDT)
Local: Mon, Mar 30 2009 7:01 pm
Subject: Re: Android Physics Engine
Try the demo on firefox. It works really well.

On Mar 30, 5:59 pm, Anton <socialhac...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Anton  
View profile  
 More options Mar 30 2009, 7:19 pm
From: Anton <socialhac...@gmail.com>
Date: Mon, 30 Mar 2009 16:19:55 -0700 (PDT)
Local: Mon, Mar 30 2009 7:19 pm
Subject: Re: Android Physics Engine
    That's what I did.  :) Firefox 3.0.8.  I just tried it again and
had the same thing happen.  I'll give it another go when I get home
and have my development machine at my disposal.

    By the way, nice name.  :)  Always good to meet a fellow Anton.

    -Anton

On Mar 30, 4:01 pm, Streets Of Boston <flyingdutc...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Avraham Serour  
View profile  
 More options Mar 31 2009, 3:58 am
From: Avraham Serour <tovm...@gmail.com>
Date: Tue, 31 Mar 2009 10:58:34 +0300
Local: Tues, Mar 31 2009 3:58 am
Subject: Re: [android-developers] Re: Android Physics Engine

where's the demo? I tried the see it in action link (
http://simpull2core.sourceforge.net/) and it shows some code


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
mscwd01  
View profile  
 More options Mar 31 2009, 7:51 am
From: mscwd01 <mscw...@gmail.com>
Date: Tue, 31 Mar 2009 04:51:23 -0700 (PDT)
Local: Tues, Mar 31 2009 7:51 am
Subject: Re: Android Physics Engine
I did take a look at Simpull, however the demo application failed to
run as it relied on some library which wasn't supplied or referenced
to - I just got annoyed after spending two days failing to get Phys2D
and JBox2D to work in Android and didn't bother trying to work out the
problems!

I might give it another look though...

On Mar 30, 10:41 pm, Streets Of Boston <flyingdutc...@gmail.com>
wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
mscwd01  
View profile  
 More options Mar 31 2009, 7:52 am
From: mscwd01 <mscw...@gmail.com>
Date: Tue, 31 Mar 2009 04:52:54 -0700 (PDT)
Local: Tues, Mar 31 2009 7:52 am
Subject: Re: Android Physics Engine
Oh I forgot to re-ask...

"Has anyone tested Phys2D or JBox2D on an actual device to see if they
run better than on the emulator?

I have a feeling the performance will better on a G1 than the emulator
for some reason!

On Mar 31, 12:51 pm, mscwd01 <mscw...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
admin.androidslide@google mail.com  
View profile  
 More options Mar 31 2009, 9:49 am
From: "admin.androidsl...@googlemail.com" <admin.androidsl...@googlemail.com>
Date: Tue, 31 Mar 2009 06:49:59 -0700 (PDT)
Local: Tues, Mar 31 2009 9:49 am
Subject: Re: Android Physics Engine
Not tried but if you can provide us with some example source code or
put something on the market, I'm sure we could take a look.

G1 performance is significantly faster than emulator, but there are
limitations.

Particularly with garbage collection and memory allocation on code
that gets run continuously in loops, so I don't know how optimised
these physics engines are for this purpose.

Would be interesting to find out though.

On Mar 31, 12:52 pm, mscwd01 <mscw...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
mscwd01  
View profile  
 More options Mar 31 2009, 10:24 am
From: mscwd01 <mscw...@gmail.com>
Date: Tue, 31 Mar 2009 07:24:25 -0700 (PDT)
Local: Tues, Mar 31 2009 10:24 am
Subject: Re: Android Physics Engine
I'll try and wrap my Phys2D & JBox2D examples into a .apk sometime.
I'm very busy at the moment though so it may be later in the week by
the time I get to do it. I'll provide a link in this thread if I get
to do it.

Other than that, i'll have to wait until the HTC Magic is released
soon ;)

On Mar 31, 2:49 pm, "admin.androidsl...@googlemail.com"


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
shaun  
View profile  
 More options Mar 31 2009, 10:28 am
From: shaun <shashepp...@gmail.com>
Date: Tue, 31 Mar 2009 07:28:38 -0700 (PDT)
Local: Tues, Mar 31 2009 10:28 am
Subject: Re: Android Physics Engine
I am the author of simpull.

Sorry guys for the demo being out of whack for Simpull to the Core.
The version of PulpCore that I integrated simpull with did not support
Chrome, but you should be able to see it in IE, FF Safari.  It is nice
to take a look at that demo to get a feel for what the engine is
capable of, but the performance does not translate over to the fixed
point branch/version of simpull when running on Android.

I ran tests on both the emulator and the actual device and there was a
significant increase in performance because of the fixed point
implementation, but I got very frustrated that it still did not
support the amount of objects in a scene that I considered good for a
physics-based game.  It seemed to handle ~10 objects moving and
colliding OK.  It has been a while since I was playing with it, so I
do not really remember the exact number of objects or the frame rate.
I mostly remember being upset with it.

I am leaving the physics ideas for games out of the picture when
thinking Android for now.  Someone would have to write a ground up
engine with all the performance and memory concerns of Android in
mind, which was not the case with Simpull.....I created it for
applets, then thought to port over to fixed-point for Android.  It
works well with small scenes, but certainly not the staple engine to
use in my opinion.

Also, Phys2D will not run worth a damn on Android.  I tried it and I
even went through some heavy performance tuning.  Garbage collection
is the major issue even after all I did.  I seriously doubt JBox2D
will run well either.  I'll stick to what I said earlier, a ground-up
solution by someone smarter than me is probably required.

On Mar 31, 9:49 am, "admin.androidsl...@googlemail.com"


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
clark  
View profile  
 More options Mar 31 2009, 10:37 am
From: clark <clarkd...@gmail.com>
Date: Tue, 31 Mar 2009 07:37:50 -0700 (PDT)
Local: Tues, Mar 31 2009 10:37 am
Subject: Re: Android Physics Engine
On Mar 31, 6:49 am, "admin.androidsl...@googlemail.com"

<admin.androidsl...@googlemail.com> wrote:
> Not tried but if you can provide us with some example source code or
> put something on the market, I'm sure we could take a look.

Perhaps putting it on a website rather than the Market would be best.
The market already has plenty of "Tests" and "demos" that are not
really intended for the average user.  Just upload it to a website
somewhere, provide us with the link and then group members can test it
out on actual hardware.

As others have mentioned, the emulator is much slower than the actual
hardware, as most emulators are unless the processor on the host
system is fast enough.  A game I was working on ran horribly slow in
the emulator, but ran at about 50 FPS on the G1 hardware.  Anyways,
nothing beats testing on the actual hardware.  Emulation and
simulation are good to start, but you should always move on to the
actual hardware for final testing.

~clark


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Stoyan Damov  
View profile  
 More options Mar 31 2009, 11:01 am
From: Stoyan Damov <stoyan.da...@gmail.com>
Date: Tue, 31 Mar 2009 18:01:45 +0300
Local: Tues, Mar 31 2009 11:01 am
Subject: Re: [android-developers] Re: Android Physics Engine
Right. The single biggest issue is GC. I guess if vectors and all
other objects, which are frequently created, get pulled out of an
object pool, and reused (that's quite tricky though, because of the
explicit "returnToPool" call) all engines will shine. In several
places, temporary/scratch objects can be used for results, e.g.:

Vector2f v = someComputation(...) can be rewritten as

Vector2f v = someComputation(mScratchVector, ...);

but there are still places, where objects need to allocated, and an
object pool (preferably an intrusive one, which requires classes to
have prev/next links/nodes) would be the only way.

Cheers


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
mscwd01  
View profile  
 More options Mar 31 2009, 12:17 pm
From: mscwd01 <mscw...@gmail.com>
Date: Tue, 31 Mar 2009 09:17:51 -0700 (PDT)
Local: Tues, Mar 31 2009 12:17 pm
Subject: Re: Android Physics Engine
Thanks for your feedback Shaun, I too unfortunately think a bespoke
engine will need to be written for Android, which is a real pity as
the iPhone has several physics engines which can easily handle
hundreds of objects.

Having said that Anton (2nd reply) has said he has an engine running,
it would be nice to see a demo of this if that'd be possible?

Clark, i'd definately host any .apk's on my own site, I wouldn't put
it on the marketplace if it wasn't a "finished" app - do people
actually do that?!

I think i'll stay away from developing games with physics for the time
being and concentrate on something else, I cant see it being feasible
to include it any time soon which is a real pity.

On Mar 31, 3:28 pm, shaun <shashepp...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
shaun  
View profile  
 More options Mar 31 2009, 2:26 pm
From: shaun <shashepp...@gmail.com>
Date: Tue, 31 Mar 2009 11:26:13 -0700 (PDT)
Local: Tues, Mar 31 2009 2:26 pm
Subject: Re: Android Physics Engine
I started going down the path of Object pooling.  It seemed the only
solution when taking an existing engine and making work on a resource
constrained system like Android on a phone.  Determining the strategy
for returning objects to the pool proved quite tough for me.  I have
no doubt there are some experts on embedded systems programming with
tons of experience with object pooling.  We just would be too lucky if
that person(s) was also experienced with Java, physics engines and had
a passion for open source and games!  Is that too much to ask?  LOL!!

On Mar 31, 12:17 pm, mscwd01 <mscw...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Avraham Serour  
View profile  
 More options Mar 31 2009, 3:11 pm
From: Avraham Serour <tovm...@gmail.com>
Date: Tue, 31 Mar 2009 22:11:40 +0300
Local: Tues, Mar 31 2009 3:11 pm
Subject: Re: [android-developers] Re: Android Physics Engine

seems that gc is a problem, just one of them at least, so can we please have
a c++ sdk?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Anton  
View profile  
 More options Mar 31 2009, 5:12 pm
From: Anton <socialhac...@gmail.com>
Date: Tue, 31 Mar 2009 14:12:13 -0700 (PDT)
Local: Tues, Mar 31 2009 5:12 pm
Subject: Re: Android Physics Engine
    I'll definitely post the app tonight for you guys to check out (at
work now).  I am an embedded systems programmer by trade.  But I do
physics toys for fun and am just getting into Java/Android
optimizations.  I will point out that optimizing for Java and
optimizing for Android are very different.  As people have pointed out
before, the key things to be careful with on Android are memory
allocation and floating point math.  I've removed both of these from
my physics loop.  I also found that function call overhead was quite
large and had to manually inline all of my fixed point math code.  I
think that with the correct spatial data structures I can get a couple
hundred objects interacting.  I have a 2D rigid body physics engine
that is currently all C++ (no exceptions or templates or RTTI or
multiple inheritance) that I may port over as well.

    However, having said all of that, I think it may be the case that
we will just have to wait until a native SDK is available to really
write a top notch physics engine.  It's sort of the perfect example of
a piece of code that doesn't need anything more than libc and JNI
bindings.  And since you only call it a couple times per frame the JNI
overhead would be well amortized.

    Anton

On Mar 31, 9:17 am, mscwd01 <mscw...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Anton  
View profile  
 More options Apr 1 2009, 2:44 am
From: Anton <socialhac...@gmail.com>
Date: Tue, 31 Mar 2009 23:44:07 -0700 (PDT)
Local: Wed, Apr 1 2009 2:44 am
Subject: Re: Android Physics Engine
    OK, for anyone interested in my simple physics demo, check out:

    http://www.antonstoys.com/android/BallPit.apk

    It's pretty basic, but it shows that you can do some amount of
physics on the G-phone at a reasonable rate.  And as always, there are
many improvements to be made.  :)

    -Anton

On Mar 31, 2:12 pm, Anton <socialhac...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
mscwd01  
View profile  
 More options Apr 1 2009, 8:04 am
From: mscwd01 <mscw...@gmail.com>
Date: Wed, 1 Apr 2009 05:04:24 -0700 (PDT)
Local: Wed, Apr 1 2009 8:04 am
Subject: Re: Android Physics Engine
Thanks for the demo Anton,

It certainly runs much smoother than the Phys2D and JBox2D engines I
have tried and you have more objects being simulated - so you must
have done something right ;)

I would expect it to run 2-3 times faster on an actual device too from
what I have read.

Once you have finished off the improvements do you have any plans to
release it?

Thanks

On Apr 1, 7:44 am, Anton <socialhac...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Stoyan Damov  
View profile  
 More options Apr 1 2009, 8:17 am
From: Stoyan Damov <stoyan.da...@gmail.com>
Date: Wed, 1 Apr 2009 15:17:46 +0300
Local: Wed, Apr 1 2009 8:17 am
Subject: Re: [android-developers] Re: Android Physics Engine
I'm quite interested as well.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Streets Of Boston  
View profile  
 More options Apr 1 2009, 9:55 am
From: Streets Of Boston <flyingdutc...@gmail.com>
Date: Wed, 1 Apr 2009 06:55:35 -0700 (PDT)
Local: Wed, Apr 1 2009 9:55 am
Subject: Re: Android Physics Engine
Two thumbs up!

It's fast, not superfast, but there are quite a number of balls in the
pit. I'm impressed.
If this code could get into the native system, into the firmware...

On Apr 1, 2:44 am, Anton <socialhac...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Daniel Sargeant  
View profile  
 More options Apr 1 2009, 8:56 am
From: Daniel Sargeant <dsarge...@gmail.com>
Date: Wed, 1 Apr 2009 07:56:59 -0500
Local: Wed, Apr 1 2009 8:56 am
Subject: Re: [android-developers] Re: Android Physics Engine

It does look smooth on the G1.  The use of accelerometers is quite cool.
Good job on minimizing the GC jitters. The screen has horrible ghosting with
green to grey transitions, however, which mars the smooth framerate a bit.
Red balls would probably reduce that.

-Daniel Sargeant


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
lkelemen  
View profile  
 More options Mar 31 2009, 4:50 pm
From: lkelemen <tridc...@gmail.com>
Date: Tue, 31 Mar 2009 13:50:18 -0700 (PDT)
Local: Tues, Mar 31 2009 4:50 pm
Subject: Re: Android Physics Engine
Hello everyone,

I was also disappointed with jbox2d's performance so I checked APE
(Actionscript Physics Engine) from http://www.cove.org/ape/ .
It was converted to java (http://www.cove.org/ape/java_ape.zip) so I
started to convert the java version to Android.

The performance is quite OK for 10-20 objects at the first start of
the app but if you exit with the back key and restart it form the
installed copy
(either in the emulator or on the dev phone) then it gets slower and
slower with each start. If you restart it from the emulator (by
reinstalling it) then it is faster again.
Neither the pressed keys are not working (probably it is because of my
poor Android programming knowledge).

Here is a zipped Android project of it. Please experiment with it and
send results to here i.e. is it slow for you also after re-re-re-..
staring?
www.kotiposti.net/lkelemen/android/testape2d.zip

thanks
Lajos Kelemen

On Mar 31, 9:26 pm, shaun <shashepp...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
mscwd01  
View profile  
 More options Apr 1 2009, 2:45 pm
From: mscwd01 <mscw...@gmail.com>
Date: Wed, 1 Apr 2009 11:45:40 -0700 (PDT)
Local: Wed, Apr 1 2009 2:45 pm
Subject: Re: Android Physics Engine
Thanks Lajos for pointing APE out, I hadn't heard of it until now.

Unfortunately your link to your Android port is broken, can you mend
it as I dont fancy spending another hour porting another library to
Android :D

Thanks

On Mar 31, 9:50 pm, lkelemen <tridc...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 47   Newer >
« Back to Discussions « Newer topic     Older topic »