Halomods Community Portal: Ifafudafi writes about his mod work - Halomods Community Portal

Jump to content

  • 11 Pages +
  • « First
  • 8
  • 9
  • 10
  • 11
  • You cannot start a new topic
  • You cannot reply to this topic

Ifafudafi writes about his mod work

Updates and features on making effects for SPv3

#181 User is offline   Spartan314 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 06-August 11

Posted 25 March 2012 - 01:55 AM

That is pretty cool.

#182 User is offline   Chief12 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 13-January 12

Posted 25 March 2012 - 03:56 PM

No wonder why someone called CMT you guys "Halo PC's saviors" :)

#183 User is offline   Ifafudafi 

  • Advanced Member
  • PipPipPip
  • Group: CMT Person
  • Joined: 05-May 11

Posted 17 May 2012 - 11:32 PM

Posted Image



#184 User is offline   Smythe 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 26-July 11

Posted 18 May 2012 - 08:02 AM

Bring out yer dead!

90% of Development time was spent on this image, gauss hog has been finished for years.

EDIT: It looks incredible too.

This post has been edited by Smythe: 18 May 2012 - 08:02 AM


#185 User is offline   Ifafudafi 

  • Advanced Member
  • PipPipPip
  • Group: CMT Person
  • Joined: 05-May 11

Posted 01 July 2012 - 01:48 AM

One of the tags HCE uses for effects is the .particle_system. In theory, it's a very powerful tag, allowing the artist to create more complex and intricate particle movements and interactions than could be easily done through an .effect.

In practice, though, it's a piece of junk, with several options that are nonfunctional at best and outright incorrect at worst.

My consequent discomfort with the tag can be felt most strongly in our effect set's explosions, which are generally simpler, cruder, and of a lower quality than other effects. Correcting this problem became a high-priority goal post-a50, so I took the time to get deep into .particle_systems and figure out just how to work the idiot things.

The perilous adventure bore fruit; I documented my exact findings in the Effect Reference Guide I recently wrote and uploaded, but suffice it to say for now that I now have a lot more control over what I can do with the shape, size, and density of explosions. For example: the Plasma Grenade and Fuel Rod Gun's explosions now have a more spherical form, rather than inheriting the Frag Grenade's column-like appearance, and the Frag itself now sports a fancy horizontal smoke-shockwave.

Along with several new high-res animated sprites (thanks to some 3ds Max experimentation by teh lag) and more general tweaks to timings and secondary elements, the end result is stuff blowing up much more pretty-like. Check out some comparisons below, and pay special attention to the Plasma Grenade's new liquid-based effect style:



#186 User is offline   TrantaLocked 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 20-December 11

Posted 01 July 2012 - 03:13 AM

Those new particle effects look awesome! I see what you mean about the new plasma "liquid" effects.

#187 User is offline   Spartan314 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 06-August 11

Posted 01 July 2012 - 07:20 AM

Me liking those effects! :L

#188 Guest_DiscoBanana_*

  • Group: Guests

Posted 08 November 2012 - 03:53 PM

Ifafudafi! I have question about tagging some of the effects since A50 was released with a key for it's source. I have problems when extracting the tags like the transparent shaders and some particles, but i already fixed some of them like the jackal ( The error was the pulse shader was set to " B out " ) But i have problems with Cyborg shield setup like A out B out and etc.... I haven't figure it out yet. Can you demonstrate how you've done ( or lag ) the shield functions on the cyborg biped?

Also i have so problems with firing particle of the AR, the problem was the flashes weren't complete like it only shows the center fire particle.

#189 User is offline   Spartan234 

  • Newbie
  • Pip
  • Group: Members
  • Joined: 30-October 11

Posted 09 November 2012 - 12:55 PM

Your problem with the AR muzzle flash is due to the way the Halo 1's engine render particles: if you look at the "duration bound" in the event block of the AR firing effect files, once you've selected the event block linked to the muzzle flash render (effect event block 2 and effect event block 3 contain parameters for rendering particles in the first person and third person), you'll see that it is set to 0, if it works most of the time the fact that the muzzle flash is not rendered correctly let us think that you need to specify a duration longer than 0 but lower than 0.09s to avoid entanglement of particle effects (The AR rof is 11 shots/sec and 1/11=0.09...)
I hope I have helped.

http://img15.imagesh...10913412332.png

This post has been edited by Spartan234: 09 November 2012 - 12:56 PM


