Show Posts
|
|
Pages: [1] 2
|
|
2
|
Game Development / Game Mechanics / Re: New Version of Phys2D
|
on: 2007-02-26 03:38:25
|
|
I like the idea of sharing code between the projects for the time being. I hope sincerely that Phys2D keeps simplicity and speed, while I'd like to see JOODE become highly configurable and full-featured, with several choose-able integrators and a priori detection. Both projects can benefit from going down slightly different paths.
|
|
|
|
|
10
|
Game Development / Game Mechanics / Re: [JOODE] Contribution
|
on: 2007-02-02 18:39:17
|
Why not let the user configure that ? Just a "Math Optimizations" Enable/Disable options.
That's what I was getting at. OK, no problem. Anyway, change from sun vecmath to our modified vecmath is pretty straight-forward.
cool. I plan to commit the branch (mostly complete) this evening.
|
|
|
|
|
11
|
Game Development / Game Mechanics / Re: [JOODE] Contribution
|
on: 2007-02-01 17:49:36
|
|
Don't take me as any indication of the larger project community. It is still a very young project, and has no general "spirit" yet. Tom has already stated he's happy with the contrib, and the thread is becoming an off-topic about Java portability when using "magic" algorithms that rely on specific standards and/or architectures.
I don't like to simply say "Thanks for the contribution, move along." I prefer a public discussion of the patch, what the submitter has done and why, as per the spirit and guidelines of the project. It leads to a better quality of patches. I'm not saying it has to be a hearing before a committee either, but it does not justice to the patch writer to simply take their patch and trash it.
I hope that you will contribute in the future, and I hope you will at least consider JOODE for volatile.
|
|
|
|
|
12
|
Game Development / Game Mechanics / Re: [JOODE] Contribution
|
on: 2007-02-01 16:57:41
|
non-x86 platform? So that implies PPC right? Which means older macs and PS3.
Try SPARC, anything MIPS, or Cell. If you read above, the Accuracy VS Speed is configurable depending on the number of loops on the last line. As for the accuracy of JOODE, your depending on LCP in the first place, which isn't highly accurate, but achieves visually convincing results and is stable. If you want accuracy, im afraid your going to have to change all of JOODE.
*Is JOODE accuracy v. speed configurable If you want to re-prove what Quake3 and I (and countless others) already have proved that it is a worthwhile optimisation, then by all means go ahead  Did they prove it in Java? If you look at the change log, you will notice that this code is already in place (with a different initial value). I put it there myself (well, with Amos' help). However, I left it commented out, since there is currently no way to choose, nor was there a concensus on its use.
|
|
|
|
|
16
|
Game Development / Game Mechanics / Re: [JOODE] Contribution
|
on: 2007-01-30 20:14:54
|
It is accurate to 4 decimal places. Iterations over the last line in the algorithm produces more accurate results. If you look at the optimisation, one line has been commented out as I have replaced the initial guess with one that yields more accurate results.
Well, what accuracy is JOODE guaranteeing to the user? Is accuracy v. speed configurable? At what point of accuracy is this slower than Math.sqrt? You do realise this is java right?
JOODE is Java, that code is converted C code. It was written to be close to the hardware, which of course makes me suspicious of it. Has this Java code been shown to work on any non-x86 environment? (It should of course, but better to test these things before they are relied upon to be always correct) This is a contribution, take it or leave it, its up to you.
I hope we take it, as it is faster, but first it has to be proven out. I agree both with Marvin and darkprophet.
I'd find cool if you, biggeruniverse, would use the same version of vecmath (Kenji Hiranabe modified) as us (in Xith3D) so that we can add these optimisations (if you don't want to change regular sin()/cos()/sqrt() methods we could have fastXXX() ones).
Well, first thing first, let me finish the conversion to pure vecmath. I'll branch it for easy testing, and then it can be decided what to do about optimizations.
|
|
|
|
|
18
|
Game Development / Game Mechanics / Re: [JOODE] Contribution
|
on: 2007-01-30 16:47:57
|
This code is in Real, but I left it commented out because it's no longer as fast to do it in integer as in floating point instructions. Esp. for Java, it's probably slower. @t_larkworthy: I sent you a PM a while back! Check you PMs! 
|
|
|
|
|
19
|
Game Development / Game Mechanics / Re: JOODE love
|
on: 2007-01-23 09:29:43
|
|
Actually, you are on the right track. I'm working on an entire fix for this but, as I'm sure you have seen, it will take time. There will also be time to test, and verify that the conversion has happened correctly. It is being worked on.
|
|
|
|
|
21
|
Game Development / Game Mechanics / Re: JOODE love
|
on: 2007-01-22 02:43:29
|
|
Actually, what I had planned (not sure if this is concensus) is to replace the internal geometry classes with javax.vecmath classes. This will take a little time to get changed and tested.
|
|
|
|
|
22
|
Game Development / Artificial Intelligence / Re: AI detail level and scripting
|
on: 2007-01-19 14:26:48
|
|
Actually, in testing most of the options, my personal favorite has been Groovy. pnuts has some odd little quirks.
What do you mean by "AI"? That's anywhere from path-finding to Neural Nets. What you use will really depend on what kind of gameplay you are going for, and will probably be a combination of several things.
|
|
|
|
|
23
|
Game Development / Game Mechanics / Re: JOODE love
|
on: 2007-01-19 04:09:59
|
|
Go ahead get rid of mine- it's a stub. I like that you used javax.vecmath, I've been planning to convert all of JOODE to using it. I found from traces that the slowest part of the collider was lookups of indices in the Matrix3/4 classes.
Anyway, I'm excited to see some trimesh collisions!
|
|
|
|
|
24
|
Game Development / Game Mechanics / Re: JOODE love
|
on: 2007-01-18 19:48:39
|
No, it can detect the collisions, but it won't know how to "fix" them correctly. If it sees that a sphere is inside a box, all it knows is exactly that. It doesn't know where the sphere or box came from, or where they are going, hence how can it know which side of the box the sphere entered from? EDIT: I wish JOODE devs were around to talk to about this. 
|
|
|
|
|
26
|
Game Development / Game Mechanics / Re: JOODE love
|
on: 2007-01-18 07:02:09
|
|
Probably the quickest thing to do is make your step size half as big, and step the simulation twice per frame. That should help a lot of cases, though of course it will not help when the sphere still ends up within the box on the far side from where it entered. The problem is that the collider has no idea about the velocity of the body, and therefore cannot do tests a priori.
|
|
|
|
|
27
|
Game Development / Game Mechanics / Re: Detecting the time of collision between a rotating line and a moving sphere?
|
on: 2007-01-17 14:14:40
|
If you weren't at work I would kiss you. EDIT: @Markus_Persson: I know the ball flies through. That's why you use the lines and not the ball itself. Given oNyx' wikipedia reference, I've been describing an a priori method whereby you see if a collision will occur in the time step, and where it will occur. Then you place the ball at the position of line intersection (not quite of course, since the intersection is the on the edge of the ball) and give it a new velocity which is the mirror of the current velocity around the perpendicular to the paddle line. steps:1. (time step begins) calculate line that represents paddle, given current paddle orientation 2. fire ball velocity ray, get list of collisions, take the first one 3. if it intersects the paddle line (or any line technically, but the paddle line is special) place the ball at the intersection point, set new velocity, add paddle angular velocity to ball linear velocity 4. else update ball position by ball velocity 5. (time step ends) And what do you mean pretending won't work? The entire thing is about pretending! 
|
|
|
|
|
29
|
Game Development / Game Mechanics / Re: JOODE love
|
on: 2007-01-16 17:28:59
|
the fact that static-static collisions are ignored is most annoying for me... first I thought it was a bug, then I found out why in the code and I saw your post.
The issue is, I'm using JOODE Geoms without Bodies but I *want* collision detection because they are dynamic in my world (say, I use JOODE collision detection but not physic simulation here).
So this should be adjustable somewhere.
Hmm. Ok. Would adding something like World.ignoreStaticContacts (default value true) suffice?
|
|
|
|
|
30
|
Game Development / Game Mechanics / Re: Detecting the time of collision between a rotating line and a moving sphere?
|
on: 2007-01-16 17:26:21
|
|
Wow. You're right, that's phenomenally complex. But, I don't see where the *exact* time matters, only that the simulation is believable (i.e., if a collision occurs within the time step, which is usually pretty small, react). So let's cut out the idea of sub-steps. Let's look at each of the first row of cells as if each is a full time step. Assuming a time step <1/30 sec, I think that would be sufficiently close to "exact". Now it's simply as I said, the intersection of two lines. This method also ignores "contacts" where the paddle is technically within the sphere, but the sphere is moving away from the paddle (assuming you move the sphere line segment to the edge of the sphere. This is similar to what bleb was saying, with some simplification
|
|
|
|
|
|
Add your game by posting it in the WIP section,
or publish it in Showcase.
The first screenshot will be displayed as a thumbnail.
|
|