I remember the first time I sat with QuakeC, I believe I was a little thirteen year old kid and got the hang of modifying the weapons quite fast. Made some nuke launchers, took sounds from old Mod communities soundbanks and did laser nailguns, whatever was fun to do. I did one mod with a readme textfile and everything, named it ”Enhanced Weapons”, then I just totally went on to other things when it was about programming stuff.
Fast forward to University.
I found a web page of a guy that did a little tutorial on how to make a QuakeC mod from scratch. I wondered what a mod looked like that had nothing at all except the symbols needed for the engine to handle to run it? I remember clearly, being on that bare bones mod made me wonder how to place the items, how to draw the doors and the logic for them to open and close on certain conditions. I decided to try to make ”stuff work” out of having id’s source code handy for inspiration but trying to figure out for myself as much as possible, of course having other opinions than what id did on how to write it.
It was fun, really fun.
I made the items first, adding my own twist of the megahealths depleting individually when you have more than one. I did an angle fix so that items that are visually rotated gets a compensated position of the hitbox. I made the DM6 Lg-hatch bug into a condition, documenting it. I did support for func_ladder, never got it to work even though the code still is in there. I discovered certain rocket ammo packs on DM5 were supposed to be grenades. Experimented with minpitch/maxpitch and discovered the grenade launcher would fire backwards if you shot upwards, so made a cvar for an algorithm that handled that better. Did a cvar for level exits teleporting to where the player would start in single player, looking at how e1m2 would play that one out.
What happened later on when I was doing work for FTE was that bigfoot had developed certain optimizations like faster uploading of aliases, eyecandy that fades the light on countdown and support for the general 1on1/2on2/4on4 modes including prewar/countdown. I took his extras into my base code, made it work, gave it back and put it on his Sourceforge project with the name GMAPN (Give Me A Proper Name).
Being busy with school I didn’t touch this project much until Mushi contacted me out of the blue on IRC, speaking about GMAPN and menues… menues? I didn’t see anything in the repo that was particularly special or related to any kind of menu. No, these were local changes that Spike had been doing and then committed later when I asked for them. Now – holy shit so much STUFF!? There was indeed a whole menu system designed around centerprints, catching movement keys and other pretty amazing hacks to work around the fact that GUI in Quake1 mods were not at all thought about when made.
What about all of these modes? Looked kind of scary at first. I tried a duel vs a bot, didn’t like the round based system so I split the thing into ”Duel” and ”Duel Arena”. Duel is what is in KTX, whereas Duel Arena is round based and by default you start out with all weapons and a bit of ammo while the items are still laying on the level. I guess Duel Arena is ”my” mode, the rest of them are not made by me at all.
See my
previous blog post for details on testing.
See my
forum thread for details on deploying.
I wanna learn more about the dm6 hatch logic, would you mind sharing that?