#190 User is offline   Ifafudafi 

  • Advanced Member
  • PipPipPip
  • Group: CMT Person
  • Joined: 05-May 11

Posted 09 November 2012 - 07:46 PM

View PostDiscoBanana, on 08 November 2012 - 03:53 PM, said:

Ifafudafi! I have question about tagging some of the effects since A50 was released with a key for it's source. I have problems when extracting the tags like the transparent shaders and some particles, but i already fixed some of them like the jackal ( The error was the pulse shader was set to " B out " ) But i have problems with Cyborg shield setup like A out B out and etc.... I haven't figure it out yet. Can you demonstrate how you've done ( or lag ) the shield functions on the cyborg biped?

Also i have so problems with firing particle of the AR, the problem was the flashes weren't complete like it only shows the center fire particle.


If you're using the CMT cyborg & elite .bipeds, make sure that the A and B inputs (top of the tag, just above the Attachements block) are "recent shield damage" and "shield vitality," respectively, and make sure your .shader_transparent_plasma is using C Out as both the intensity and offset function.

As for the AR, HEK+ tends to eat the marker refs during extraction; make sure all the particle markers are set at "primary trigger" ("primary ejection" for the bullet casings)

This post has been edited by Ifafudafi: 09 November 2012 - 07:46 PM


#191 User is offline   Ifafudafi 

  • Advanced Member
  • PipPipPip
  • Group: CMT Person
  • Joined: 05-May 11

Posted 17 December 2012 - 11:13 PM

It's no longer a secret that we now have and will make use of support for more than 2 grenade types, so have a look at the third one -- the EMP Grenade.

As usual, NOTHING IS NECESSARILY REPRESENTATIVE OF CONTENT INCLUDED IN THE FINAL PRODUCT. Up until release, anything and everything -- especially visuals and low-level balancing-work like precise damage values -- is subject to all kinds of change.

The EMP Grenade is a Brute design, and is used exclusively by them in lieu of Plasma Grenades. The grenade comes to rest as soon as it lands on the ground, and immediately projects an EMP field which burns for 3 seconds, doing massive damage to any kind of shields and moderate damage to armored Brutes, but no damage to unshielded targets. After expiring, the grenade detonates into a small explosion which can finish off weak or heavily injured units.

The key factor differentiating the EMP Grenade is that the 3-second damage-over-time feature opens up a wide range of area-denial tactics, allowing the user to block off chokepoints, cover their retreat, and so on. Having the damage be only to shields counterbalances the instantaneous arming time; no "permanent" damage can be done to a completely unaware unit by the grenade alone, minimizing frustration and emphasizing the intended role of area-denial -- but still allowing for potentially devastating followups with headshot weapons or other explosives.

Here's a quick video demonstrating the effects, sounds, and basic behavior. We haven't got it a custom model yet, but pretty much all the other audiovisual aspects are in place.



(before anybody starts going nuts with speculation, the icon in the fourth grenade slot is a generic placeholder not meant to represent anything in particular; what if anything will fill that space is not yet determined)

This post has been edited by Ifafudafi: 17 December 2012 - 11:16 PM


#192 User is offline   LegioOfShadows 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 03-December 11

Posted 18 December 2012 - 01:07 AM

Nice. Nice nade...

Awesome forerunner, though. I love it. Better than Halo 4's :)

#193 User is offline   InvaderVeex 

  • Newbie
  • Pip
  • Group: Members
  • Joined: 11-June 11

Posted 18 December 2012 - 02:28 AM

Will this grenade stick to enemies?

#194 User is offline   Amit 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 21-September 11
  • LocationOntario, Canada

Posted 18 December 2012 - 03:38 AM

I wouldn't think so. Would seem a bit OP if it did. Let's say it gets stuck to a grunt that panics and runs towards its allies. BAM, anyone with shields instantly has them zapped even if they weren't in the original EMP radius and then they take splash damage when the grenade does finally blow up.

#195 User is offline   zealotmystic 

  • Halo Noob Here
  • PipPipPip
  • Group: Members
  • Joined: 25-February 12

Posted 18 December 2012 - 10:26 PM

4 Things about the EMP grenade I must say:

1) OMG creativity! But doesn't it act a little like the Halo 3 Power Drain equipment, except shorter?
2) How is that EMP grenade possible on OS? Did you switch the plasma pistol overcharge with the grenade detonation or something?
3) Is the EMP grenade subject to be used by the AI? If so, which faction will be using it? The UNSC? The Covenant? The Forerunners?
4) Completely futuristic shield recharge sound. Awesome!!

