Inside3D!
     

Gyro II

 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming
View previous topic :: View next topic  
Author Message
Quake Matt



Joined: 05 Jun 2005
Posts: 129

PostPosted: Thu Apr 27, 2006 9:15 pm    Post subject: Gyro II Reply with quote

Gyro was a .qc physics plugin that I released around the time of QExpo 2005. It was really all about blowing stuff around the room with rockets, but it also did lots of other fancy physics-related things, and could be implemented into almost any Quake mod with just two or three lines of code.

As QExpo 2006 approaches, I need to start making Gyro II! This time, it'll actually work properly (most of the time) on all engines and at all framerates! Oh, and grenades will still float. I like floating grenades.

For those that didn't get to try Gyro before it was 'discontinued', it was split into two main components - the object and the force side. Object parameters were stuff like weight, bouyancy, air resistance, aerodynamics and so on, which constantly effected the object. The forces were things like explosions, dampening fields, magnets and air currents, which were localised (and more interesting!).

Anyway, here's my current list of proposed object-controllers:

Weight - used as a base for all other controllers
Resistance - slows the object while in air/water (used to be derived purely from the weight)
Aerodynamics - attempts to point object into it's flight path (keeps rockets facing forward)
Bouyancy - makes objects float in air/water
Thruster - object emits a constant thrust in it's facing direction (makes fancy rocket effects)
Hover - object emits a constant downwards force based on it's height from the ground (bit useless perhaps? I did make a cool blimp-grenade out of it and a bit of thrust, though...)
Turbulence* - object is subjected to constant turbulent forces (ideally used in water, so objects floating on surface don't remain motionless)
Elasticity* - controls strength of object's bounce upon impact (probably needs to override the object's touch function - not a good idea?)
Spring* - attach the object to another entity with a spring constraint (useful? could probably be extended to incorporate non-bouncy string as well)

* = new for Gyro II.

Right, that's my list so far. How useful would these be to all the modders out there? Is there anything else you think could be useful, or something that your mod already does that would fit nicely into Gyro? Once one (or all!) of these controllers is applied to your object, you can forget about it - Gyro handles the hard work!

Forces are being revamped completely. The first Gyro had predefined forces (force-sphere, dampening field, whirlwind, etc), but I plan to make an almost completely customisable force tool this time round. Of course I'll package a few commonly used forces into the system, but I want to offer the freedom to create what you like.

I'm going to do this by having forces built as several separate components - a combination of falloffs and pushers, for want of a better word! To create, say, a force in the shape of a vertical cylinder (a ceiling-mounted fan, for example), you would first define a linear falloff along the vector '128 0 128'. This would create a cylindrical falloff with radius 128 and no height falloff. Applying a second '0 256 0' falloff would combine the two into a cylinder with 512 height (256 is each direction from the centre). Simply doing a falloff of '128 256 128' would produce a squashed sphere. See how it all fits together?

So now you've got your shape, you need to decide what pushers to apply. For our fan to suck things upwards, we would provide only one pusher - an absolute force with a vector like '0 512 0'. This would always push an object up, with just enough strength to lift something 512 units in weight, providing it was right at the centre of the force. Other pushers would push/pull objects to/from the centre of the force, dampen an object's motion or make objects orbit the centre. It all depends on what I can come up with!

I'm deliberately vague about the forces, because I'm still trying to figure out exactly how far I should go with them. With what I've got so far, it'd be easy enough to create anything from big explosions to spiralling whirlpools that slowly suck objects to the seabed, but I really need to find out what else we need before I even touch the code!

Any ideas? I thought the idea of a reflector shield was quite cool, so I'll probably try to make a special bounce-force.

Sorry for the long post!
Back to top
View user's profile Send private message
scar3crow
Inside3D Staff


Joined: 18 Jan 2005
Posts: 837
Location: Las Vegas, NV

PostPosted: Thu Apr 27, 2006 9:51 pm    Post subject: Reply with quote

This is the stuff candy is made of QuakeMatt.

While reading this post, licking my lips, all I could of think were things like mini-nuclear rockets that expand at an increasing rate pushing objects up into the air and juggling it with its shockwave. Or a similar weapon only with a "crunching" effect where everything is drawn in closer to it before being thrust out... Or a weapon that temporarily removes the weight and resistance of all objects around it, so you get enemies, and items listing through the air, drifting, unsure. Too bad Im not a coder =)

This is excellent news though, and while reading I was hoping you would make it open sourced for all other modders to make good use of it in their projects. It does things were not used to expecting in Quake and I love that. Hopefully we can expect a QExpo booth for it come July ?
Back to top
View user's profile Send private message AIM Address
Sajt



Joined: 16 Oct 2004
Posts: 1026

PostPosted: Thu Apr 27, 2006 10:54 pm    Post subject: Reply with quote

I got to 'Weight' and I flinched. But I'm sure that was a brainfart on your part. Anywho, sounds cool, all I can say is I hope you make some kind of mod using it or at least some kind of demo. Because if you just make a 'modding kit', you know how the community is... nobody will ever touch it.
_________________
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Back to top
View user's profile Send private message
scar3crow
Inside3D Staff


Joined: 18 Jan 2005
Posts: 837
Location: Las Vegas, NV

PostPosted: Thu Apr 27, 2006 11:30 pm    Post subject: Reply with quote

Sajt - Touch it, immediately. I now command you to do so. This community needs to stop neglecting the tools that they can make use of. Even just do something simple with it, like recode a popular simple DM mod or whatnot to enhance all the little details of it with GyroII.
Back to top
View user's profile Send private message AIM Address
Quake Matt



