Penguin's Mods & Scripted Maps


The purpose of this thread is to show and discuss some mods and heavily scripted maps that I've made for FAF. Sensible questions, feedback and suggestions regarding them are welcome.

Scripted maps:

Tower Defense Survival

Minigame for 1 to 16 players - Defend against increasingly difficult hordes of enemies, build defenses, get kills to purchase upgrades at towers scattered around the map, play cooperatively or competitively
6780678d-01b0-404a-8963-9b9deddba24f-image.png This map has extensive advanced lobby options that allow lots of customization, including allowing a player to play as the hordes of invading enemies and the ability to have some players be imposters.
6d44c3ff-6ca4-46b2-b290-1944512f33d3-image.png For a more in-depth explanation, you can check out the Tower Defense Survival Readme File.

Pit of Doom

Minigame for 2 to 16 players/AIs with various random effects on units throughout the game. Try it out and look at unit names during a game on this map to learn more


No Unit Cap

Allows every player/AI to ignore the unit cap. Note that using an extreme amount of units can make the game more likely to lag/crash, and AI may try to not exceed the unit cap even though they are allowed to

Infinite Build Range

Increases build range to reach the entire map

Penguin's Icon Mod

Changes certain icons to make them easier to spot (currently affects ACU, SML, SMD, and TML)

Resize All Units To Random Sizes

Resizes every unit to a random size between 10% and 1000% of normal. It also proportionally adjusts almost every stat to scale with the change in size (I plan to add different randomness options to this mod once my pr to add proper mod options capabilities is merged into the main FAF patch)

Tiny Units

Shrinks every unit to 20% of its normal size. It also proportionally adjusts almost every stat to scale with the change in size

Different Faction Sizes

Scales Seraphim units to 300%, Aeon units to 200%, and Cybran units to 50% (UEF units and all factions' mexes remain their normal size). It also proportionally adjusts almost every stat to scale with the change in size

Advanced Chess

Replaces the conventional economy with set resource values (which can be set in lobby options). It lets players instantly build units, and it can be used for things like testing unit comps with various amounts of resources and fighting battles with set amounts of resources

Amphibious Buildings and Units

Makes all non-naval buildings and non-hover land units amphibious (they can be underwater). Note that it does not make land-based weapons work underwater (ie: regular tanks and pd can't shoot if they're underwater

Economy UI Colors

Adds the ability to change resource income/expense colors easily in the mod files (default change of expense color from red to a shade of pink that should be more distinct for some color-blind users)

Share Condition Popup

Creates a popup message at the beginning of the game that says if the game is 'Full Share' or 'Share Until Death' and optionally creates a hotkey that triggers that popup when pressed

No Pop-ups

Removes the pop-up messages for player defeat/pause/etc

More Hotkey Layouts

Adds additional hotkey layouts, so you can toggle between different configurable sets of keybindings

Make Everyone The Same Color

Makes every player/AI the same color. The color can easily be adjusted in the SameColor.lua mod file

Make Everyone A Random Color

Makes every player/AI a random color, with way more color possibilities than normal

waiting for a mapgen-only TMM queue and Godot


I had a go at the Tower Defense, seems like my cup of tea! The onscreen text wouldn't go away though, every few minutes it went away for a few seconds then reappearred, very distracting.
alt text
I felt it was a bit strange to not be able to make units (no factories), i really missed being able to make engineers in particular for a BP assist. I like to solo these maps so will probably play it with a double resources mod if you could fix the onscreen text when you have time. Lovely bit of work, i could see this game mode becoming popular!


@scout_more_often I'm glad you like the game mode, but I'm curious as to why you presumably didn't make purchases from the towers. Was the on-screen instructional text too unclear, or did you just not read it, or ...?

To explain; I have the defender's on-screen instructional text set to reappear on a loop every 35ish seconds until the defender's money is lower than it was 35ish seconds earlier.

The intended result of that is that someone who doesn't know how to purchase things in this way will read the instructional text, and then understand how to purchase something from a tower, and then do so. If the player doesn't purchase anything, it keeps reappearing in the hope that the player will eventually read it and learn the mechanic.

I could change how that works if people want, but the purpose of the text reappearing like that is to get people to actually read the text if they don't buy anything from the towers, as buying stuff is a major part of the game.

Also, once a player understands the purchasing mechanic and plays the map again, the player would generally buy something within the first 35ish seconds of the game anyway, and thus only have it appear the one time at the beginning.

I previously tried not having any instructional text or just having it appear once at the beginning and not reappear, but both of those methods resulted in a lot of people asking how to play or how to purchase stuff shortly after the game started.

If you think the instructional text should be changed in some way, I'm open to suggestions for it.

PS: The tower that the defenders spawn next to allows you to purchase more build power, so that your commander (or other purchasing unit) can build faster. Also, people can purchase SCU's from a tower towards the bottom-right of the map.

waiting for a mapgen-only TMM queue and Godot


Edit - ok i figured out you obviously cannot spend money until you have some. Once you have some, use a unit to right click on the tower and the bonus from the tower will appear beside it. An interesting mechanic!
Where does it display on screen my current money total?

2nd Edit , ah I found it displays it regularly on the left hand side. Folks, I highly recommend this map it's damned good fun, even solo 🙂


Tiny units on 81x map

Played it, it was hilarious playing the tiny cybran faction vs the huge Sera faction!


Got a crash on the Tower Defense. I was farming the tower that gives you an exp unit for $150 (far too cheap !!) that sits in the bottom left of the map when it happened, rather than paste the long error message in here I pasted the message at with ID to retrieve text is: 2275


@scout_more_often said in Penguin's Mods & Scripted Maps:

Got a crash on the Tower Defense. I was farming the tower that gives you an exp unit for $150 (far too cheap !!) that sits in the bottom left of the map when it happened, rather than paste the long error message in here I pasted the message at with ID to retrieve text is: 2275

Btw, I fixed that crashing issue and added several new features to Tower Defense Survival, including new towers, new enemy unit types, and blinking lights.

waiting for a mapgen-only TMM queue and Godot


Balance team revealed new exp

My github repo with UI Mods


Hey Penguin_ , your mod "Resize All Units To Random Sizes" sadly no longers works in MP. The values are random for every person, which means there is an instant desync when playing with this mod.
Could you look at the problem?


It seems like something changed so that the system I used for randomization no longer works reliably enough from player to player. Unfortunately, I didn't find a satisfactory quick fix that reliably avoided desyncing and provided randomness automatically. I may do a more involved fix in the future. For now, I just uploaded a new version of the mod that uses a manually set seed instead. This should avoid the desyncing issue, but if you want to get a different set of random unit sizes, you'll need to change what the seed equals in Blueprints.lua, which is located in \mods\Resize All Units To Random Sizes\hook\lua\system
Note that if you are playing multiplayer, everyone in a game needs to manually set the same seed or it will desync (the seed is just equal to a number; so, you would just replace that number with a new number and save the file to change the seed).

waiting for a mapgen-only TMM queue and Godot