SketchyPhysics3 Update.
-
Hi everyone! Sorry I have been quiet for so long. I have had a weird couple of months. First I broke my hand in a otherwise minor car crash and was unable to do any typing with my right hand (also my mouse hand) for over a month. So everything involving a computer was a chore and I kinda took a break from it. My cast has been off about 3 weeks now and I am almost 100% again. Since then I have had to cope with a blizzard and several power outages. Not to mention the holidays. Plus I got a dog for xmas. Cute as hell, but also takes up a lot of time.
But enough excuses. I am back and working on SP again.
Originally I said a new release in Nov-Dec but obviously that didn't happen. Here is a (not so) brief history of SP3.
I started on it right after the release of 2.0b1. It was originally going to just be a few fixes and then a release (without the "b1"). But b1 turned out to be pretty stable. So I decided to start on the next point release version (2.5) right away and figured it would take about 6months to add the new features I wanted. If I had hit that it would have come out around Dec '07. 6m after 2.0b1.
In late '07 I was a little behind schedule but was still looking at a release "soon" when I was contacted by Kevin Willey about doing a Mac port. This has long been one of the most asked for features. So I jumped at it even if it would delay 2.5.
The first part of the Mac port did go pretty smoothly. But it required changing quite a lot of code under the hood to make it work on both platforms. It also changed the directory structure and in certain respects was not fully compatible with 2.0b1. So with that and the other features including Mac. I decided to call it SP3. Partly so you could have SP3 and SP2 installed at the same time.
Things were going pretty well and around Apr 08 we had a version that ran well on both Mac and Win. But then we hit a snag. A bug in the Sketchup WebDialogs on Mac was keeping the UI from working. I contacted Google and they confirmed the bug and said the fix wouldn't appear until SU7. We tried several work arounds but could not find a solution.
At the time it didn't seem that SU7 was that far off, and spring was calling me. so I decided to hold the release while I added a few new features. In retrospect I probably should have just finished it and released it then.
But I didn't stop working on it after all. I wanted to get at least one new feature that really felt like a 3.0. So I started working a new way to control joints. As I was working on this I found myself more and more frustrated with the code. SP was my first real ruby program. And I made so many bad choices and design errors that it is surprising it works at all. The more I tried to fix things the worse it got. I realized that some of the features I really wanted for future versions were just not going to be possible. Both because the code wouldn't support it and because it would never be backward compatible with SP2 and SP3 models.
So I started over. Brand new code base. Designed right and based around the next version of the underlying physics engine Newton Archimedes. Eventually it will be the 4.0 version but I am going to call it "SPIV" to avoid confusion.
OMG! right away I noticed a huge difference. Things that were flat out impossible in SP3 are trivial in SPIV. For example; no restrictions on copying joints and objects with joints. You can make a wheel and a hinge, attach it to a car, copy it four times, then copy the car (wheels and all) and everything will just work. And this is the best part: No more Joint Connection Tool! Don't need it. Got rid of it. I hated that thing from day one.
I worked on SPIV up until about early fall when SU7 went private beta. As expected SU7 fixed the Mac WebDialog problem and it looked like we could finally do a SP3 release around the time SU7 was expected to be released. So Kevin and I dusted off SP3 and started preparing for a release. But then I got busy at work, broke my hand, snow,power,xmas,dog etc.....
So that brings us to today. First week in Jan 09. 'Bout a year behind schedule for the next release. Sigh.
Here is the current state of SP3. It is mostly done and currently running under SU7 on both Win and Mac. But still needs some more work before a general release. Mostly bug fixes and a new input system. The joystick stuff in SP2 was kinda half assed and we are trying to make it work consistently on both platforms and also expose more buttons and make it configurable. There will also be keyboard emulation of joystick.
My current guess is we are at least a month out. But now that SU7, is out we may post a "alpha" before then.
After SP3 is out and stable I am going to go back to work on SPIV. I can't wait! I would say its about version 0.2 right now. But its already a lot more fun to use.
Chris
-
Cheers for the rather lengthy update chris, im already looking forward to spiv
-
Thanks for the update!.
As a Mac user, I am waiting very excitedly for this release!.
Sorry to hear about the hand; hopefully the physical therapy will have you back to normal in no time!.
-
Cool stories
but...@unknownuser said:
After SP3 is out and stable I am going to go back to work on SPIV. I can't wait! I would say its about version 0.2 right now. But its already a lot more fun to use.
-
Chris. I am extremely happy that you are back on programming. I was starting to get really worried that perhaps you may have lost interest.
-
Any chance the new SP3 will be able to convert the animation to a 'native' Sketchup animation ?(scene tabs)
I think at a certain time SketchyReplay did that.It would enable use to do photoreal rendered animation using realistic physics .
example:http://www.vimeo.com/2752527 -
Hi Chris,
I'm very excited hearing your story and I can't wait for SPIV.
Need any SP3 Alpha testers?
Evangelos
P.S. Is there any way to use sketchyphysics with the google earth API?
-
I know I've said this before, but if I can, I would love to be an SP3 Alpha tester for mac.
Also, looking forward to SPIV Any chance for breakable joints/connections in SPIV?
-
Thanks for the news, I wish you a good year 2009, with less pains and less unexpected bad events.
MALAISE
-
HI Chris
These are very good news! At some point, I thought you got tired about this great project.
Hope you are doing better with your hand. Thank you so much for all the work you have been doing about SP. IMO, it's a fantastic piece of code.
I have a couple of questions regarding the new release:
-
Will it work under SU6 or do we need to upgrade to SU7 ?
-
Did you do any improvements regarding the object's density/weight ? The only thing I can see now is the defaultobjectdensity global property under Physics Settings. I understand this setting affects every object. I've read in another post from you that it's not useful right now, but you were talking about possible changes in the future then.
I think that considering different densities for different objects (like the real world does) would be a great improvement. Please let me know if we can expect something like that in version 3 or maybe in SPIV.
Best Regards and have a great year,
Jorge -
-
@escuadra said:
HI Chris
These are very good news! At some point, I thought you got tired about this great project.
Hope you are doing better with your hand. Thank you so much for all the work you have been doing about SP. IMO, it's a fantastic piece of code.
I have a couple of questions regarding the new release:
-
Will it work under SU6 or do we need to upgrade to SU7 ?
-
Did you do any improvements regarding the object's density/weight ? The only thing I can see now is the defaultobjectdensity global property under Physics Settings. I understand this setting affects every object. I've read in another post from you that it's not useful right now, but you were talking about possible changes in the future then.
I think that considering different densities for different objects (like the real world does) would be a great improvement. Please let me know if we can expect something like that in version 3 or maybe in SPIV.
Best Regards and have a great year,
JorgeAs far as I can tell the current version 2.0b1 should work fine on SU7. I have been using it for a while. You would need to change the install path during installation to point at SU7 instead of SU6.
No changes in object density and weight in this version. Object materials are one of the features that is difficult in this code but will be possible in SPIV.
-
-
Chris, when you said that the joint connection tool won't be needed, what do you mean? How will we connect the right joint to the right object?
-
@platypus5 said:
Chris, when you said that the joint connection tool won't be needed, what do you mean? How will we connect the right joint to the right object?
Good question. Joints automatically connect to anything they are touching, coupled with the fact joints can be any shape or size. It works amazingly well.
-
Hi Chris,
There's a bunch of stuff I'd like to ask, so here's a list...Would emitters/spawners be possible in SPIV? I don't know if you've ever heard of LittleBigPlanet, but something like the emitter in that would be useful; with a named physics component being the object that is created. That would mean things like projectile weapons would be easier to make.
With keyboard/gamepad button controls, it could be helpful to have a toggle option; press once for on, again for off.
What's going to become of bouyancy in SPIV? Will the bugs be fixed? In the Newton playground, you could spawn bouyancy fields; will we be able to make these?
And finally, this is probably crazy, but do you think a sort of "explosives" joint would be possible? For example, something that, when triggered, creates a powerful force in all directions around it for a fraction of a second, something like the magnet joint as it exists now.
I hope at least some of this is possible... thanks!
-
@wacov said:
Hi Chris,
There's a bunch of stuff I'd like to ask, so here's a list...Would emitters/spawners be possible in SPIV? I don't know if you've ever heard of LittleBigPlanet, but something like the emitter in that would be useful; with a named physics component being the object that is created. That would mean things like projectile weapons would be easier to make.
With keyboard/gamepad button controls, it could be helpful to have a toggle option; press once for on, again for off.
What's going to become of bouyancy in SPIV? Will the bugs be fixed? In the Newton playground, you could spawn bouyancy fields; will we be able to make these?
And finally, this is probably crazy, but do you think a sort of "explosives" joint would be possible? For example, something that, when triggered, creates a powerful force in all directions around it for a fraction of a second, something like the magnet joint as it exists now.
I hope at least some of this is possible... thanks!
While I am not Chris, I think I can answer some of your questions. Some of your things are set to be in SP3, others in SPIV, and others are not sure yet. At least Chris hasn't told us.
Cphillips has stated specifically that it will be possible to create objects using one of the controlers, and not in SPIV, but in SP3. However, it will require some coding so that the object knows when to clone itself, should it send it in a certain direction, at what velocity, etc.
And yes, I know that there will be keyboard input in SP3. While he hasn't said specifically how this will work, he has also said that oscillators will be able to work using a formula rather than a set number. (i.e. it goes down fast, rises slowly, goes down fast again)
Finally, breakable joints are schedueled for SPIV.
CPhillips, tell me if I got any of this wrong. I
-
@wacov said:
Hi Chris,
Would emitters/spawners be possible in SPIV? I don't know if you've ever heard of LittleBigPlanet, but something like the emitter in that would be useful; with a named physics component being the object that is created. That would mean things like projectile weapons would be easier to make.Something like emitters are in SP3.
@wacov said:
With keyboard/gamepad button controls, it could be helpful to have a toggle option; press once for on, again for off.
No specific support for toggle, but I think you create a controller formula would act like a toggle.
@wacov said:
What's going to become of bouyancy in SPIV? Will the bugs be fixed? In the Newton playground, you could spawn bouyancy fields; will we be able to make these?
Buoyancy in 3.0 will be the same as 2.0. SPIV will have better buoyancy, but I dont know exactly what features yet. Probably volumes at least.
@wacov said:
And finally, this is probably crazy, but do you think a sort of "explosives" joint would be possible? For example, something that, when triggered, creates a powerful force in all directions around it for a fraction of a second, something like the magnet joint as it exists now.
If I finish the current magnet it would would support that. I hadn't planned on doing anything with magnet for 3.0 but I will think about it.
Keyboard support is done by having keyboard emulation of the joystick. The joystick now supports the full range buttons on a Xbox 360 style controller.
-
I have a few questions about 3.0 and SPIV:
First, will it be possible to edit the friction of certain objects? What would be nice is to set an object to be "rubber-coated", so that it can grip objects really well. Although not directly related to friction, it'd also be nice to have some sort of "sand" attribute that causes objects moving across a particular substance to slow down, even if the object is round and can roll.
Second, will it be possible to add triggers for a motor, so that when a spring is pressed to a certain point, it sets the parameters of a certain motor to certain values? Here's an example of something I'd been wanting to do that would require triggers: a bowling pinsetter. When the pinsetter picks up the bowling ball and sends it back to the player on a track, it triggers a motor to lower the pinsetter. When it lowers all the way, another trigger runs that grips the pins that remain standing, and lifts the pinsetter back up.
Third, will it be possible to create custom scripts? It'd be nice to be able to write scripts in ruby that can control attributes of elements. For example, a multistory elevator could be made, where clicking on a particular object (the elevator button) triggers a particular ruby function, which would set the attributes of the motor controlling the elevator to shift the elevator in the direction of the door who's button was pushed.
-
@javawizard2539 said:
I have a few questions about 3.0 and SPIV:
First, will it be possible to edit the friction of certain objects? What would be nice is to set an object to be "rubber-coated", so that it can grip objects really well. Although not directly related to friction, it'd also be nice to have some sort of "sand" attribute that causes objects moving across a particular substance to slow down, even if the object is round and can roll.
Second, will it be possible to add triggers for a motor, so that when a spring is pressed to a certain point, it sets the parameters of a certain motor to certain values? Here's an example of something I'd been wanting to do that would require triggers: a bowling pinsetter. When the pinsetter picks up the bowling ball and sends it back to the player on a track, it triggers a motor to lower the pinsetter. When it lowers all the way, another trigger runs that grips the pins that remain standing, and lifts the pinsetter back up.
Third, will it be possible to create custom scripts? It'd be nice to be able to write scripts in ruby that can control attributes of elements. For example, a multistory elevator could be made, where clicking on a particular object (the elevator button) triggers a particular ruby function, which would set the attributes of the motor controlling the elevator to shift the elevator in the direction of the door who's button was pushed.
First is materials. It will probably be in SPIV. Second, no triggers in 3.0 again probably SPIV. Third, SP3 will have some scripting elements. I am still working on that bit so I dont know for sure what it will and wont be able to do.
-
can't wait
-
Sorry to hear about the accident -- I couldn't imaging not having an useable mouse hand. Thanks for the update -- I'm thrilled to hear SP finally going to make it to the Mac. Thank you for you efforts.
More on the point, friction coefficients would be a welcome and powerful addition to SP. I could almost imagine eventually seeing a feature like quick-and-dirty CFD. That would be cool.
Advertisement