Joined: 05 Jun 2005
Posts: 129

PostPosted: Thu Apr 27, 2006 11:35 pm    Post subject: Reply with quote

Quote:
I got to 'Weight' and I flinched.

Actually, in the old Gyro implementation, is IS weight, not mass! It used to assume a gravity of 800 and went slightly bonkers if the gravity changed drastically, like barely-bouyant objects shooting out of pools of water! If I program it properly this time, I'll call is mass instead!

The old Gyro came with a little mod that basically just converted all the Quake weapons to Gyro objects. Rockets were only fired at about 200 velocity, but had all sort of controllers to speed them up and keep them flying. I gave them bouyancy too, which gave them a pretty cool flightpath under water.

Quote:
This is excellent news though, and while reading I was hoping you would make it open sourced for all other modders to make good use of it in their projects.

Of yeah, of course! The point in Gyro is that anyone can drop the .qc file(s) into their project and get it up and running in about two lines of code. Hopefully, there'll be enough in there to inspire people!

If anyone wants to test the old Gyro, I've still got it lying around: http://homepages.nildram.co.uk/~moonrise/matt/gyro.zip. This also includes the mod I whipped up, so you can see how everything works straight away. Try shooting gibs into the water!
Back to top
View user's profile Send private message
scar3crow
Inside3D Staff


Joined: 18 Jan 2005
Posts: 837
Location: Las Vegas, NV

PostPosted: Fri Apr 28, 2006 12:48 am    Post subject: Reply with quote

Good news good news, hence it made the front page =)

I hope to see Gyro become one of those awesome tools for modders to take their mod further, like Frikbots and DarkPlaces.

It would be cool to one day have the Awesome Quake Pack that is just DarkPlaces with rtlight files and cubemaps, FBX with waypoints, clean quakesource, and FrikQCC/FTEQCC or whatnot. And if it turns out the way I hope, GyroII as well.

Are there any engine incompatibilities with the original Gyro? I primarily use DarkPlaces but will run FitzQuake if need be.
Back to top
View user's profile Send private message AIM Address
Quake Matt



Joined: 05 Jun 2005
Posts: 129

PostPosted: Fri Apr 28, 2006 12:58 pm    Post subject: Reply with quote

Quote:
Are there any engine incompatibilities with the original Gyro?

Don't think so, no. I was even told that it could be dropped straight into a QW mod, too.

The only problem the old Gyro had (and the reason for Gyro II) is that it wasn't framerate independent. Running DP with RTLights would produce completely different results to running ArqLite, but only because the framerate differed so much.

Thanks for the news post! I guess that means I have to release it for QExpo now!
Back to top
View user's profile Send private message
Error
Inside3D Staff


Joined: 05 Nov 2004
Posts: 558
Location: VA, USA

PostPosted: Fri Apr 28, 2006 6:26 pm    Post subject: Reply with quote

QuakeMatt: I personally can't wait for this mod. I love mods that fug with the physics. Also, you should make a "Powered by Gyro2" logo thing....

word.
_________________
Inside3D : Knowledge Is Power
Darkplaces Documentation Wiki
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Quake Matt



Joined: 05 Jun 2005
Posts: 129

PostPosted: Sun May 07, 2006 1:26 am    Post subject: Reply with quote

Right'o, I'm making a bit of progress! Most of the underlying Gyro framework's in place now, and I've already got a few things working, such as bouyancy, thrust, aerodynamics and motion resistance. That also means I've got my power-estimation function in place, which was a tough one! It's only accurate when both x and y (in x^y) are small, but that's fine for my purposes. I haven't got round to it yet, but I'll eventually take advantage of any QSG extensions that perform a more accurate calculation.

I'm planning to send out a pre-QExpo alpha version to anybody who's interested, so they can help me find the bugs! Also, if I get time, I'll write some quick tutorials to get people started.
Back to top
View user's profile Send private message
Quake Matt



Joined: 05 Jun 2005
Posts: 129

PostPosted: Tue May 23, 2006 9:14 pm    Post subject: Reply with quote

Gyro 2.0 release tomorrow!

I'm wrestling with the reams of documentation right now, and writing some user-friendly macros for the tutorials I've got planned. It's all very complicated, and I hope you guys can figure it out when it's done!

Oh, yeah, I thought the QExpo was this month, not next - that's why it's finished so early!

Edit: Uh, by tomorrow, I actually meant "In two days time". Y'know, the other meaning of tomorrow.


Last edited by Quake Matt on Wed May 24, 2006 8:42 pm; edited 1 time in total
Back to top
View user's profile Send private message
Sajt



Joined: 16 Oct 2004
Posts: 1026

PostPosted: Tue May 23, 2006 11:17 pm    Post subject: Reply with quote

It's not next month... it's July Twisted Evil
_________________
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Back to top
View user's profile Send private message
leileilol



Joined: 15 Oct 2004
Posts: 1321

PostPosted: Tue May 23, 2006 11:44 pm    Post subject: Reply with quote

PowerVR GYRO II 64MB video card clocked at 135MHz
_________________
Back to top
View user's profile Send private message
HeadThump



Joined: 14 May 2006
Posts: 74
Location: Zin

PostPosted: Thu May 25, 2006 12:01 am    Post subject: Reply with quote

Glad to hear your project is almost ready. It means I 'lll have time to integrate Gyro II into my mod project before QExpo rolls around. I haven't began coding for the project yet, as my efforts have been towards getting the models up and running first. I have a butt load of pics of monster, weapons and player models posted over the last few weeks on the func_messageboard screenshots & betas post if you are curious that way. Razz
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2004 phpBB Group