Fat Kid is a Garry's Mod remake of the classic Halo 3 custom game with the same name.
The game consists of rounds in which one player spawns as the "Fat Kid", a slow moving character with a massive amount of health, and his goal is to eliminate the other players before the round ends. The other players ("skinny kids") must flee through a narrow map and break down barricades to avoid being cornered and eaten by the Fat Kid. If the Fat Kid eats a player, that player turns into a "skeleton", which is a minion of the Fat Kid. Skeletons are fast-moving but have very low health, and their goal is to help the Fat Kid eliminate the skinny kids. The round has a time limit, and if any skinny kid survives until the end, the Fat Kid loses.
I originally created this gamemode in 2015 and it was popular on YouTube for some time. It was kept proprietary for several years, but I've decided to open source it now to see what the community can do with it. The official server is available at: fatkid.swampservers.net (type connect fatkid.swampservers.net
in console) and it is available on Steam Workshop here.
We have an official Fat Kid Discord - check out the #fatkid channel in the Swamp Servers Discord!
If you want to create a community server, please be aware that this code is distributed with a restrictive license which disallows you from selling any form of in-game items or privileges to players. I don't want my gamemode to be ruined by pay-to-win nonsense; in fact, this is the main reason I kept the gamemode private for so long.
I hope for community contribution to the gamemode. If you make a new map or other extension for it, please be aware that the license gives us permission to include your work in this repository so everyone can use it. Extensions are required to be open source as spelled out in the license. We would also appreciate it if VMFs of maps are made available. For further information or help regarding development visit the development channel in the Swamp Discord.
This repo actually contains 3 gamemodes - Fat Kid, Duck Hunt, and Infection. The idea was to remake various infection custom games from Halo 3, and the Infection gamemode would manage most of the common game logic. The Fat Kid gamemode is a subclass of Infection. Duck Hunt was another popular Halo 3 custom game which I remade, but I don't host a server for it.
VMFs are included, please use them for examples. If you want to alter an existing map, please bear in mind that some maps contain custom content which you will need to extract from the BSPs and repack into when compiling. There is also an .fgd. All in maps/.
IF YOU WANT TO SUBMIT A NEW MAP, YOU MUST ALSO WRITE A BACKSTORY! See the gymnasium backstory for an example. The backstory should be HTML and will be shown to players when they initially join the server. It should be placed in gamemodes/fatkid/gamemode/maps/(name of map not including fatkid_ or any number)/sh_init.lua
similarly to the current maps.
- It is important to note that turning off +useclose flag on prop_door_rotating that open via +use does not work, leading to players being able to spam +use on a door keeping it between an open and close state, effectively blocking the doorway. Try not to use too many prop_door_rotatings outside of barricades due ot this. If you have a prop_door_rotating that is opened via +use in your map (As opposed to via an input such as those associated with barricades), you should have them open via input and ignore +use (such as a trigger brush surrounding the door as seen in fatkid_asylum) or have the doors permanently open (as seenin fatkid_bunker) or remove the doors entirely.
- To create barricades: Use frozen prop_physics or func_breakable. Name them "barricade_X" where X is a number. All entities with the same barricade name will share a health bar (which is tracked by the gamemode).
- To make skeleton-only tunnels: Make a trigger brush and tie it to "func_skeletonpass" or "func_skeletongate". Only skeletons can walk through it. Make a different entity for each brush.
- Spawnpoints: info_player_start for humans, info_zombie_start for skeletons (if none they use human spawns), info_az_start for fat kid (if none he uses skeleton spawns or human spawns)
- Respawning weapons: Just place frozen weapon entities; the respawning is handled by code in the gamemode. If you do not want a weapon to respawn, name it "norespawn".
- Map-specific Lua (such as dodgeball spawning and traffic cars): Add your code to a folder with the map name as shown here. Gamemode variables such as barricade health can be defined for your map in it's respective init.lua file.
- Props: When the fat kid uses his stun attack, all nearby prop_physics will be unfrozen and have some force added. Using frozen prop_physics can make your map more exciting.
- General practices: Don't make areas too big and open; it makes it too easy for skinny kids to shoot the skeletons. Try to make sure there are at least two ways for skeletons to get to any area to prevent them from getting bored of running through a single doorway and dying over and over.
- BSP filenames must start with "fatkid_" in lowercase in order for it to appear in the mapvote panel.
- These files are added to the workshop addon, so try and keep the file size small (around 30-40mb is the limit).
Programmer and official server manager: swamponions
NEW fatkid_mansion: Lozhenge
fatkid_pitbase AltShadow
fatkid_asylum_v1 AltShadow
fatkid_quarry: mostly made by Cody but a lot of help from Lozhenge
fatkid_stripmall: Lozhenge
fatkid_pitbase: Lozhenge
fatkid_bunker: Lozhenge
fatkid_swimmingpool: PYROTEKNIK
fatkid_gymnasium: swamponions
NEW fatkid_elementary: AltShadow (a heavily modified ph_elementary_school )
fatkid_underground: AltShadow
fatkid_hospital: Big Floppa
fatkid_catacombs: Big Floppa (originally made by some guy named Scott)
duckhunt_pond: swamponions
Playermodel: Rottweiler