How far the first version got
Before the restart, the first Evil Engine got to 838 commits. It read Garry's Mod's content into Godot and had a sandbox you could actually stand in. Here's what it could do.
The first version of Evil Engine ran from October 24 to October 29, and it’s the build you saw in the “Evil Engine v0.1” video. It ended at 838 commits, about 96,000 lines of C#, 1,288 tests and 816 logged builds.

Reading Garry’s Mod
Written in C#, it learned to read Garry’s Mod’s files from a real install: KeyValues, VPKs, GMA addons, textures, materials, models, and maps with their lightmaps, skyboxes and collision.
Its depot table came from what Garry’s Mod’s filesystem_stdio actually does, so Half-Life 2 and Counter-Strike: Source content mount the same way the game mounts them.


A world to exist in at all
- Source’s player movement, ported over: walking, air control, stepping, ducking, water, ladders and noclip
- Half-Life 2’s weapons, with tracers, impact decals and brass flying out of the view model
- the weapon wheel, plus classic bucket selection
- the physgun with its beam and burn sears, and a gravity gun that picks up props up to 250 kg
- a spawn menu on Q, with spawn icons rendered from the models themselves
- soundscapes with room reverb, surface footsteps and proper Garry’s Mod style deaths
- water you can see under, and props that float by their material’s density, so wood rides 70% under while concrete and metal sink


Modes and addons in Lua
Game modes loaded from Lua, filling a GM table the same way Garry’s Mod does, and they reloaded while the map was still running.
There were two, Sandbox and Survival, and Survival’s description reads “You created this Hell. Now it’s time to survive it.”
Two small addons ran on it as well, and if you’ve seen my Evil Fungus stuff these will look a little familiar…
- creep grows a mat across the nearest surface, climbing walls and wrapping over edges, and grows faster toward whoever’s standing on it
- sleep needs creep’s exports. Stand on the creep for 3 seconds and you get drowsy, then go limp and watch your own body from above

Fixes
- Godot’s reverb let gunshot sub-bass build up into a wash louder than the shots themselves in big rooms, so the room reverb is high-passed at 120 Hz now
- Ragdolls flopped around like wet noodles, so every joint got muscle tone, a friction torque at 30% of the weight of the limbs it carries
- The physgun beam was drawing underneath its own burn marks, which darkened it, and it turned out to be render priority, 0 against 1 and 2
sv_enablebunnyhoppingdrops Half-Life 2’s jump speed cap, same as CS:S
What it never had
There was no networking. The host and join windows existed, but nothing ever went over the wire. It also ran Evil Engine’s own Lua, not Garry’s Mod addons.
The bigger problem was that everything it read only lived in memory, in Source’s shape. It proved Garry’s Mod’s content could live in Godot, but it had no formats of its own.

So today, October 29, I cleared it all out to start again on rules of its own.
Somewhere in there I nuked my PC because I will take any excuse to get away from Windows when I no longer need it acutely, so development started over on Linux (Arch btw) XD
