[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - Gyro II

Gyro II

Discuss programming in the QuakeC language.

Moderator: InsideQC Admins

Gyro II

Postby Quake Matt » Thu Apr 27, 2006 9:15 pm

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!
User avatar
Quake Matt
 
Posts: 129
Joined: Sun Jun 05, 2005 9:59 pm

Postby scar3crow » Thu Apr 27, 2006 9:51 pm

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 ?
User avatar
scar3crow
InsideQC Staff
 
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Postby Sajt » Thu Apr 27, 2006 10:54 pm

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.
Sajt
 
Posts: 1215
Joined: Sat Oct 16, 2004 3:39 am

Postby scar3crow » Thu Apr 27, 2006 11:30 pm

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.
User avatar
scar3crow
InsideQC Staff
 
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Postby Quake Matt » Thu Apr 27, 2006 11:35 pm

User avatar
Quake Matt
 
Posts: 129
Joined: Sun Jun 05, 2005 9:59 pm

Postby scar3crow » Fri Apr 28, 2006 12:48 am

User avatar
scar3crow
InsideQC Staff
 
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Postby Quake Matt » Fri Apr 28, 2006 12:58 pm

User avatar
Quake Matt
 
Posts: 129
Joined: Sun Jun 05, 2005 9:59 pm

Postby Error » Fri Apr 28, 2006 6:26 pm

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.

User avatar
Error
InsideQC Staff
 
Posts: 865
Joined: Fri Nov 05, 2004 5:15 am
Location: VA, USA

Postby Quake Matt » Sun May 07, 2006 1:26 am

User avatar
Quake Matt
 
Posts: 129
Joined: Sun Jun 05, 2005 9:59 pm

Postby Quake Matt » Tue May 23, 2006 9:14 pm

Last edited by Quake Matt on Wed May 24, 2006 8:42 pm, edited 1 time in total.
User avatar
Quake Matt
 
Posts: 129
Joined: Sun Jun 05, 2005 9:59 pm

Postby Sajt » Tue May 23, 2006 11:17 pm

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.
Sajt
 
Posts: 1215
Joined: Sat Oct 16, 2004 3:39 am

Postby leileilol » Tue May 23, 2006 11:44 pm

leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby HeadThump » Thu May 25, 2006 12:01 am

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. :P
HeadThump
 
Posts: 74
Joined: Sun May 14, 2006 3:21 pm
Location: Zin


Return to QuakeC Programming

Who is online

Users browsing this forum: No registered users and 3 guests