Game Maker's Garage Forum

Game Maker's Garage => Announcements => Topic started by: Gan on January 30, 2011, 10:37:53 AM

Title: SC Physics
Post by: Gan on January 30, 2011, 10:37:53 AM
SCBox2D Physics Tutorial (http://www.youtube.com/watch?v=eDdmn0nUAeM)

SCBox2D + Sources Download + Game Template + Documentation (http://cl.ly/1H3q1z022N0k2w2f250b)

Blank SC Physics Template 640x480 (http://cl.ly/022v232J2t1P1g301u1T)

Can someone say whoa? Double whoa, works for 10.3+ machines.

Screenie:
(http://cl.ly/2T0L3c3O3H1f1k25110b/Screen_shot_2011-02-05_at_10.23.07_PM.png)
Title: Re: SC Physics
Post by: WarHampster on January 30, 2011, 10:41:20 AM
Cool, is this working through your box2d integration idea?
Title: Re: SC Physics
Post by: Gan on January 30, 2011, 10:44:43 AM
Yeah. I was thinking Sc needed a built in physics engine and Mike's so busy so I went ahead and built a plugin.
Title: Re: SC Physics
Post by: WarHampster on January 30, 2011, 10:55:23 AM
So there's a second program running alongside the SC program?

Title: Re: SC Physics
Post by: Gan on January 30, 2011, 12:20:28 PM
Yeah. I built an invisible Obj-C application that runs the physics simulation and feeds the results to Sc. Sc controls the input, game, and drawing. The SCBox2D plugin handles the logic.

If I can find the code to open an external application I can make Sc automatically start the plugin so the player has no idea a second application is running.
Title: Re: SC Physics
Post by: EqwanoX on January 30, 2011, 01:07:57 PM
wiat what?! thats not even possible, is there any sc coding involved at all? does it simply just display the action on the sc canvas?
Title: Re: SC Physics
Post by: Gan on January 30, 2011, 01:30:10 PM
It's possible and I've done it. It uses plain Sc code to control the plugin.

After I clean it up and make it more user friendly I'll post the source so you guys can play. Right now it only supports making circles and squares and moving things with the mouse. Eventually you'll be able to control gravity, specify friction/density/mass/restitution, set the level boundaries, and have joints. Though baby steps.
Title: Re: SC Physics
Post by: Gan on January 30, 2011, 03:05:01 PM
Download in first post.

That's it. To run double click the SCBox2D plugin. Then open the Sc source and play around.
I just compiled the plugin for 10.5+.

P.S. After many tries at converting code and compiling, I could not get the plugin to run on my old 10.4 powerbook G3. So I'm just going to stick with 10.5+.
Title: Re: SC Physics
Post by: Gan on January 30, 2011, 05:45:46 PM
I've just optimized the engine so it can handle a lot more objects on screen.
Title: Re: SC Physics
Post by: WarHampster on January 30, 2011, 10:52:16 PM
Quote
wiat what?! thats not even possible


GAN IS A WITCH!!!

This is awesome, although I'm kind of paranoid about that second program lurking in the shadows after I close the SC program.
Title: Re: SC Physics
Post by: x on January 30, 2011, 11:56:01 PM
This is great, nicely done!

I guess one could theoretically write a simple openGL based rendering engine app and script it in SC using methods. Given that SC has a way too give focus to another app/window (does it?). Or perhaps the app could produce a simple .bmp file with the rendered scene that SC reads as a sprite.

Ok I am done speculating now lol.
Title: Re: SC Physics
Post by: Gan on January 31, 2011, 10:53:51 AM
Quote
GAN IS A WITCH!!!
SHHHH!! Those salem creeps are still after me!

Quote
This is awesome, although I'm kind of paranoid about that second program lurking in the shadows after I close the SC program.
Don't worry. The program automatically quits after 5 minutes of inactivity. And key logging and erasing random files.

Quote
This is great, nicely done!
 
I guess one could theoretically write a simple openGL based rendering engine app and script it in SC using methods. Given that SC has a way too give focus to another app/window (does it?). Or perhaps the app could produce a simple .bmp file with the rendered scene that SC reads as a sprite.
 
Ok I am done speculating now lol.
Sc won't accept a bmp. It probably could be done if the Gl renderer could identify Sc's canvas and draw over the top of it. But it'd be quite a challenge to write something like that.
Title: Re: SC Physics
Post by: WarHampster on January 31, 2011, 11:03:05 AM
I thought about this for my SC3D implementation. Conclusion: not worth it.
Title: Re: SC Physics
Post by: EqwanoX on January 31, 2011, 11:17:33 AM
how does this work in sc code? can you do a quick tutorial? and can you do it with a mic, its annoying waiting for you to type out what your saying.
Title: Re: SC Physics
Post by: Gan on January 31, 2011, 12:21:55 PM
Download & Tutorial up above.

I added a crap load of new features. Make sure to try out the SCBox2D testbed, some really cool stuff.
Here's a voice tutorial on it. Enjoy.
Title: Re: SC Physics
Post by: EqwanoX on January 31, 2011, 01:06:21 PM
says "socket $1 died with error 22. let me guess, intel only?
Title: Re: SC Physics
Post by: Gan on January 31, 2011, 01:13:30 PM
Should be Intel and PPC. Should work on 10.5+. What OS are you running? Computer specs?
Title: Re: SC Physics
Post by: WarHampster on January 31, 2011, 01:21:15 PM
Cool and all, but I'd be much more interested to see the Obj-C source  ;)
Title: Re: SC Physics
Post by: Gan on January 31, 2011, 03:27:21 PM
YEAH! YEEEEAAAH!

SCBox2D is now 10.3+ compatible. Oh yeah.

SCBox2D + Sources (http://cl.ly/3y2c1e023X2K1W2Q0c3E)
Title: Re: SC Physics
Post by: EqwanoX on January 31, 2011, 06:33:52 PM
i had to manually open the plugin. this is so amazing :o, i could play with this thing all day
Title: Re: SC Physics
Post by: x on January 31, 2011, 06:46:41 PM
Gan, you have created sex in a plugin, +1up.
Title: Re: SC Physics
Post by: Gan on January 31, 2011, 07:26:40 PM
Quote
i had to manually open the plugin. this is so amazing :o, i could play with this thing all day
Glad you like it. :) Think you could make something cool with it?

Quote
Gan, you have created sex in a plugin, +1up.
I'll take your word for it. ;)

This thing has lots of potential but Sc has 2 main bottle caps. The NTHFIELD command(it's slow and I use it when transferring data) and Sc's slow drawing capabilities.

Here's a small insider on future plans:
Joints:
(http://cl.ly/3Q2v0z041o0h1Z0k210M/Screen_shot_2011-01-31_at_7.21.49_PM.png)
Allows building of mechanical machines such as this truck.

Polygons:
(http://cl.ly/1J1m2X1c3o29001R4407/Screen_shot_2011-01-31_at_7.24.20_PM.png)
More fun than dull circles and boxes.

Collisions:
(http://www.raywenderlich.com/wp-content/uploads/2010/03/ScreenshotSmall.png)
Know when two things collide so you can do radical stuff. Like blow up bombs and destroy things.
Title: Re: SC Physics
Post by: Gan on February 01, 2011, 11:24:52 AM
Polygons are in.
(http://cl.ly/1Q2A192T423l3f1b1E0b/Screen_shot_2011-02-01_at_11.20.56_AM.png)

Download is in the first post.
Title: Re: SC Physics
Post by: Silverwind on February 01, 2011, 11:35:35 AM
Extremely impressive! :D
Title: Re: SC Physics
Post by: Gan on February 01, 2011, 01:00:16 PM
Impressive enough to make a game in?
Title: Re: SC Physics
Post by: WarHampster on February 01, 2011, 02:18:37 PM
I've been looking through the source and just have to say:

AHH MY EYES! HOW DO YOU PROGRAM IN THIS LANGUAGE!??

That said this is really cool. Think you could release a generalized SCPlugin template?
Title: Re: SC Physics
Post by: Gan on February 01, 2011, 02:39:16 PM
Quote
I've been looking through the source and just have to say:
 
AHH MY EYES! HOW DO YOU PROGRAM IN THIS LANGUAGE!??
;D
I just press random keys and see what happens.
Quote
That said this is really cool. Think you could release a generalized SCPlugin template?
I'll get right on it.
Title: Re: SC Physics
Post by: Gan on February 01, 2011, 04:10:10 PM
Here's a blank 800x600 template game. Has all the methods and is all set up. Even has one circle already created at the start.

SCPlugin Template (http://cl.ly/3j403j2D433L2Q1u2I0t)

I'm going to work on building a documentation guide.
Title: Re: SC Physics
Post by: Gan on February 01, 2011, 05:05:54 PM
Here's a guide in which I attempt to describe each method:
SCBox2D Documentation (http://cl.ly/0z0H3G15212v35033q1B)

Though the best way to figure it out is to play with it.
If anyone has specific questions just post or pm me.
Title: Re: SC Physics
Post by: WarHampster on February 01, 2011, 06:01:34 PM
I meant a plugin template that could be used for interfacing other libraries with SC.

Ex. OpenGl.
Title: Re: SC Physics
Post by: Gan on February 01, 2011, 06:37:27 PM
Oh, it's easy. Just use direct sockets to make an external program talk to SilverCreator.

Just updated SCBox2D. Much more stable, much more realistic looking, and much more awesome.

(http://cl.ly/2W300C3b1K3S1A0h462P/Screen_shot_2011-02-01_at_6.35.48_PM.png)
Title: OH MY GOD
Post by: Connors on February 01, 2011, 11:26:43 PM
:o I didn't check this whole forum (just pieces) for like THREE DAYS and found out I missed this whole thread.
I was just watching Gan's tutorial and this is the best SC project I've seen. Forget Phun (http://www.phunland.com/) I have no idea how to mod it, and THIS lets you change whatever you want to! ;D
Title: Re: SC Physics
Post by: Connors on February 02, 2011, 03:03:24 PM
Yo Gan I changed the 5th card in the demo and it did some weird crap with the forces. The ball tends to want to roll one way more so then the other like there's wind and then when you press down while it's on the ground it flys up and to the left. ??? Maybe you should just try this out in Key Down on #5 and see fo yoself.
Code: [Select]
IF Key$ = UPARROW$ THEN
   ApplyLinearImpulse 1, 0,0.1, 0,0
END IF
IF Key$ = DOWNARROW$ THEN
   ApplyLinearImpulse 1, 0,-0.5, 0,0
END IF
IF Key$ = LEFTARROW$ THEN
   ApplyForce 1, -0.5, 0, 0,0
END IF
IF Key$ = RIGHTARROW$ THEN
   ApplyForce 1, 0.5,0, 0,0
END IF
Title: Re: SC Physics
Post by: Gan on February 02, 2011, 03:15:11 PM
When doing a down impulse while on the ground, it causes the impulse to bounce back into the ball which causes the ball to fly up. You can fix by getting rid of the down arrow impulse.
When pressing left or right, a force is applied. When you let go momentum keeps the ball going. You can get rid of momentum by increasing friction of the ball.

If you want to look at better movement, check out the platform demo.


By the way, major update. I've switched from direct sockets to easy sockets. 200-300% performance gain. :)
Title: Re: SC Physics
Post by: Connors on February 02, 2011, 03:21:10 PM
Alright, I'll just mess around with these commands for a while...
PS: I gave it some friction, I was referring to the worrying tendency of the sphere to want to change direction on it's own. Does it perhaps have a spin on it??
Title: Re: SC Physics
Post by: Gan on February 02, 2011, 03:26:06 PM
Yeah, the circles spin. In a future feature I'll be demoing the usefulness of spinning circles.

If you don't want a circle to spin just SetFixedRotation #, TRUE
Title: Re: SC Physics
Post by: GabrielCA on February 02, 2011, 04:01:55 PM
Very impressive (liked video demo), though Box2D (the core of the physics engine plugin) is not by GMG Matt
Title: Re: SC Physics
Post by: Silverwind on February 02, 2011, 04:04:14 PM
What do you mean?
Title: Re: SC Physics
Post by: GabrielCA on February 02, 2011, 04:15:16 PM
I mean it would've been even more impressive if Matt had written Box2D himself, as Box2D is doing a lot of the work.
Title: Re: SC Physics
Post by: Silverwind on February 02, 2011, 04:17:03 PM
Who wrote Box2D?
Title: Re: SC Physics
Post by: WarHampster on February 02, 2011, 04:18:56 PM
...

Gan didn't claim to have written Box2D, just the "plugin" for SC.
Silver, Box2D is an open source physics library: http://www.box2d.org/
Title: Re: SC Physics
Post by: GabrielCA on February 02, 2011, 04:19:48 PM
The author is credited as Erin Catto (there are contributors).
Box2D appears to be a general purpose 2D physics engine.
http://www.box2d.org/
Title: Re: SC Physics
Post by: Silverwind on February 02, 2011, 04:24:38 PM
Ah.
Title: Re: SC Physics
Post by: Gan on February 02, 2011, 04:25:15 PM
Yeah. In the documentation I clearly state this.

This plugin uses Box2D and interfaces it with SilverCreator. Hence the name, SCBox2D.
Title: Re: SC Physics
Post by: Connors on February 02, 2011, 04:45:21 PM
And I can see some great stuff coming out of this one, Matt. :) I shall look into using it for Ship Lander.
Title: Re: SC Physics
Post by: Gan on February 02, 2011, 06:23:42 PM
I'd love to see a game like that made with this. Of course if you need help or want specific features, just say so.

Big Update!
I've added the Distance Joint:
(http://cl.ly/0D2w2g0E1q1D133L0u0T/Screen_shot_2011-02-02_at_6.22.45_PM.png)
You can now build basic machinery like this car.
Expect more joints to come.

As always, download is in the first post.
Title: Re: SC Physics
Post by: EqwanoX on February 02, 2011, 06:40:20 PM
what do you use to record youtube videos?
Title: Re: SC Physics
Post by: Gan on February 02, 2011, 06:43:19 PM
QuickTime X. In the file menu is a screen record option.
Title: Re: SC Physics
Post by: Gan on February 03, 2011, 01:10:29 PM
I have some tough decisions I need your help to make.

Do you want me to get rid of the world boundaries? I can make the level infinite so if you want boundaries you'll have to manually make them.

Should CreateCircle/CreateBox/CreatePolygon return the shape number? It might make it easier to track shapes:
Code: [Select]
LET player = CreateCircle 30, 10, 10, 0.2, 0.2, 0.2, "Dynamic
ApplyTorque player, 18

Anything you guys want me to add or change?
Title: Re: SC Physics
Post by: Connors on February 03, 2011, 08:38:18 PM
Very cool addition is these joints, I'll download it in a minute. I'm still messing with this not making games just yet. But I did make a sprite follow a circle around. ::)

...As for numbers it would help if they were easier to keep track of thanks.

And just add a Boolean of whether it has boundaries or not. :D
Title: Re: SC Physics
Post by: Gan on February 03, 2011, 09:03:57 PM
Thanks for the input. Expect an update probably tomorrow.
Title: Re: SC Physics
Post by: Gan on February 04, 2011, 09:03:30 PM
Fairly large update. Download in first post.

Change List:
- Added visual circle rotation.
- Increased physics performance.
- Added ability to remove boundaries.
- Added easy tracking of shapes numbers.
- Ability to move the world.

Eventually I'll make a few more demos to show off the new features.

EDIT:
Holy haberdashery, Batman! I posted this update exactly 24 hours after I said I would!
Title: Re: SC Physics
Post by: Gan on February 05, 2011, 06:04:02 PM
Update. Download in first post.

Things are more stable, the coordinate system has been flipped to Sc's coordinate system. Sprite support has been added. Some bug fixes.

Ah, also I made some more demos. Here's the video. (http://www.youtube.com/watch?v=j5AbsQfBFKo)
Title: Re: SC Physics
Post by: Zoo on February 05, 2011, 10:17:56 PM
woah, my head just blew up. THAT'S EPIC.
Title: Re: SC Physics
Post by: Zoo on February 05, 2011, 10:18:58 PM
Are those demo thingys in the download on page one?
Title: Re: SC Physics
Post by: Gan on February 05, 2011, 10:26:29 PM
Yeah. Inside the folder is the Sc Physics application and Sc source. Both would work. Though make sure you open the SCBox2D plugin first.
(http://cl.ly/2T0L3c3O3H1f1k25110b/Screen_shot_2011-02-05_at_10.23.07_PM.png)
Title: Re: SC Physics
Post by: Connors on February 05, 2011, 11:30:16 PM
Gandolf, can you keep including that blank slate version of the SC Physics project ? Or at least the SC code files? I only have your examples project and it's not as easy to mess around with. I need some space here! XD
Title: Re: SC Physics
Post by: Gan on February 06, 2011, 12:02:42 AM
Ah yeah sorry. I'll reupload that tomorrow. It gets kind of repetitive having to remake the blank template on every update.
If you get impatient, a way to make your own is to make a blank Sc project, export all the SC Physics methods and import them into your blank project.

Warning: Spoiler. Can you guess what it is? (http://cl.ly/0P143B1f1s3w1G2u2s0O/Screen_shot_2011-02-05_at_11.58.34_PM.png)
Title: Re: SC Physics
Post by: Gan on February 06, 2011, 09:20:38 AM
Blank SC Physics Template 800x600 (http://cl.ly/132h3k1l3z0d1H3p1z1n)

This is the blank SC Physics Template. Also in first post.
Title: Re: SC Physics
Post by: Connors on February 06, 2011, 06:23:35 PM
OK, well exporting them all was my plan b, it's fine if you don't want to every time...

EDIT: Dude his second SCBox2D video has 100% likes now! ;D
Title: Re: SC Physics
Post by: Connors on February 06, 2011, 10:07:06 PM
I made some code for a ship which I calibrated to work by tapping keys to work around SC's key down issue, and it worked fine on a box with these same traits. But when I made it a triangle it drew it and it wouldn't move. What would cause the physics to freeze?
Code: [Select]
LET player = CreatePolygon( "0,0;15,40;30,0", 100, 100, 0.2, 0.1, 0.6, "Dynamic", 0)
SetFixedRotation player, TRUE
EDIT: While I'm asking questions how do I make it respond to a collision? There is no "if shape a touches shape(s) b".
EDIT 2: OMG GAN'S MAKING DEFENSE GAEM
Title: Re: SC Physics
Post by: Gan on February 06, 2011, 11:36:09 PM
Your triangle has it's vertices going clock wise. Polygons must be counter clock wise and convex. Flipping the 3 vertices backwards should fix it. I'm working on fixing this so concave and clock wise vertices work.

For collision detection just use rectangle distance code to see if a shape is this close to another shape. I'm working on a collision detection method that'll hopefully return a collision with the exact point of intersection.
Title: Re: SC Physics
Post by: Connors on February 07, 2011, 04:48:24 PM
Sweet, looking forward to that. When that happens I can do tons of things with it. Ship Lander practically makes itself. XD
By the way you should test sprites with polygons, it works but it's offset to the lower left corner.

EDIT: OK more weird crap, it seems as though Key Down behaves erratically when I have a sprite set to follow the ship. When I did it was lagging, when I turned off the sprite it worked fine. The whole program doesn't lag, just the controls. ???
Title: Re: SC Physics
Post by: Gan on February 07, 2011, 05:35:15 PM
Hmm. I think I encountered that problem before. I'll look into it. If you port or pm your project I probably could find and fix it faster.
Title: Re: SC Physics
Post by: Connors on February 07, 2011, 08:01:28 PM
OK I will, I have to get off the computer now, I was just uploading this test, about the transfer of energy. The one on the left works like in real life and the desk toy failed horribly. XD
But it's funny to watch, anyway.
https://sites.google.com/site/onronc/Experiments.scproj?attredirects=0&d=1

EDIT:
Updated it. The pendulum works now, I just make them way denser.
And I found out that while objects with sprites on them are moving in my case it lags like you wouldn't believe and impedes user input. I had to let the balls settle before it stopped and I could quit out. So it WAS the whole program, Matt. Thing is I didn't have that problem with your example. ???
EDIT 2:
workaround, for those who had trouble:
Code: [Select]
ON TIMER 2
   MOVESPRITE 1, shapex(1)-25, shapey(1)-25, TRUE
   MOVESPRITE 2, shapex(2)-10, shapey(2)-10, TRUE
   MOVESPRITE 3, shapex(3)-25, shapey(3)-25, TRUE
   UPDATESCREEN
END TIMER
Title: Re: SC Physics
Post by: Gan on February 07, 2011, 10:38:53 PM
Awesome, I'll go through this tomorrow. Fix this bug, try the engine with Sc B3...
Title: Re: SC Physics
Post by: Connors on February 08, 2011, 03:21:49 PM
FYI I tried my project and your examples with the new version of SC and it crashed both times.  :(
Title: Re: SC Physics
Post by: Zoo on February 08, 2011, 04:31:45 PM
how do you open a binary file, anyway?
Title: Re: SC Physics
Post by: Gan on February 08, 2011, 05:26:04 PM
If it's an app, double click to open. If it's a plain file you might need another application to open it.

I tried out the pendulum. That's an awesome idea, surprised I didn't think of it...  
Yeah, a restitution of 1.0 and density of 1.0 fixes it.

As for sprites, I believe it lags cause in my code I didn't set it to TRUE to hold off on updating. I'll fix it.
Title: Re: SC Physics
Post by: Gan on February 08, 2011, 10:06:02 PM
SC Physics appears to work perfectly in Sc B3.1.
Title: Re: SC Physics
Post by: Connors on February 08, 2011, 10:33:20 PM
Yeah, no problems with the new version here! 8)
Oh and I uploaded a new version of my "Experiments", same link in the original post.
I wanted to try making a piston motor. (The wheel moves the block instead of vice versa). I then remembered a glitch that i forgot to report before, where distance joints glitch out if you offset where they are connected. It seems to relate directly to the height, but it makes for some interesting machines. XD Even weirder is I don't think it happened to the car.
 Could this be a result of your switching the coordinates system Matt?
Title: Re: SC Physics
Post by: Gan on February 08, 2011, 10:43:05 PM
That's some way cool stuff.

But yeah you're right. I believe that's due to me flipping the coordinate system.

I'll take a deeper look tomorrow, fix some bugs, add some new features, maybe toss in an extra joint or two...
Cause I have a snow day tomorrow. YEAH! (http://www.mmorpgmaker.org/forums/images/smilies/icon_e_biggrin.gif)

You mind if I put some of your experiments into the Sc Physics demos?
Title: Re: SC Physics
Post by: Connors on February 09, 2011, 07:30:15 AM
Sure, go ahead. ;D
Snow days are cool!
Title: Re: SC Physics
Post by: EqwanoX on February 09, 2011, 12:01:19 PM
seriously, someone has to make a dirtbike game with this. anyone remember those games? you would move the mouse to the top of the screen to accelerate
Title: Re: SC Physics
Post by: Connors on February 09, 2011, 12:31:29 PM
Oh yeah! I had one that you control with only the mouse. It was hard. It would also work fine in SC. The thing is I'd need to figure out how to make terrain... But I have one idea to try.
Title: Re: SC Physics
Post by: Gan on February 09, 2011, 12:53:31 PM
I loved those games, use to play them all the time.
It'd be awesome if someone made that.

As for terrain, there's something I haven't made yet that'd be perfect. It's called the Edge Shape. Similar to the polygon shape except that it's just lines.

(http://cl.ly/390N0D2v2t2r0G0i3w13/Edge_Shape.png)

That feature will come in a while though. Meanwhile boxes and circles could be used to make the terrain.

By the way, I'm part way through the next update. Currently hooking up collision detection.
Title: Re: SC Physics
Post by: Connors on February 09, 2011, 01:30:52 PM
Sweet, I don't mind if collision detection is a priority, that opens up some great possibilities. In the mean time I'll just make some methods that line up shapes for me.
Title: Re: SC Physics
Post by: Gan on February 09, 2011, 05:09:17 PM
Update!
- Joint drawing fixed.
- Sprite lag believed to be fixed.
- New SetGetVelocity(ShapeNum,True/False) command! Allows you to receive velocities of shapes. Thus you can tell if a shape is moving or is perfectly still. (Think landing game)
- New SetGetCollision(ShapeNum, True/False) command. Allows you to receive collisions of shapes. Which you can detect if one shape is touching another.
- Fixed flickering when first making the world! No more cruddy object teleportation and flashes.
- New Revolute Joint. Basically allows you to put a nail through two shapes and connects them where they can rotate freely of each other but connected. Good if you want to for example make a see saw. A triangle in the middle, a rectangle at the tip with a revolute joint piercing through both.

As always download is in the first post.
Title: Re: SC Physics
Post by: Gan on February 09, 2011, 05:33:45 PM
Added more demos, check it out:
http://www.youtube.com/watch?v=oEGXl-eDfbc
Title: Re: SC Physics
Post by: Gan on February 09, 2011, 07:27:58 PM
As a note, I didn't make a velocity demo so...

When making a shape you:
Code: [Select]
SetGetVelocity myShape, TRUE
That makes it so you can access velocity. Now to get the velocity you:
Code: [Select]
PRINT "X Velocity=" + STR$(shapeXVel(myShape))
PRINT "Y Velocity=" + STR$(shapeYVel(myShape))
PRINT "Rotational Velocity=" + STR$(shapeRotationVel(myShape))

I have it set up this way so the game runs fast. You set a shape to get velocity, then you just grab the velocity number from the array.
Title: Re: SC Physics
Post by: Connors on February 09, 2011, 10:18:18 PM
Hey Gan, if two shapes are touching when you start a physics world then as soon as they aren't there's a glitch in EndCollision. It's easy to re-create, it worked with a circle and a polygon or a circle and a circle.
And what's wrong with this polygon? Maybe I'm just tired but the physics wouldn't start.
I made the points with my brand new Object Builder, which I will upload as soon as I'm sure it works and is not the problem here.
Code: [Select]
LET polygon = CreatePolygon( "40,361;160,361;200,241;0,241", 100, 100, 0.2, 1, 0.1, "Dynamic", 0)
Title: Re: SC Physics
Post by: Gan on February 09, 2011, 11:29:06 PM
Hmm. It'll look into this bug tomorrow.

The polygon looks fine to me. I'll have to play with it. Hopefully soon I'll have the code to allow you guys to make any kind of polygon without error.
Title: Re: SC Physics
Post by: Connors on February 10, 2011, 12:21:38 PM
In that case I'll post what I made when I get home, it's pretty useful for seeing what the shape will be and you can tell it to lock to a grid.
Title: Re: SC Physics
Post by: GMG Mike on February 10, 2011, 02:11:45 PM
I just tried this out for the first time. Amazing shit right here.

I think a proper plugin system would be awesome for v2.1 even if it was Mac only (plugins made in Cocoa). REALbasic supports something called IPC which is more appropriate than regular sockets and I bet Cocoa supports this too.

Instead of having to launch the plugin and do all this other crap, the plugin would be rebundled from a .app into a new .scplugin format that you would add to a Plugins folder. Inside the bundle would be a file that describes all of the methods that the plugin adds to the game, including their parameters and return types so that they can be added to auto-complete.

In addition the game would support getting and setting variables by the plugin, as well as access to almost any method that the game has access to.

If a game uses a plugin it would be bundled into the game automatically, launched when the game starts and exited when the game stops.

In this model the plugin would be persistent and have it's own memory etc like a normal program. There's also another way we could do it that doesn't involve IPC at all but would actually be even cooler and closer to the REALbasic model. Instead of a program you would be writing a dylib. The dylib would expose a number of generic functions that would be identical between all SC plugins. REALbasic can weak link to libraries and I could set it up to weak link to say, 50 different plugins named SCPlugin1.dylib, SCPlugin2.dylib, etc. so up to 50 dylib plugins would be supported. Instead of using IPC Sockets (with a latency of maybe 1 ms) we could just use declares/method calls with a much smaller latency... just an idea I've been throwing around in my head.

Another idea I had for really really easy to make plugins would be SCMethodBundles which would be nothing but a group of methods that you save out of a project into a file, and then drag into the Plugins folder of SC. If you use any of the methods then it would link in the whole bundle. You still have to worry about overlapping variables though, consider this problem which can happen even in a regular game using methods:

Code: [Select]
FOR i = 1 to 10
   SOMEMETHOD
NEXT

SOMEMETHOD Code:
Code: [Select]
FOR i = 1 to 5
   PRINT "Hello"
NEXT

That code will cause infinite loop.
Title: Re: SC Physics
Post by: Gan on February 10, 2011, 05:14:25 PM
Aha! I was wondering when you'd notice Sc Physics. (http://www.mmorpgmaker.org/forums/images/smilies/icon_e_wink.gif)

Those plugin ideas are fantastic. Certainly be easier than doing direct sockets. There are some issues trying to keep things synced. If I could directly access Sc variables through a plugin that would be amazing.
Title: Re: SC Physics
Post by: GMG Mike on February 10, 2011, 05:37:54 PM
Quote
Aha! I was wondering when you'd notice Sc Physics. (http://www.mmorpgmaker.org/forums/images/smilies/icon_e_wink.gif)

Those plugin ideas are fantastic. Certainly be easier than doing direct sockets. There are some issues trying to keep things synced. If I could directly access Sc variables through a plugin that would be amazing.


There's something else I've looked into as well, there is a way for REALbasic to have a method, and you can pass a ptr for that method to a declare (as a callback), so there must be some way to write the dylib so you can access the REALbasic method. This would allow practically instantaneous access to variables with the least amount of overhead.

In theory somehow we could even use this with non-dylib plugins, I'm just not sure how.
Title: Re: SC Physics
Post by: Gan on February 10, 2011, 05:53:14 PM
Hmmm. Yeah if I could retrieve pointers of Sc variables that'd be crazy fast.

I'm willing to write up any code you need to get this working.
Title: Re: SC Physics
Post by: GMG Mike on February 10, 2011, 05:57:01 PM
Quote
Hmmm. Yeah if I could retrieve pointers of Sc variables that'd be crazy fast.

I'm willing to write up any code you need to get this working.


I don't think I can get pointers of regular variables.

I can get pointers to memoryblocks of arbitrary length, as well as pointers to functions (REALbasic AddressOf keyword). I don't know if the function can accept parameters or not. I don't know if your Cocoa app running in one memory space can access my memoryblocks running in a different memory space (this isn't OS 9 anymore)

SC game runtime variables are held in two arrays and I can not get pointers to individual array elements (and you probably couldn't edit them anyway if I could because of the memory space issues)
Title: Re: SC Physics
Post by: Gan on February 10, 2011, 06:02:12 PM
Hmm yeah.

Can Sc run C++ code?
Title: Re: SC Physics
Post by: GMG Mike on February 10, 2011, 06:09:53 PM
Quote
Hmm yeah.

Can Sc run C++ code?


You'll have to clarify that. I assume you mean can RB run C++ code, and the answer is, you can compile a plugin that links into REALbasic and provides classes, methods, etc. but SilverCreator would then need to bundle that plugin with each and every game whether or not it's used. SilverCreator is written in a specific way as to avoid RB plugins being bundled into the game runtime.

If you meant, can the SC script interpreter run C++ code the answer is obviously "no" - but almost all code can be converted, but there are lot of advanced operators, etc. that aren't supported.
Title: Re: SC Physics
Post by: Gan on February 10, 2011, 06:15:05 PM
Yeah I meant RB. Cause the physics engine is written in C++. Cross platform. If Sc could link to C++ code, the engine could be built in.
Title: Re: SC Physics
Post by: x on February 10, 2011, 06:19:48 PM
You could always just attach the compiled plugin exe to the end of the sc project exe in binary form. But I guess you would have to parse it all yourself, and create a runtime to execute it separately.
Title: Re: SC Physics
Post by: GMG Mike on February 10, 2011, 06:45:36 PM
Quote
You could always just attach the compiled plugin exe to the end of the sc project exe in binary form. But I guess you would have to parse it all yourself, and create a runtime to execute it separately.


It's too messy to extract an EXE, run it, and then have to throw it away later.

Back when the entire game was held in silvercreator.dat, I had to extract all of the game sounds this way because they were really just QuickTime movies. The temp folder got littered up, and if you had a lot of sounds then your disk would thrash for a second or so when the game loaded. The first thing I did for the OS X bundle compiled games was store the sounds separately. Later I decided to store all the pictures as PNG files so they would be smaller and cross platform (old format was Mac PICT style, or Windows BMP for Win32 and those are huge)

In the future, there will be a new file format called .scbproj which will be SC Bundle Project. This will store everything in lossless PNG files, separate QuickTime movies, and one file for scripts and card data and finally eliminate Mac PICT. Then in theory, SilverCreator it's self could be made for Windows.

Related side note for everyone: If you use a lot of photographs in your game you should make sure to allow JPEG when compiling since this will save a lot of space. The compiler is smart enough to choose the smaller file so line art will still be perfectly clear PNG and only photographic images will be JPEG - and sprite masks are always PNG so you won't get artifacts. You can choose high quality JPEG and it will be unnoticable to the player.
Title: Re: SC Physics
Post by: x on February 10, 2011, 06:52:54 PM
Quote


It's too messy to extract an EXE, run it, and then have to throw it away later.

Back when the entire game was held in silvercreator.dat, I had to extract all of the game sounds this way because they were really just QuickTime movies. The temp folder got littered up, and if you had a lot of sounds then your disk would thrash for a second or so when the game loaded. The first thing I did for the OS X bundle compiled games was store the sounds separately. Later I decided to store all the pictures as PNG files so they would be smaller and cross platform (old format was Mac PICT style, or Windows BMP for Win32 and those are huge)

In the future, there will be a new file format called .scbproj which will be SC Bundle Project. This will store everything in lossless PNG files, separate QuickTime movies, and one file for scripts and card data and finally eliminate Mac PICT. Then in theory, SilverCreator it's self could be made for Windows.

Related side note for everyone: If you use a lot of photographs in your game you should make sure to allow JPEG when compiling since this will save a lot of space. The compiler is smart enough to choose the smaller file so line art will still be perfectly clear PNG and only photographic images will be JPEG - and sprite masks are always PNG so you won't get artifacts. You can choose high quality JPEG and it will be unnoticable to the player.


Yes, extracting ANYTHING thats been appended is always tricky, and ramps up the .exe size. It was just another idea to consider.

Speaking of which, I have another. You could have external functions they way that blitzmax and some other languages do. If you have xcode on the users computer for example, you could compile C++/etc and have a proxy method within SC. When anyone runs that method it executes the compiled function written in C++ that its linked too, and returns the variables/arrays/etc. So, when the user compiles their SC project, it also compiles the .cpp file they added, and links all the functions in it to SC method proxies.

Although to be fair, this will probably be really clunky and hard to implement. But the more options the better eh?
Title: Re: SC Physics
Post by: Zoo on February 10, 2011, 06:58:16 PM
I can see physics sidescrolling platformers popping up all over the GMG.
Title: Re: SC Physics
Post by: Connors on February 10, 2011, 06:58:45 PM
I wish I understood more of those 2 posts. :P
Title: Re: SC Physics
Post by: Gan on February 10, 2011, 07:04:35 PM
I too was lost.

Anywho I believe there's a C++ RB plugin. Just an idea but it would be 5* easier and even faster to have it built in.
Title: Re: SC Physics
Post by: Connors on February 10, 2011, 07:35:20 PM
I have made this simple program to visually draw shapes for SCBox2D. It allows for quicker coding and more complex parts, possibly even gears later. I plan to update it and improve a few things later.
https://sites.google.com/site/onronc/ObjectBuilder.zip?attredirects=0&d=1

The problem is it seems that my polygons are making an error that makes the plugin quit after SC draws the polygon, so the physics stop. Any idea why?
https://sites.google.com/site/onronc/Polygon.scproj?attredirects=0&d=1
Title: Re: SC Physics
Post by: Gan on February 10, 2011, 08:24:12 PM
That object builder is nice! Though there appears to be an error when you're coming back from the instructions screen.

As for the polygon, remember when I flipped the coordinate system? Turns out polygons need to be clockwise. (http://www.mmorpgmaker.org/forums/images/smilies/icon_razz.gif)

Here's the working coordinates:
"120,10;120,30;100,50;60,70;0,70;0,10"

I'm going to start looking heavily into fixing polygons.
Title: Re: SC Physics
Post by: Connors on February 10, 2011, 09:16:11 PM
OOOOHHHHHHHHH I found the problem Matt. When you said "Clockwise", you meant "Counter-Clockwise" or "Left".
Title: Re: SC Physics
Post by: Gan on February 10, 2011, 09:22:54 PM
Ah hahah yeah... I should probably use regular clocks instead of digital.
Title: Re: SC Physics
Post by: GMG Mike on February 10, 2011, 11:04:00 PM
Quote
Speaking of which, I have another. You could have external functions they way that blitzmax and some other languages do. If you have xcode on the users computer for example, you could compile C++/etc and have a proxy method within SC. When anyone runs that method it executes the compiled function written in C++ that its linked too, and returns the variables/arrays/etc. So, when the user compiles their SC project, it also compiles the .cpp file they added, and links all the functions in it to SC method proxies.

Although to be fair, this will probably be really clunky and hard to implement. But the more options the better eh?

My idea was not too far off. The plugin developer would compile the C++ themselves into a dylib. REALbasic can "weak link" to dylibs. All I would need to do is weak link to generic methods in 50 dylibs all named SCPlugin01, SCPlugin02... all the way to SCPlugin50. When you compile the game in SC, it would take all of the dylibs the game needs and rename them, and then include some information as to which plugin is which dylib.

So, to include the physics dylib with your game, the SilverCreator compiler would take SC Physics.scplugin (which has the dylib and the file describing all the functions), take the dylib and rename it to SCPlugin01.dylib and bundle it in the app. The byte code system works by assigning everything numbers, for example the beep method is method #1. The byte code system would assign numbers to methods from used plugins and would include a table that says methods 123-126 are in plugin 1, etc. When method 123 is called, we then call a function in the weak-linked SCPlugin01.dylib, something like ExecuteMethod which returns nothing. We would also have ExecuteNumberFunction and ExecuteStringFunction if we need data back, and some way to pass the parameters.

The whole point of doing all that is that we need not modify the SC Runtime (RuntimeMac) at all, we just have to include information that says SCPlugin01.dylib is really "such and such plugin, that does all of this nice stuff that we'll be referencing". So they're really truly plugins but without all of that messy actual compiling.

I'm not sure how dylibs work exactly, whether or not they have a persistent memory area as long as the parent app is running - or if they just have temporary memory while a dylib method is running. I *think* they might have persistent memory which would make things easier.

I'm not sure if you can do this Gan - can you write a dylib? Something that just exposes a generic function named "TestBeep", no parameters or return value, all it does is issue a system beep? Make sure it compiles for 10.4+, PPC and Intel. We can use that to test.
Title: Re: SC Physics
Post by: x on February 11, 2011, 04:13:51 AM
Quote

My idea was not too far off. The plugin developer would compile the C++ themselves into a dylib. REALbasic can "weak link" to dylibs. All I would need to do is weak link to generic methods in 50 dylibs all named SCPlugin01, SCPlugin02... all the way to SCPlugin50. When you compile the game in SC, it would take all of the dylibs the game needs and rename them, and then include some information as to which plugin is which dylib.

So, to include the physics dylib with your game, the SilverCreator compiler would take SC Physics.scplugin (which has the dylib and the file describing all the functions), take the dylib and rename it to SCPlugin01.dylib and bundle it in the app. The byte code system works by assigning everything numbers, for example the beep method is method #1. The byte code system would assign numbers to methods from used plugins and would include a table that says methods 123-126 are in plugin 1, etc. When method 123 is called, we then call a function in the weak-linked SCPlugin01.dylib, something like ExecuteMethod which returns nothing. We would also have ExecuteNumberFunction and ExecuteStringFunction if we need data back, and some way to pass the parameters.

The whole point of doing all that is that we need not modify the SC Runtime (RuntimeMac) at all, we just have to include information that says SCPlugin01.dylib is really "such and such plugin, that does all of this nice stuff that we'll be referencing". So they're really truly plugins but without all of that messy actual compiling.

I'm not sure how dylibs work exactly, whether or not they have a persistent memory area as long as the parent app is running - or if they just have temporary memory while a dylib method is running. I *think* they might have persistent memory which would make things easier.

I'm not sure if you can do this Gan - can you write a dylib? Something that just exposes a generic function named "TestBeep", no parameters or return value, all it does is issue a system beep? Make sure it compiles for 10.4+, PPC and Intel. We can use that to test.

To be honest I don't know much about dylibs as most of the C based programming i've done has been windows. But having said that im pretty sure they get their own stack, so it sounds like it would be ideal for creating a reference method, as I was saying before.

By the way, the way you organised compiled SC projects is freaking neat!

Technical details aside, the SC plugin thing sounds awesome and might really open SC up for all sorts of crazy new features. Like a simple 3d plugin if you could give us access to draw directly onto the canvass!
Title: Re: SC Physics
Post by: Gan on February 11, 2011, 06:50:29 AM
Whoa. That's mind blowing.

Yeah I'll learn how to write a Dylib. I have all weekend.
Title: Re: SC Physics
Post by: Connors on February 11, 2011, 12:24:52 PM
I know little or nothing about most of this, but, plugins would open up some great opportunities, like if you know what you're doing and you want a new functionality, you needn't wait for it to be added. We could possibly also attract more users that way.
Title: Re: SC Physics
Post by: Gan on February 11, 2011, 05:25:04 PM
Made it:
Test Dylib.dylib (http://cl.ly/3z2L0s3f1s1h1Q0X0m0P)

Hope I made it right, couldn't find any tutorials. This dyblib contains one class: Test.h & Test.m
In the class there are 3 things you can do:
Code: [Select]
-(void)beep;
-(void)giveInt:(int)num;
-(int)takeInt;

Is this all you need?
Title: Re: SC Physics
Post by: GMG Mike on February 11, 2011, 07:34:31 PM
Quote
Made it:
Test Dylib.dylib (http://cl.ly/3z2L0s3f1s1h1Q0X0m0P)

Hope I made it right, couldn't find any tutorials. This dyblib contains one class: Test.h & Test.m
In the class there are 3 things you can do:
Code: [Select]
-(void)beep;
-(void)giveInt:(int)num;
-(int)takeInt;

Is this all you need?

That's excellent, I will test it sometime this weekend. The int functions will help me to determine if the dylib has persistent memory. If it does then we can absolutely do some great things with plugins and SC using RB's soft declares.
Title: Re: SC Physics
Post by: Gan on February 11, 2011, 07:37:59 PM
Oh sorry. GiveInt only accepts the int, doesn't do anything. Take int returns the number 5.
I'll change it and upload a new version that stores a given int and returns it.
Title: Re: SC Physics
Post by: GMG Mike on February 11, 2011, 07:38:01 PM
Can you make sure it's compiled for both PPC and Intel (32 bits)? According to lipo, it's compiled for x86_64 (Intel 64 bit) which means that it won't work on any first generation Intel Macs or PPC Macs. Since SilverCreator is 32 bit I think it needs to talk to 32 bit libraries, and since PPC is supported for v2.0 then we need to be testing on both PPC and Intel (since games are Universal)
Title: Re: SC Physics
Post by: Gan on February 11, 2011, 07:48:23 PM
Test Dylib.dylib (http://cl.ly/0W1e091P0z3g2q1m2b2U)
Now it stores what you give it and returns it. Also is compiled for 10.3+. Technically for 10.1+ but I doubt it'll work for anything under 10.3.

Anywho I think you'll need to create a Test object before you can call those methods.
Title: Re: SC Physics
Post by: Gan on February 12, 2011, 10:10:56 AM
Connors:
I can't seem to replicate the collision bug. Could you post your source?
Title: Re: SC Physics
Post by: Connors on February 12, 2011, 11:07:11 PM
It looks like it's not happening anymore, I'm not sure why. However your castle demo still lags a lot for me, of course your computer is a lot faster and it's probably mostly the large sprites.
Title: Re: SC Physics
Post by: Gan on February 12, 2011, 11:23:44 PM
I'm sure we'll find the bug later. As for the castle demo I'll look into speeding things up. Not sure how much I can do for it.
I'm still working on Polygons. Polygon decomposition is a complicated process but if I can get it to work it'll be well worth it.
Title: Re: SC Physics
Post by: Connors on February 12, 2011, 11:35:06 PM
Yeah if I finish that program I started you could draw almost any shape, and it would also mean less attaching things together, so that's fewer objects to mess with.... I'm gonna flip all the coordinates so they match but it's kind of a pain, maybe add a feature that lets you move it to the lower left corner so it's not offset when you create it. It might take a while is all I'm saying. Heck I might even make one that lets you preview layouts of objects (boxes and circles) because it's actually not too hard.

Oh and maybe don't take my complaints about lag too serious because my computer isn't that fast. Anyways I'm really tired right now so I should stop typing lol.
Title: Re: SC Physics
Post by: Zoo on February 13, 2011, 07:01:45 AM
Well, i'm on the newest imac, and it still lags for me when there's sprites involved.
Title: Re: SC Physics
Post by: Gan on February 13, 2011, 08:33:36 AM
Does it only lag when the guy is touching the castle?
Title: Re: SC Physics
Post by: Zoo on February 13, 2011, 12:04:53 PM
no it lags the entire time on the castle one.
Title: Re: SC Physics
Post by: Zoo on February 13, 2011, 12:05:34 PM
It doesn't always lag, though. The first time I played it, it worked great.
Title: Re: SC Physics
Post by: Gan on February 13, 2011, 03:01:13 PM
Update!

After much trouble I figured it out with some help from a friend.
Polygons! In all their glory!
(http://cl.ly/320V1N0Q2Y3i1d1T0Z3d/Screen_shot_2011-02-13_at_3.00.44_PM.png)

As always, download in first post.
Title: Re: SC Physics
Post by: Gan on February 13, 2011, 03:08:38 PM
Demo!
SC Physics Demo (http://www.youtube.com/watch?v=EnnZvzgLlNA)

So a list of todo...
- Fix mysteriously random collision bug.
- Fix castle lag.
- Add more joints.
- Fix polygon sprites.

I still don't experience the castle lag. Hm.
Title: Re: SC Physics
Post by: Zoo on February 13, 2011, 04:42:46 PM
broken in download. plugin not working.
Title: Re: SC Physics
Post by: GMG Tim on February 13, 2011, 04:44:16 PM
It's incredible to see what GameMaker/SilverCreator have evolved too- way beyond a card-based game engine now.

Kudos!
Title: Re: SC Physics
Post by: Gan on February 13, 2011, 05:11:12 PM
Quote
broken in download. plugin not working.
I just downloaded it, worked fine. What OS version are you running?

Quote
It's incredible to see what GameMaker/SilverCreator have evolved too- way beyond a card-based game engine now.
 
Kudos!
Yeah the untapped potential is incredible. Just gotta have a good imagination and a will.
Title: Re: SC Physics
Post by: Connors on February 13, 2011, 11:49:28 PM
I got a question again:
Code: [Select]
ON TIMER 2
   MOVESPRITE 1, shapex(player)-25, shapey(player)-25, TRUE
   rotatesprite 1, shapeRotation(player)
   UPDATESCREEN
END TIMER
I looked in InitializePhysics and I found these arrays.
I'm curious why it works for x and y and not rotation. ???
PS this didn't lag at all, is what you're doing more complex somehow?

EDIT: This polygon doesn't crash the plugin but it acts funny when I drag a small box inside it or into the sides:
Code: [Select]
LET verts$ = "80,30;160,30;180,130;160,130;140,50;100,50;80,130;60,130"

LET cup = Create Polygon( verts$, 200, 150, 1, 0.3, 0.1, "Dynamic", 0)
Title: Re: SC Physics
Post by: Gan on February 14, 2011, 06:56:40 AM
Rotation should work. Though it might be in radians when it's suppose to be in degrees or vice versa.
Try: shapeRotation(player)/PI*180
or
shapeRotation(player)/180*PI

One of them should produce some results.

Hm. I'm not sure. The castle demo still doesn't lag for me. I'll have to mess around with the code.

When working with anything small and if you experience strange things, set an object's SetBullet to true. What you're experiencing is known as the tunneling effect.
Title: Re: SC Physics
Post by: Connors on February 14, 2011, 05:56:04 PM
Just look at card #7 in this file.
https://sites.google.com/site/onronc/ScPhysics.scproj?attredirects=0&d=1
Title: Re: SC Physics
Post by: Gan on February 14, 2011, 06:07:14 PM
Seems to work fine for me:
http://www.youtube.com/watch?v=OBLsbIVPAnc
Title: Re: SC Physics
Post by: Connors on February 14, 2011, 11:17:40 PM
I think I'll try making a balancing game, it could go enough different ways to keep the players AND my interest for a while. :) Just various situations that require you to not touch the bottom.

PS I don't know why but I'm having issues with the area of any concave edges right now, oddly the rest of the polygon seems to work normally. Like I made a box with a notch in it and the side with the notch glitches but the other side is fine!
Title: Re: SC Physics
Post by: Zoo on February 15, 2011, 03:23:17 PM
The point of ship lander is to touch a platform at a low falling speed while your ship is rotated up. Can Sc physics do stuff like that?
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 03:49:46 PM
Yes, absolutely. I made a ship that controls that way already. I'm gonna work out how to use Gan's collision detection and then I can make it work. I might be able to calculate damage based on your speed, but I'll probably just have touching things kill you.
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 04:01:54 PM
Quote
PS I don't know why but I'm having issues with the area of any concave edges right now, oddly the rest of the polygon seems to work normally. Like I made a box with a notch in it and the side with the notch glitches but the other side is fine!
If you post it, I can examine it. Maybe fix it.

Quote
Can Sc physics do stuff like that?
Oh yeah.  8)

Quote
Yes, absolutely. I made a ship that controls that way already. I'm gonna work out how to use Gan's collision detection and then I can make it work. I might be able to calculate damage based on your speed, but I'll probably just have touching things kill you.
That's making me excited. I'm going to work on making collision detection behave better.

P.S. Zoo, I reloaded your blog page 10 times. Was something suppose to happen?
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 04:05:06 PM
Quote
P.S. Zoo, I reloaded your blog page 10 times. Was something suppose to happen?
I bet he wants it to look more popular. ;)

Quote
If you post it, I can examine it. Maybe fix it.
It happened with that cup I made, if I tipped it over the collision on the inside failed and it fell and disappeared. The boxes went through the top parts. It's the same one I showed you that you said worked.  :-/
Title: Re: SC Physics
Post by: Zoo on February 15, 2011, 04:11:54 PM
That was so I can get lots of hits lol.
Title: Re: SC Physics
Post by: Zoo on February 15, 2011, 04:12:43 PM
Damage based on speed sounds awesome.
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 05:00:24 PM
You know what sounds even MORE awesome right now?

I've wanted to try and make some objects less affected by gravity, for things like balloons. Can you easily make things float?
Just as useful would be a constant force that you can turn on and off. If I use a timer or the Paint event any upward force seems inconsistent and even jerky. (just try putting an ApplyForce going up into Paint or an On Timer). You could call it "thrust" and it would work beautifully with the upcoming Key Up method. You would basically say "SetThrust shape, amount, angle" and you would turn it off by re-setting it to zero. I keep wanting to make a helicopter or something cause that would be sweeeeet.
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 05:05:59 PM
Haha.

For the polygons I can tweak some variables to work with tinier stuffs.
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 05:12:47 PM
I'll try to get a video of what your polygons do to me, it's weird... I don't think the size is the issue right now.

What do you think of a thruster that can be set On/Off? It would do some cool things for sure.
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 05:35:39 PM
Like the ability to put a constant force on an object at a certain position relative to the object?
That can be made in Sc. Though I suppose it could be programmed in.

Ah that reminds me. I need to add functionality for motors. Joints can be motorized. Meaning that if you put 2 wheels on a box with revolute joints you can have a motorized vehicle by setting the revolute joint motors to a certain power level.
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 06:40:21 PM
http://www.youtube.com/watch?v=hwJROA_g3FM
There, see!? Proof that SC can lag and not sync with the physics program, making thrust inconsistent. A thrust that I could toggle would be more practical. (I'd hate playing a helicopter type game and have it suddenly drop and then resume flying.)
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 06:52:57 PM
Ah thanks, this is quite useful. I have some ideas that may speed things up immensely.

P.S. You can use QuickTime to screen record. I find it to be easier and have a much better quality.
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 07:07:56 PM
Yeah well that's just great I guess the newer Macs come with Quick Time Pro now. >:( (I can't use screen recording.)

But Matt what's up with the collisions? Any idea why polygons freak out for me?
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 07:30:41 PM
I don't think the newer macs come with Quicktime pro. I have a 2006 iMac.
Quicktime comes with 10.6(and maybe 10.5) and has a screen recording option in the file menu. If you don't have it you could probably download it from somewhere.

SCBox2D Speed Test (http://cl.ly/181X3J1s0a1I2R0h1g3p)

Try that. The reasons polygons freak out are because of their small size and also the physics updating frame rate. A slower computer will update the physics slower which can make unfortunate results.
Box2D was made in meters. That's why it's so full of features and so used.
In order for me to use this I must make a Pixel to Meter ratio. Currently I have the ratio set as 120 pixels per meter.
Box2D is made for objects with sizes from 0.1 to 10 meters or in pixels, 12 pixels to 1,200 pixels. Shapes below near or below 12 pixels can have cruddy results.
In this beta speed test I changed the Pixel to Meter ratio to 30. Meaning any shapes from 3 to 300 pixels in size will have the best results. Unfortunately this also slows gravity and skews force and impulse.
Box2D was made for real life simulation physics. It's meant to simulate actual box physics. Like a box that's a meter in height.

I'm going to look into ways of getting better physics. In the mean time can you tell me if this beta fixes the polygon problem?
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 07:46:30 PM
Hey that is pretty sweet! No problems with collisions there now. However it does run significantly slower, I mean not just the gravity, a few cards with more shapes just crawl along.
PS: My "About This Mac":
Processor - 1.25 GHz PowerPC G4
Memory - 512 MB DDR SDRAM

Should that be fast enough or is it the reason I'm having a problem? ::)
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 08:11:36 PM
Could be. But I want to fine tune this engine to hum beautifully on any machine.

Here's another beta update.
SCBox2D Speed Test 2 (http://cl.ly/2k282G271c330C0H3x2r)

Tell me if it runs any better? I'm going to test it on my old iBook G4.
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 08:21:11 PM
I have never seen so much lag in my life.
It runs on the G4. But in short, it sucks.

I've got some work to do...

SCBox2D Beta 3 (http://cl.ly/133C1u0k180r2s1e2i11)
SCBox2D Beta 4 (http://cl.ly/0n0O0e0o023T0h1T3H34)
SCBox2D Beta 5 (http://cl.ly/1D371j1P372t0u1L3o19)
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 08:45:34 PM
Yeah I tried #3 and actually noticed some great differences. My experiments card (with the pendulum) runs fine, and most of these improved. The most noticeable way to see how much it's lagging is dragging with the mouse. Sadly the explosions test barely moves at all, probably even worse than the castle.
EDIT: wow you've been busy today, #4 mysteriously appeared while I was typing.
EDIT 2: #3 is insanely fast when it's actually compiles, I can drag around shapes and the explosion test even shows signs of movement. XD
EDIT 3: #4 is about the same as 3 and why are you posting so many? thats five now (http://www.gamemakersgarage.com/yabb/images/laugh.gif)
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 08:58:25 PM
Awesome, try #5. That runs best on my machine.
The explosions aren't that bad either.
My G4 iBook's specs are:
- 500 mhz powerpc G3 (Holy crud, it's not a G4)
- 600mb ram
- OS 10.4.11
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 09:14:56 PM
OMG the castle test works now! I don't know what you did but it made the sprites behave better. Explosions are still like a series of pictures but I'm happy I could drag around Stick Man.
Yeah #5 is the best. And no issues with the polygon.

PS: I was looking at a suggestion from a while ago about some kind of Shout Box, this would have been a good time to have it yeah?
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 09:32:20 PM
Quote
OMG the castle test works now! I don't know what you did but it made the sprites behave better. Explosions are still like a series of pictures but I'm happy I could drag around Stick Man.
Yeah #5 is the best. And no issues with the polygon.
Awesome! I'm afraid that for now I won't be able to optimize the engine any further.

Quote
PS: I was looking at a suggestion from a while ago about some kind of Shout Box, this would have been a good time to have it yeah?
Yeah it would have been nice.

Here's some pyramid pics. Cause #5 allowed me to reach whole new speeds:
(http://cl.ly/242i07300X2Z0Z1V221Z/Screen_shot_2011-02-15_at_9.24.59_PM.png)
Tall pyramid is tall.
(http://cl.ly/411a082d160f1O3B1J3u/Screen_shot_2011-02-15_at_9.25.08_PM.png)
And blows up.
(http://cl.ly/2E1u0I2t351S1K3s3S1i/Screen_shot_2011-02-15_at_9.19.55_PM.png)
Tiny pyramid is tiny.
(http://cl.ly/0J3c2Q2W0u0B2E0V2V3N/Screen_shot_2011-02-15_at_9.20.20_PM.png)
Blows up as well.
(http://cl.ly/3L0j2M2R3M0S2M220X0n/Screen_shot_2011-02-15_at_9.20.26_PM.png)
Boom.

Yeah the tiny pyramid is 40 rows of blocks that are all 1 pixel in size. These optimizations allow me to do some awesome things. I'm going to upload the latest download now.
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 09:38:52 PM
Download's in first post. Made this beta official.

For all impulses and forces, you'll need to increase them.
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 09:50:19 PM
ZOMG my computer would still die if I made that many eeping boxes. But I must download this and attempt to make an engine for my balancing game (It seemed like a good first project with SCBox2D).

PS: How should I go about testing if a box is touching anything and can jump? Would I need to enable GetCollision for everything you can reach?
Also I forgot where to find the next most recent SC so I can import all the methods at once and then switch to the new one, cause I'm clever that way.
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 09:56:57 PM
Quote
ZOMG my computer would still die if I made that many eeping boxes. But I must download this and attempt to make an engine for my balancing game (It seemed like a good first project with SCBox2D).
Awesome.

Quote
How should I go about testing if a box is touching anything and can jump? Would I need to enable GetCollision for everything you can reach?
Just enable collision for the box. Then you can check if the box is touching any other shapes. For example if you made a ground shape, just detect if the player is touching the ground and allow the player to jump if he is.
You can check out the stick guy castle demo for the code.
Title: Re: SC Physics
Post by: Connors on February 15, 2011, 10:16:14 PM
And SC 2.0 Beta 2??
Title: Re: SC Physics
Post by: Gan on February 15, 2011, 10:39:53 PM
I have no idea.
Title: Re: SC Physics
Post by: GMG Mike on February 16, 2011, 06:05:04 PM
http://silvercreator.net/downloads/

I don't delete any from the server, in case you need to use an old version for some reason.
Title: Re: SC Physics
Post by: Connors on February 16, 2011, 07:54:41 PM
Will this nonsense ever end? I can't export all the methods at once, thus the folder remains UNUPDATED. ::)
Title: Re: SC Physics
Post by: GMG Mike on February 16, 2011, 07:59:32 PM
Quote
Will this nonsense ever end? I can't export all the methods at once, thus the folder remains UNUPDATED. ::)


You were never able to export all the methods at once. I never remember setting MultiLine on that listbox.

You should be able to import multiple methods by selecting all of them in the Finder and then choosing File > Open.

v2.0b4 will support exporting multiple methods into a single file called a module, to make it easier to distribute packs of methods that are related. All of the methods are added when you import a module.
Title: Re: SC Physics
Post by: Gan on February 16, 2011, 08:04:50 PM
Would this module be editable?
Title: Re: SC Physics
Post by: Connors on February 16, 2011, 08:27:37 PM
It sounds like importing it adds all the individual methods inside.
Title: Re: SC Physics
Post by: Connors on February 17, 2011, 07:48:38 PM
Here's an interesting idea: in order to have my platformers in SCBox2D obey the third law of physics, it would be neat if when the player runs on top of a dynamic object then there's an opposite force on it wherever the player is touching. But I guess I can wait until you update the collision detection. :)
EDIT: Getting the point of collision would allow me to get an idea of what side of a circle was touching, so I can have different events for regular jumps, wall-jumps and various other things.
Title: Re: SC Physics
Post by: Gan on February 17, 2011, 10:17:23 PM
Yeah maybe this weekend I can figure out collision points.
Title: Re: SC Physics
Post by: Connors on February 18, 2011, 08:15:15 AM
Awesome, until then I will continue experimenting with my platformer.
The controls feel kind of floaty, like they aren't very tight, I've still got to figure that out. The hardest part is I want to have the player jump higher if you hold down space, and it can be glitchy. (Once again applying forces in timers is problematic.)
Title: Re: SC Physics
Post by: Connors on February 20, 2011, 12:55:08 AM
Hey I posted the start of my platformer in Monthly Challenge. When I was working on it I was thinking that it would be good if I could directly set a shape's velocity to a number, in this case set the shapeYVel to 0 (I can but it doesn't relay back to the simulation). It's because you can't wall jump as high if you're already falling.

EDIT: I typed that and then I was thinking if I used my knowledge of basic physics I could maybe find how much force it would take to stop him. You said Box2D uses realistic values such as meters and Joules right? ;D Can you help me out with finding the weight? radius = 30, density = 0.2
Title: Re: SC Physics
Post by: Gan on February 20, 2011, 09:19:53 AM
The Pixel-To-Meter ratio is 32. So a radius of 30 is about 1 meter in size. Gravity is 30 meters/sec^2.

I'll look into setting the velocity. Also there should be a possible ClearForces command which may fix issues.

EDIT:
For setting the velocity there are 2 already made commands:
SetLinearVelocity
and
SetAngularVelocity
Title: Re: SC Physics
Post by: Connors on February 22, 2011, 11:05:27 PM
Gan I imported the methods one by one so I could have a 640x480 template and I'm sure I did everything right but this file won't work. Card 2 simply creates a ball, that's IT.
Title: Re: SC Physics
Post by: Gan on February 23, 2011, 12:15:58 AM
Certain bits of code need added.
Check the global methods for the code.
Title: Re: SC Physics
Post by: Connors on February 23, 2011, 06:22:59 PM
OK, I found the problem. Thanks man!
Imma go make a minigame called "Defend The Ducks!".

EDIT:
https://sites.google.com/site/onronc/640x480.scproj?attredirects=0&d=1
It's the 3rd card, just use "Run This Card".
My fragments won't spawn AND your DestroyShape method is screwed up. It didn't work in the platformer project either.
Thanks for the help!

 - Con
Title: Re: SC Physics
Post by: Connors on February 23, 2011, 11:01:26 PM
Quote
Code: [Select]
FOR i = 1 to 10
   SOMEMETHOD
NEXT

SOMEMETHOD Code:
Code: [Select]
FOR i = 1 to 5
   PRINT "Hello"
NEXT

That code will cause infinite loop.
I can't see how that's a loop, wouldn't it just print "Hello" fifty times?
Title: Re: SC Physics
Post by: Gan on February 24, 2011, 06:45:13 AM
Your for loop never gets called. Not sure why.
I'll look into the destroy shape. Maybe make a demo to see if I can fix bugs.

It causes an infinite loop cause it's using the same variable name "i".
Title: Re: SC Physics
Post by: Gan on February 24, 2011, 04:34:27 PM
*Update!*
Destroying shapes now work.
Collisions have a safe guard to protect from spontaneous errors.
Update in first post.
Title: Re: SC Physics
Post by: Gan on February 24, 2011, 04:55:01 PM
640x480 Bomb Fixed (http://cl.ly/28360p2g1x0R283Z0J3n)
Bugs everywhere, my code, your code, under the fridge, on the homeless guy, and all over the windows operating system.

Your explosion never executed due to some faulty explosion code at the bottom of the timer. The shapes never were destroyed due to me forgetting to finish the destruction code.

Unfortunately I'm finding it harder and more complex to maintain the physics engine. It'd make things 10x easier, faster, and even sexier if Mike got the dylib plugin system in. I could make this thing tons more advanced. Cause some features just aren't practically possible with the current way this is set up.
Title: Re: SC Physics
Post by: Connors on February 24, 2011, 11:08:54 PM
I think I'll make some simpler minigames for now then. :)
And a few that don't even use physics, Imma go for that old-school sprite/velocity-based movement we all know and love. (LOL)
Title: Re: SC Physics
Post by: Gan on February 26, 2011, 10:54:34 AM
Awesome.
(http://cl.ly/2t0O0N1m3w0a1I2K1V1N/Screen_shot_2011-02-26_at_10.53.18_AM.png)

My failed attempt at making a rag doll. Obviously there's still a few bugs I gotta fix.
Title: Re: SC Physics
Post by: Gan on February 26, 2011, 11:41:16 AM
(http://cl.ly/0r1w3F3B3V213t3r2s0y/Screen_shot_2011-02-26_at_11.39.50_AM.png)
Fixed some bugs but there's some stuff that's just not right. Especially when you mix distance joints with rotated shapes.
So be careful, you might experience crazy results.
Title: Re: SC Physics
Post by: Connors on February 26, 2011, 12:20:22 PM
Awesome, I'll try this new one out later. Have you tweaked anything to help with speed lately?
Title: Re: SC Physics
Post by: Gan on February 26, 2011, 12:59:15 PM
I might've. Don't remember. Anywho I'm gonna test again on my G3 to see how well it runs.
EDIT: Still runs like crap on my G3
Title: Re: SC Physics
Post by: Connors on February 26, 2011, 09:48:21 PM
Yes I wish I could play my game at full speed with the sprites turned on, bombs look so much cooler with sprites. PS: I posted a version of my minigame on Card 3 with a wall, you would put the bomb on the other side so it goes off safely (lol) but it glitches. I tried making the level where you have to hold a polygon bucket over it but the bucket does the same thing as the wall (that's while holding the mouse to keep it there).
Title: Re: SC Physics
Post by: Gan on February 26, 2011, 11:20:05 PM
I just saw your mini game. Looks good. Runs fast on my machine. Though the wall still moves.
This is gonna take quite a bit of work to figure out all these bugs.
I'll bet most of the problems are due to the server-client communication and also the lag caused by Sc's slow drawing routines.

When I get the PhysicsCreator working I'll post the working project and you can see what high performance/lagless simulation really looks like. It'll blow your socks off.
Title: Re: SC Physics
Post by: GMG Mike on February 28, 2011, 06:37:35 PM
Close the goddamn variables window, that lags the game.
Title: Re: SC Physics
Post by: Connors on February 28, 2011, 07:44:09 PM
OK OK geez he's not blaming you for it.
But yeah I can see how 50+ variables and arrays would start to cause a problem.
Title: Re: SC Physics
Post by: Gan on February 28, 2011, 08:35:31 PM
Quote
Close the goddamn variables window, that lags the game.
For measuring realistic tests I compile and play on my iMac as well as my G3 iBook. On both they see major lag when there are 50 shapes on the screen.
PhysicsCreator has incredibly low lag, especially with hundreds of shapes.

I believe the root of the lag in Sc are the drawing routines and the route of communication through networking.
Title: Re: SC Physics
Post by: Connors on February 28, 2011, 09:50:59 PM
OMG Check this out - As soon as I tried this the first time I was laughing out loud because of Mike's comment and stuff... My computer actually runs Save the Ducks fine.

http://www.youtube.com/watch?v=Ho72P7g6-A4




Notice how closing the window makes it run smooth as glass.
Title: Re: SC Physics
Post by: Gan on February 28, 2011, 10:26:42 PM
Nice!
You should invest in the latest free version of Quicktime. Has screen recording. Or Jing. Free screen recording software.
Title: NOOOOOOO!
Post by: Connors on March 04, 2011, 10:49:53 PM
Gan I think I broke SCBox2D!!!!
Seriously none of your physics programs work. >:?
I tried the original plugin and the Speed Beta 5 and none of the projects' physics will start anymore.
Title: Re: SC Physics
Post by: Gan on March 04, 2011, 11:37:44 PM
Open Activity Monitor. Locate SCBox2D. Press Quit. Then reopen SCBox2D.
Chances are it just crashed without quitting.
Title: Re: SC Physics
Post by: GMG Mike on March 05, 2011, 08:20:13 AM
Quote
Nice!
You should invest in the latest free version of Quicktime. Has screen recording. Or Jing. Free screen recording software.


It looks like his eMac is running Tiger 10.4. Only QuickTime X in Snow Leopard has Screen Recording.

The next version of SilverCreator will change the preferences to NOT open the variables window by default (you can still go in and change it though). I will also rewrite it to update less frequently.
Title: Re: SC Physics
Post by: EqwanoX on March 05, 2011, 10:38:45 AM
what can i use to record youtube videos on my screen for 10.5
Title: Re: SC Physics
Post by: Zoo on March 05, 2011, 11:02:24 AM
Quote
OMG Check this out - As soon as I tried this the first time I was laughing out loud because of Mike's comment and stuff... My computer actually runs Save the Ducks fine.

http://www.youtube.com/watch?v=Ho72P7g6-A4




Notice how closing the window makes it run smooth as glass.
I've never tried recording my screen, but does your computer actually have those flashing black rectangles all over them?
Maybe you need a new moniter, lol. I can't see a thing in that video.
Title: Re: SC Physics
Post by: Gan on March 05, 2011, 11:15:26 AM
That happens with older monitors when recorded with a video camera.

I've looked and couldn't find any free YouTube screen recorders.
The next best thing is to use Jing.
Title: Re: SC Physics
Post by: Connors on April 26, 2011, 10:12:40 PM
Hey, sorry about this but I've kind of made a hobby of digging things up from time to time.
Remember how bombs were having an odd glitch? I think it's the last thing I posted relating to my ducks game.
Title: Re: SC Physics
Post by: Gan on April 26, 2011, 11:36:30 PM
Yeah, I think that's a glitch dealing with sending lag and the difference in how Box2D and Sc handles floats.
Title: Airway hydroquinone topical best price usa polyneuropathy, bite, banish extrusio
Post by: egatevohujnan on March 22, 2024, 06:47:10 AM
Sustainability balls blades nailrox nail lacquer (https://fairbusinessgoodwillappraisal.com/product/nailrox-nail-lacquer/) nizagara (https://beauviva.com/item/nizagara/) elmiron 24 hour delivery uk (https://rrhail.org/elmiron/) oxytrol coupon (https://miaseilern.com/oxytrol/) buy zithromax online cheap (https://primerafootandankle.com/zithromax-com-lowest-price/) isotretinoin coupon (https://primerafootandankle.com/item/isotretinoin/) propecia (https://fountainheadapartmentsma.com/product/propecia/) hiforce delay online no script (https://racelineonline.com/hiforce-delay/) hydroquinone topical non generic (https://rrhail.org/pill/hydroquinone-topical/) buy tadalafil in canada (https://mrcpromotions.com/tadalafil/) domperidone and canada (https://rrhail.org/domperidone/) generic ed sample pack 2 costco (https://transylvaniacare.org/product/ed-sample-pack-2/) lowest price for nemasole (https://petralovecoach.com/nemasole/) cheap tamoxifen online (https://shilpaotc.com/no-prescription-tamoxifen/) generic vardenafil canada pharmacy (https://youngdental.net/drugs/vardenafil/) buy prednisone uk (https://fairbusinessgoodwillappraisal.com/generic-prednisone-uk/) buy roszet in tampa (https://inthefieldblog.com/roszet/) roszet online no script prednisone muscle building (https://frankfortamerican.com/order-prednisone/) prednisone taper example champix best price usa (https://shilpaotc.com/champix/) fenofibrate commercial (https://rrhail.org/fenofibrate/) as <a href="https://fairbusinessgoodwillappraisal.com/product/nailrox-nail-lacquer/">nailrox nail lacquer</a> <a href="https://beauviva.com/item/nizagara/">getting nizagara over the counter</a> <a href="https://rrhail.org/elmiron/">buying elmiron online</a> <a href="https://miaseilern.com/oxytrol/">oxytrol</a> <a href="https://primerafootandankle.com/zithromax-com-lowest-price/">zithromax.com lowest price</a> <a href="https://primerafootandankle.com/item/isotretinoin/">isotretinoin online costa rica</a> <a href="https://fountainheadapartmentsma.com/product/propecia/">cheapest propecia</a> <a href="https://racelineonline.com/hiforce-delay/">hiforce delay online</a> <a href="https://rrhail.org/pill/hydroquinone-topical/">hydroquinone topical</a> <a href="https://mrcpromotions.com/tadalafil/">order tadalafil online no prescription</a> <a href="https://rrhail.org/domperidone/">max dose domperidone</a> <a href="https://transylvaniacare.org/product/ed-sample-pack-2/">ed sample pack 2</a> <a href="https://petralovecoach.com/nemasole/">nemasole</a> <a href="https://shilpaotc.com/no-prescription-tamoxifen/">tamoxifen without dr prescription</a> <a href="https://youngdental.net/drugs/vardenafil/">low price vardenafil</a> <a href="https://fairbusinessgoodwillappraisal.com/generic-prednisone-uk/">generic prednisone uk</a> <a href="https://inthefieldblog.com/roszet/">price of roszet</a> <a href="https://frankfortamerican.com/order-prednisone/">order prednisone</a> <a href="https://shilpaotc.com/champix/">buy champix w not prescription</a> <a href="https://rrhail.org/fenofibrate/">low cost fenofibrate</a> attenuate recognize https://fairbusinessgoodwillappraisal.com/product/nailrox-nail-lacquer/ https://beauviva.com/item/nizagara/ https://rrhail.org/elmiron/ https://miaseilern.com/oxytrol/ https://primerafootandankle.com/zithromax-com-lowest-price/ https://primerafootandankle.com/item/isotretinoin/ https://fountainheadapartmentsma.com/product/propecia/ https://racelineonline.com/hiforce-delay/ https://rrhail.org/pill/hydroquinone-topical/ https://mrcpromotions.com/tadalafil/ https://rrhail.org/domperidone/ https://transylvaniacare.org/product/ed-sample-pack-2/ https://petralovecoach.com/nemasole/ https://shilpaotc.com/no-prescription-tamoxifen/ https://youngdental.net/drugs/vardenafil/ no prescription vardenafil https://fairbusinessgoodwillappraisal.com/generic-prednisone-uk/ https://inthefieldblog.com/roszet/ https://frankfortamerican.com/order-prednisone/ https://shilpaotc.com/champix/ https://rrhail.org/fenofibrate/ meridian, obscure shut effusions.