FF Logo
Hello Guest | Login | Register
Join us on Discord!
Latest reviews
Who's online?
0 users and 91 guests
FactionFiles :: Files :: Red Faction - Maps - Deathmatch :: The Frost of War SE - Light Show (2022 Ver.) by Mitzi
Images
File image preview
File Info
Author: Mitzi [Search Author]
Uploader: Mitzi [View Profile]
RFL Name: dmfrostofwarseb3.rflCopy RFL Name
RFL Date: 12/10/2022
RFL Version: 200
File Size: 39.7MB
File Type: zip
Added: 12/10/2022
Downloads: 171 (146 In-Game AutoDL)
Download File
Download File
File Ratings
Aggregate In-Game Rating
0 | 0

Use Alpine Faction to rate in-game!

Community Average Rating
👍 Recommended! 
(based on 3 user ratings)

Your Rating
Login or register to review and rate this file.
Description
This is an updated version of The Frost of War SE.

Changes in this update:
- Made several bolt emitters thicker.
- Moved sky explosions closer to ground.
- Enlarged one of the internal start triggers.
- Adjusted blue bolt emitters for better visibility.
- Added new bolt emitters around the outer walls.
- Script: Deduplicated delays for pls instruction, resulting in an approximately 20% reduction in generated events. This may improve performance slightly.

Original release notes follow

Overview
The Frost of War SE is a modified version of The Frost of War. I added a music-synchronized light show, driven by the RF event system. This was done using some tools I am working on, originally mentioned in my RF version of Bad Apple!!.

Total construction time is about five days... the initial code and 30 seconds worth of lights were done in one day earlier this year, and everything else was done this week.

Use
Load the map in multiplayer and spam the USE key while grabbing the fusion. Remain spawned until the 10 second mark on the countdown, then it's OK to go into free spectate.

Technical details
As alluded to in the overview, the vast majority of events in this map (over 8000!!!) were not placed by hand in the editor, but injected into the complete RFL by a toolset I'm working on which allows scripted event system generation. My version of Bad Apple!! was also done using these tools, but only the raw injection of events was used there. In contrast, this map was actually scripted using a custom language I've implemented, which the tools then "compile" down to RF events.

The construction/compile process is as follows:
- The physical map, some visual effects, and the very basic control logic for the show are created by hand in RED. A particular Delay event is used to begin the show.
- The music is trimmed and processed in REAPER. Coarse timing of events (sections of the song) are denoted by placing timeline markers at the appropriate points. These markers are exported to a CSV file.
- A script converts the marker CSV file to a routine in my custom language which will branch off to other routines identified by the marker names. This will act as the entry point to the show.
- A script builds the countdown images and converts them to RF-compatible TGAs.
- A script injects some visual effects into the RFL which would be tedious to create by hand. This includes the bolt emitters for the trees (12 bolts * 4 colors * 2 trees = 96), crates (48 crates * 12 bolts * 4 colors = 2304) and most of the Vclips (1 vclip per meter * 31x21 area * 2 types = 1302). Also injected are relevant control events (Bolt_State, etc).
- A script generates some routines that would be annoying to write by hand. Scriptception >_>
- A script processes the custom language and compiles all routines to RF events. The Delay event noted in the first step is linked to everything required to start the show.
- A script packs all assets from the untouched map, the new RFL, and all new assets into a new VPP.

Having done some prior synchronization to music for audio-animatronics projects, it's always good to minimize the overhead of each iteration. You may make a change to only one second worth of content, but if your test process requires five minutes of screwing around, it's going to take forever to finish. For this reason, I tried to script as much as possible. From one command I was able to do all processing steps, including launching a dedicated server and the game. I also added the ability to optionally trim the first X seconds off of the music using ffmpeg, and this would also get passed along to the compile step to skip ahead the same amount of time. This meant that testing something two minutes into the song didn't require sitting through the whole preceding two minutes.

It would have been great to have the build script automatically join the launched game to the server but something is currently broken with Dash's join command.

Language
The language is not really like any other programming or scripting languages. It's kind of assembly-ish (I stole some mnemonics from 68K) but the way it functions is obviously very specific to how RF events work.
The following instructions exist:
uid <name> <uid> - define a name as an RF UID so there aren't random numbers all over the place
on <uid/name> - send an on signal to an RF event
off <uid/name> - send an off signal to an RF event
rel <seconds> - relative time value to subtract from all delays, used as a helper to be able to time things based on the timestamp in the REAPER project
dly <seconds> - simple delay
bra <routine> - branch to begin executing another routine. Note that this is async and does not block in any way.
dbra <seconds> <routine> - helper, branch with a built-in delay
pls <uid/name> <seconds> - pulse an event on, and then off after the specified time. non-blocking.
rem <text> - comment
var <name> <value> - define/set a variable, can be used like %name%. Note that these are "static" in the sense that they are only processed at compile time.
mul <variable> <factor> - multiply the value in a variable
mark - mark the start of a loop
loop <iterations> - simple loop