You guys are doing such a great job! Keep it up!

#196 User is offline   Kili 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 25-March 12

Posted 18 December 2012 - 10:42 PM

View Postzealotmystic, on 18 December 2012 - 10:26 PM, said:

4 Things about the EMP grenade I must say:

1) OMG creativity! But doesn't it act a little like the Halo 3 Power Drain equipment, except shorter?
2) How is that EMP grenade possible on OS? Did you switch the plasma pistol overcharge with the grenade detonation or something?
3) Is the EMP grenade subject to be used by the AI? If so, which faction will be using it? The UNSC? The Covenant? The Forerunners?
4) Completely futuristic shield recharge sound. Awesome!!

You guys are doing such a great job! Keep it up!

Ad. 1
I think the same :D
Well it is something better than power drain - grenade is more useful ;)

Ad. 2
OS extended limit of grenades, not just by swap of other tags but in some other way.
As of OS 3.1 release notes, limit of grenades could be even more than 4, but only 4 are properly working at network gameplay (in multiplayer).

Ad. 3
It will be used by Brutes - he wrote that in description just above this video.

Ad. 4
I like it too.

If I messed something than please correct me :)

#197 User is offline   Ifafudafi 

  • Advanced Member
  • PipPipPip
  • Group: CMT Person
  • Joined: 05-May 11

Posted 04 July 2013 - 12:23 AM

While the from-scratch level and environment design is certainly the highlight of TSC:E, there's been an enormous amount of work done in just about every part of the mod where there's work that can be done. Nearly a decade's worth of experience and trial-and-error has allowed us to stretch and hack around HEK limitations in dozens of ways -- here are three things we've implemented since a50's release, in full technical detail:

Weapon Display Color-Changing

Previously, the CMT Assault Rifle used a complex system of multiple shaders and animated nodes to change the display's color as the magazine is depleted. This isn't just cumbersome to set up and maintain; it requires data-level adjustments whenever the weapon's magazine size is changed. Animations must be re-created and recompiled to make the display correctly reflect new ammunition counts, and changing the color of the display itself requires a great deal of tedious work. Experimenting with tag-side color-change functions has led to a much simpler and easy-to-manage method:

-A weapon function is reserved for scaling the color-change element
-A color-change block is set up in the weapon, scaled by the above function. For our human weapons, these blocks use blue and red as their maximum and minimum bounds, respectively
-The "scale by hsv" and "…more colors" flags are checked. This means that the game will interpolate the longer hue-path between the two colors -- blue->green->yellow->red in this case, instead of the shorter blue->purple->red
-The weapon function's step count and scale multiplier are aligned so that the color increments land on only blue, yellow, and red at the 100%, 50%, and 25% ammunition levels respectively
-The function is then passed to the color-change of a single .shader_model used for the display
-The shader_transparent elements of the display - for example, the ammunition counter and the compass - use grayscale bitmaps and the game's "double-multiply" drawing mode. This means that they will brighten the color behind them, resulting in the display elements showing up brightly against the background. If additional brightening is needed, extra draw-layers are added to these shader_transparents until the desired brightness level is achieved.

As a result, we only need one set of geometry to define a display - everything else is handled by object functions and change-color behavior. This was used to create a rainbow effect on a certain gun's display in a certain old video...

The one disadvantage is that this only really works by something of a coincidence -- a color range that doesn't align neatly on the HSV path (like green->purple->blue or something) will require some trial-and-error with the scale functions to get the desired effect.

Other than that, the behavior is identical to what it was previously, and it isn't just much easier to manage now; we can modify magazine sizes at any time with no need to account for animation issues, and we can easily and painlessly apply the same method to any other weapon with a display, like the BR.

Posted Image
Above: the function that controls the BR's change-color block, and the block itself. "B in" is set to be the weapon's loaded ammunition fraction. The rest of the function clips and scales that value to give us the desired snap-points of the blue -> yellow -> red coloration. The CC channel is then plugged into the BR's main display shader, causing its color to change with the weapon's ammunition level.
Posted Image
Above: The bitmap and shader for our UNSC weapon compass. The bitmap is grayscale; the shader uses the 'double-multiply' blend mode to use the bitmap to brighten the areas of the display behind it. "Additional Layers" blocks are also added - simple copies of the same shader - to get the effect to draw multiple times, which makes the display elements more visible.

Battle Rifle Burst

