Tutorial: Beam and Sprite Effects Last edited 1 year ago2022-11-28 20:53:30 UTC

Download example file


See also: Tutorial: Laser and Beam EffectsTutorial: Using Sprites

The Goldsource engine is full of wonderful and useful entities, sadly however a lot of them are hugely unused and many mappers do not realise the brilliance of these entities. This tutorial will step through some of the most useful entities provided by beam and sprite effects that you may not know about.


See also: env_bubbles
User posted image
This is a simple brush based entity used to create simple water bubble effects on any given location, just create any brush and tie it to env_bubble (texture does not matter). The size of the brush will determine where the chosen amounts of bubbles will spawn, they will not leave this brush.




See also: env_funnel
User posted image
Now this is one of my favourite entities; it's basically a stand alone effect, it has no properties besides it's name for the trigger, It creates a massive amount of sprites at once and either forces them to fly away from it or fly directly into the entity. If you remember the Mission in half-life where the test chamber was destroyed and the alien invasion began, this effect was used there for massive amounts of sprites that came out of the big beam. The downside of this entity however is that you cannot choose the sprites it creates, but it's still a very good entity in some situations.

To see what this entity does with your own eyes (it's pretty amazing), view the example map I added. You have to compile it first.*




See also: env_shooter
User posted image
Now this is an extremely good and very flexible entity, one of my favourites. It is used to either spit out models like gibs OR sprites! You can select any sprite, set the properties correctly, and the entity will chuck them out onto the floor where they live for how long you choose.


Note: Hammer only lets you select models in this window, but do not fear. simply create an env_sprite, select your chosen sprites path and copy+paste it into this tab, it will work!


Note: After experimenting with env_shooter, I now believe that animated sprites do not work for this entity, I tested several default hl motion sprites with this entity and they do not work, so keep that in mind. All other sprites should be ok.

Advanced effect: Shockwave

See also: env_beamambient_genericfunc_trainpath_cornermulti_manager

Do you remember the shockwave blasts given off by houndeyes from half-life? It is possible to create a very similar and very good looking effect in game, although It requires some hard work. Note: If you are mapping for Spirit of half-life, the env_shockwave entity does this. This tutorial Is simply for doing the same thing in half-life.

Here are the entities required that I used to create this effect:
  1. Create an env_beam entity.
    • Tick these flags: Toggle, Ring.
    • Set some property values:
      • Name: Shockwave.
      • Brightness: 25
      • Colour: anything you want, I made mine light blue.
      • Radius: 256
      • Life: 0.5
      • Width: 112
      • Sprite name: sprites/shockwave.spr
      • Texture scroll rate: 100
      • Strike again time: -0.5
    • Note: Feel free to experiment with these values.
  2. Create two func_train entities
    • Texture them with {BLUE
    • Tick these flags: Not Solid
    • Set some property values:
      • Render mode: Solid
      • FX Amount: 255
      • Speed: 256
      • Name: Train 1 and Train 2
    • Go back to the env_beam and set the Starting Entity to Train 1 and the Ending Entity to Train 2.
  3. For each train create two path_corner entities
    • Name them appropriately so they can be used in a train path.
    • We are trying to create the effect that the beam is quickly expanding from the created location, so make the starting path_corner for each train start in the exact same spot, then move the ending path_corner entities approximately 256 units into the opposite directions of each other.
    • Give the starting path_corner entities the Wait for retrigger flag.
  4. Create an ambient_generic with these properties:
    • Name: Shocksound
    • Wav name: houndeye/he_blast3.wav
  5. Connect everything together by creating a multi_manager the the following values:
    • Shockwave: 1
    • Train 1: 1.1
    • Train 2 : 1.1
    • Shocksound: 1
    • Shockwave#1: 1.5
To recap:

Advanced effect: Alien teleport

See also: env_beamambient_genericinfo_targetenv_spritemulti_managermonstermaker

You may have seen it before many times in half-life, I'm talking about the beam effect that is used when an alien is spawned. This one is a lot easier to make than the shockwave.

Here are the entities required to create it:
  1. Create one env_sprite
    • Set the sprite name to any teleport effect you wish, for example: sprites/c-tele1.spr sprite.
    • Set the Render mode to: Additive
    • Set the Scale value as desired.
  2. Create an ambient_generic or two to create a teleport sound.
    • The debris sound folder contains good teleporting sounds, I combined debris/beamstart7.wav and debris/beamstart2.wav.
  3. Create a monstermaker entity
    • Set the Monster to the one you wish to spawn.
    • Make sure you place it inside the env_sprite so it looks right.
    • Place it inside the env_sprite.
  4. Create an env_beam` entity
    • Tick the flags: Toggle, End Sparks, Decal End
    • Set the properties:
      • Color: Green
      • Life: 0.5
      • Width of beam: 16-20
      • Amount of noise: 0-60
      • Sprite name: sprites/lgtning.spr
      • Strike again time: -0.5
  5. Create an info_target
    • Make it the starting entity for the env_beam (don't create any ending entity).
    • Place it inside the env_sprite.
  6. Create a multi_manager
    • Make it trigger the env_beam, ambient_generic, env_sprite and monstermaker all at the same time.
    • Don't forget to toggle the env_beam off with the same multi_manager, simply add the same env_beam value but 1 second later.
    • If the monstermaker has more than one monster, don't forget to toggle it off with the multi_manager as well.
To recap:


Commented 13 years ago2010-07-19 19:42:15 UTC Comment #100928
A great guide on the basic effect entities and on making more advanced effects.
Commented 13 years ago2010-07-20 20:26:48 UTC Comment #100929
Very nice! I never figured out the ring effect before. Thanks!
Commented 13 years ago2010-07-22 15:44:01 UTC Comment #100930
After experimenting with env_shooter, I came to the conclusion that it only works with non animated sprite effects, I tested it with several animated custom sprites and they did not work, I'll add this to the tutorial.
Commented 13 years ago2010-07-26 16:15:17 UTC Comment #100931
Good timing considering the current competition, and I think this will help, at least it will help me. :)
Commented 13 years ago2010-07-28 08:12:30 UTC Comment #100932
Well done!
Commented 13 years ago2010-10-03 15:16:23 UTC Comment #100933
Really amazing effects, help full RMF for noobs! :D

Thanks Skals.
Commented 13 years ago2010-10-03 15:43:00 UTC Comment #100934
No problem :).
Commented 12 years ago2012-01-16 01:31:09 UTC Comment #100935
Great tutorial sir! this helped me with hotdog's 2012 contest, Thank you! :P
Commented 10 years ago2013-10-16 21:06:28 UTC Comment #100936
Thanks for this!.
Commented 8 years ago2015-11-22 07:03:18 UTC Comment #100937
Thank you so much! Especially for the alien teleport effect. I recently started mapping and I was so frustrated because of the fact that I couldn't figure out how people do it on their mods and/or Sven Co-op maps.

This website is awesome!
Commented 6 years ago2017-11-07 05:39:05 UTC Comment #100938
Ingenious. Shows that there's no magic. You've got to kill the cow to make some burgers sometimes!

You must log in to post a comment. You can login or register a new account.