There are some obvious and non-obvious limitations to these. For example, there is no way to do recursion, there is no way that anything in the game can affect control flow in real-time, there is no stack, there are no parameters or return values on routines, loops cannot be nested, etc.

It probably shows that a lot of this was really hastily done. Variables and loops didn't even exist until the last few hours of production of this map and the code I've written shows this... lots of copypasta in things that were done early on. The routine bridge.txt is one that makes good use of language features.

Known issues
- If you are not spawned when the countdown reaches about 10~15 seconds remaining, the show will never start. This isn't really a bug, it's a method to force sync all the players.
- Going into the RF menu or using alt+tab after the show starts (actually, after 10 seconds remains on the countdown) will cause the music and lights to desync. This is an RF bug. I have a working fix for the music desync while in the menu, but an updated Dash Faction version hasn't come out yet. Sorry!
- The map has only been tested in a dedicated server. YMMV in a listen server or single player.
- The vast majority of injected events are at XYZ <0,0,0> and looking at the completed RFL in RED will be extremely slow.

Release?
I've included the source scripts for this map, the untouched level file, and some other goodies in a zip inside the vpp so go check that out if you're interested. Scripting tools (what compiles the scripts) will be released when they are ready. I operate strictly on Valve Time as I'm sure most people have figured out by now...

Stats
Some of the larger object counts pulled from the RED report on the completed RFL:
Delay.........................3164
Bolt Emitter..................2472
Play_Vclip....................1320
Target........................672
Invert........................320
Bolt_State....................314
Keyframe......................84


Credits, in no particular order
- Goober for The Frost of War as well as his contributions to this version.
- Brad Johnson for the base level.
- Trans-Siberian Orchestra for the music.
- nano for tolerating the song playing out of my speakers at least 430 times (seriously, my build scripts log it!) during development.
- nick for encouragement.
- Duane Jones for performance testing.
- rafalh for RFL format documentation.
All works inspired by His Imperial Majesty Emperor Haile Selassie I
Reviews
Avatar
VideoJames · Mon 23 Dec 2024, 8:53 ·
and like this
(Y)
User Rating: 👍 Recommended!  
That light show is one of the coolest things I've ever seen in this game.
Avatar
dvl_iac · Mon 23 Dec 2024, 7:15 ·
and like this
(Y)
User Rating: 👍 Recommended!  
This was an awesome light show! It's insane how many events are in this map. Great job! Really made for a great grand finale map for Christmas game night!
Avatar
Mikelice · Sun 22 Dec 2024, 11:59 ·
and like this
(Y)
User Rating: 👍 Recommended!  
This map is fucking crazy!!! :x I can't even imagine how many hours Mitzi put into this. I love this show! :2683:
Avatar
Goober · Mon 12 Sep 2022, 1:48 ·
likes this
(Y)
User Rating: 👍 Recommended!  
⚠️ This review was written for an older revision of the file. The comments may not apply to the newest version. Reviewed as: The Frost of War SE - Light Show
This is an absolute work of art.
Avatar
MysticaL-AceR · Sun 26 Dec 2021, 11:22 ·
and like this
(Y)
User Rating: 👍 Recommended!  
⚠️ This review was written for an older revision of the file. The comments may not apply to the newest version. Reviewed as: The Frost of War SE - Light Show
First the Bad Apple show, and now this. I don't know what's your game-show next is, but i'm eager to see more of this in the future!

I loved the piano-metal song \m/ synced with the laser show as it made me dancing to the beat while admiring the laser effects going so vibrant and crazy! Even the fireworks on the sky (even tho they're explosions but i'd rather call them fireworks lol)

Thanks for the show Mitzi, now i know what i missed :2683: but better late than never.
Avatar
RoMeK · Sun 26 Dec 2021, 3:47 ·
and like this
(Y)
User Rating: 👍 Recommended!  
⚠️ This review was written for an older revision of the file. The comments may not apply to the newest version. Reviewed as: The Frost of War SE - Light Show
WWow! That was an incredible show! Love the usage of effects. Lots going on! It was fun flying through it while rocking out. B) Great work!! :!
Avatar
kerpal · Sun 26 Dec 2021, 1:42 ·
and like this
(Y)
User Rating: 👍 Recommended!  
⚠️ This review was written for an older revision of the file. The comments may not apply to the newest version. Reviewed as: The Frost of War SE - Light Show
The vibrant lasers and explosions synchronized with the music was absolutely remarkable. felt like a real light show with fireworks at the end. Nice work Mitzi!
Pages: [1]
Want to review this file? Login or register!
Revisions
NameDate AddedDownloadsQuick Links
The Frost of War SE - Light Show (2022 Ver.) (newest)12/10/2022171[Download] [Install]
The Frost of War SE - Light Show12/25/2021108[Download] [Install]

(Old revisions are provided for historical reference purposes. They may be incomplete, or have bugs or other issues.)

© 2009-2025 FactionFiles