Getting a 3-round burst has been pretty much a "solved" problem for most of HCE's life -- have the weapon overcharge instantly, and discharge a spew for just long enough to get 3 rounds off. However, this has been accompanied with a couple of significant limitations:

-An extra tick of delay happens between pulling the trigger and the first shot, due to having to "charge"
-The burst happens at a rate of 1 bullet per tick, which can feel compressed and awkward
-Rate of fire takes a significant hit

(1 tick is 1/30 of a second, the speed at which HCE updates just about everything)

The first issue is pretty much unavoidable, but further experimentation has finally allowed us to solve the other two.

To separate the burst, each round is set to overheat the weapon instantaneously. The heat decay rate is maxed (1), and the heat recovery threshold is aligned to have the gun recover after 1 tick (0.96). The spew time is increased to where the BR now "fires" the equivalent of 6 shots per burst; but by overheating every other shot, the end result is 3 bullets fired every 2 ticks, a much more tactilely satisfying and practically applicable rate.

Posted Image

Raising the rate of fire tied into a "discovery" (really a years-late realization) about rate of fire, related to the game's 30-ticks-a-second update speed. During any given tick, a weapon can only be "firing" or "not firing," meaning that rates of fire are restricted to divisors of 30, i.e.:

1 bullet every tick (30 rounds/second)
1 bullet every 2 ticks (15 rounds/second)
1 bullet every 3 ticks (10 rounds/second)
1 bullet every 4 ticks (7.5 rounds/second)

…and so on. If an "invalid" RoF value is put into the tag, HCE will round the rate of fire down to the nearest "valid" number; so, if a value of 25 was given to a weapon, it would actually only fire at 15 rounds/sec in-game.

Between the charging and the overheating, the BR's rate of fire is effectively much lower than the inputted value. Previously ignorant of the above restrictions, seeing no net effect to raising the rate of fire had given us the impression that it simply couldn't be raised; however, now that we know, we simply have to up the value much higher (the BR's RoF is set at 7.5, but fires at around a still-comfortable 2.5 bursts/sec).

Here's a video demonstrating the difference. You can also see the color-changing method described above working here. (the display is still pending the same treatment as the AR shown in Monday's pool video)



Ghost Boosting

Awkward hacking with .damage_effects has been pretty much the only way to emulate boosting so far. However, Open Sauce gives us a much wider range of tools, allowing us to set up a new system that's much more simple, effective, and flexible.

-The ghost gun's .weapon is given a secondary trigger with no projectile
-However, pulling the trigger adds heat
-The OS functions "unit_data_get_object" and "weapon_get_data_real" allow us to read the heat value of the Ghost the player is currently using
-This value is then interpreted with some vector math -- another OS addition -- to manipulate the ghost's velocity
-Visual effects and sounds are scaled directly by a standard object function using the heat value

You can see the boost at work in the OS 3.1 trailer from earlier this year (below).



As a freebie bonus (or if you're just curious), here's the script we're using to do this:

Spoiler

This post has been edited by teh lag: 04 July 2013 - 01:09 AM


#198 User is offline   TailsTheGamer 

  • I want YOU to make a contract with me.
  • PipPipPip
  • Group: Members
  • Joined: 25-February 12

Posted 04 July 2013 - 12:57 AM

Nice! (You repeated the BR info.)
[EDIT] Nevermind XD Someone fixed it while I was typing.

This post has been edited by TailsTheGamer: 04 July 2013 - 12:59 AM


#199 User is offline   teh lag 

  • Advanced Member
  • Group: Administrators
  • Joined: 16-January 11

Posted 04 July 2013 - 01:03 AM

Apparently this version of IPB does not behave very gracefully if you miss a bracket on an URL tag.

#200 User is offline   zealotmystic 

  • Halo Noob Here
  • PipPipPip
  • Group: Members
  • Joined: 25-February 12

Posted 04 July 2013 - 05:33 AM

The new Battle Rifle bursts look much more realistic than those almost untrackable 3 shot burst which looked like its a single shot, awesome work CMT!
Also, nice weapons and Ghost boost, keep it up!

P.S. will this coloured ammo bar counter be applied for the DMR?
P.S. so the HUD ammo counter works like in reach and h4, eh? how is dat possible?
P.S. btw, WHERES DA BRG? ME NO SEE THICK BARREL UNDERNEATH DA BR!!
P.S. too many ps'es, lol :highfive:

Share this topic:


  • 11 Pages +
  • « First
  • 8
  • 9
  • 10
  • 11
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users