Kill the Llama
“And thou shalt protect the llama,
for thou art his shepherd and provider,
and many are thine enemies
who would smite thy llama.
Take heed, and remember
that they too have a secret llama!”
— The Book of Llama
by Gongala B’ah
Q: Why Kill the Llama?
A: We created kill the Llama because I was dissatisfied with the gameplay of zoid’s capture the flag. My problems centered around the fact that all too often, too many people wind up playing defense, and the game winds up being long stretches of boredom waiting for an attacker to show up.
The problem, from my point of view, was that CTF had 2 goal locations (the 2 bases) and the two teams could wind up separated from each other on the map, and not interacting. Additionally, the flags, unable to defend themselves from attackers, were a dull target.
KTL addresses these problems two ways. First, the flags are now llamas, and their parts are played by live players with the ability to defend themselves. Second, each level has a single goal location, which is the hay. Therefore, both teams must aim to take control of the hay to score the most points. This motivates everyone in the game to head to the same location, rather than the two teams camping out in disparate locations, and never really getting into any good team battles. (Even with a full CTF server, I’ve _never_ gotten into more than a 6 man battle, and we had an 8-man battle on KTL with only 10 players on!)
I also wanted to do some new things with KTL, that just cried out for a new game, rather than a simple CTF or DM variant. The obvious one is the artifacts, which create all kinds of new strategic situations for one on one and group conflicts. For example, there are now more than a thousand possible combinations of one on one battles given the variations in runes and not even considering weapons health and armor. The other thing I wanted to do was exploit my friends’ artwork, which on the skins is really quite excellent. When he was able to map some llama pictures onto the quakeman skin, and make it look good, the theme of our modifications, which we had been working on for a while, was born. (llamas got picked because of their legendary involvement in quake. Finger email@example.com for details).
Q: What does the hay do?
A: It prevents llama hunger, and allows a llama to heal up to full health. Additionally, if the llama is near the hay when he gets a survival bonus, that bonus is worth an extra frag for the whole team.
Q: The opposing team is grappled all around the hay, and I can’t unseat them, what can our team do?
A: Self-sacrifice. Get the mirror and flame runes the next time you die. Grab a quad damage, and run into the hay area. Get as close to the enemies as you can, being careful not to use rocket/grenade launcher, but rather the nailguns, shotguns, or lightning. While these runes aren’t the best pick all the time, they are very handy in this situation.
Q: How do I decide what runes to use?
A: This is a difficult decision, because you only get to choose once per life. (which as with CTF, is a deliberate decision)
Here’s my recommendations:
Armor: Best if you just died as the llama, because it will do you the most good.
Resistance: Good if you already picked up some armor, particularly if you are on a level lacking the quad-damage.
Immune to Fire: Good on levels with lots of grenades & rockets, and on levels with lots of lava. Can also be fun if there is a lightning, red armor, and lots of water.
Health Regeneration: Good if you just became the llama.
Mirror Damage: Good if you need to unseat a camper, or stooge bot.
Weapon Ammunition: Great on levels missing a weapon.
Damage: General purpose, good if you know your up against resistance or Immunity.
Haste: Good if you are up against Armor or Mirror or groups of enemies.
Fire: Great for unseating campers, and in levels with close hallways.
Piercing: Great on levels with lots of armor, or against those with armor rune.
Q: Can I Run KTL and CTF on my server at the same time.
A: Yes, but my experience is that it doesn’t really work. And chances are I’m going to go CTF-independent with version 2, because I don’t want everyone to have to have the CTF-levels pak to play KTL. A 5 meg download for levels that just don’t work with KTL is wasted.
Q: I don’t like all the levels that play, how can I get rid of them?
A: Look at the level function in llama.qc. It should be pretty obvious how it works, you just need a connected chain of levels to be returned. Make sure it loops to the start at the end. Again, my experience says that except for the levels which have always had lag problems, most of the id levels work for KTL, and in some cases work better for KTL than they do for deathmatch (because of the hay).
Artwork: Mike Scandizzo (firstname.lastname@example.org). Also some sound. And the web pages. QC Code: Doug McCreary (email@example.com). Also most of the sound.
Kill the Llama Server Instructions:
Create a llama directory under quake.
Set it up as though it was a generic ctf server.
Unzip the llamasrv.zip there.
Play with autoexec.cfg if you want. It uses teamplay settings from CTF. The default one I include is highly recommended. The only thing that some people may not like is deathmatch 3, but trust me on this, it really works better for KTL.
Report all bugs to me so I can fix them: firstname.lastname@example.org.
Suggestions, levels, ideas, models, soundfx are all welcome. If you have some code that you think fits KTL and you’d like to see it make the next version, send it to me so I can evaluate it.
QuakeWorld coming in version 2 (basically I’m waiting for the big breaking change in QW that carmack keeps talking about, and I have no intention of spending time on code that is going to get broken.)
CTF-independence will also be in version 2, I think. Basically all I use their code for right now is teampicking, grappling, and ctf-levels. The ctf-levels don’t work too well for KTL, because they were deliberately designed to have two hot areas, whereas KTL is all about having just one hot area. If you are designing a KTL level _KEEP THIS IN MIND_. Also, can someone tell me how to implement a custom entity ala the flags, so that we can have level designers place the HAY in specific locations? I want to do this in a nice worldcraft-compatible way (and to be compatible with any other editors as well if possible).
Toy with the .qc code if you’d like. 95% is in llama.qc, which is called via hooks from the original ctf/id qc code. If you do something cool with it, mail me the source and I’ll see about including it in a future version. The remaining 5% of changes are almost all withing client.qc, world.qc, and weapons.qc. Grep for llama and you have a pretty high chance of finding every file modified. Mail me your server IP and port #, and I’ll add it to the list on the KTL home page.
Thanks a lot for your interest in KTL!
– Doug McCreary aka LM_Surt
3/9/97 Last round of bug fixes, which have since been tested: debugging is mostly gone, radius calculation for flame fixed, think function optimized to reduce lag, llama scores an extra point on timeout if he is standing near the hay, lights up the silver key if you are the llama, llamas heal near the hay, no longer take damage for hitting mirrored teammates (need to remember to reimplement this for proper teamplay settings, so that people can use nasty-teamplay if they like), merged artifact prints into one line so we don’t scroll people so much! No bugs were reported in 5 hours of playing, so I’m going to release this as version one of the server code.
3/7/97 After an extremely successful test of KTL on thursday, I’m implementing some minor bug fixes. Llamas and players were skin-reversed, which was confusing. Some of the runes did not function if you were not a llama (got them inside the wrong set of braces). Making the health sound repeat less often. Making the radiant-damage (flame rune) not have the pulse effect on team members. Resetting some vars in players at level startup (particularly the scoring-rate var).
3/5/97 Hay is implemented, and I’ve started moving more of the functionality into the llama.qc file so that the port to quakeworld will be easier if it turns out to be necessary. I’ve also implemented a whole load of new sound stuff to create more of a ‘duke’ active environment. Lots of new sounds, both voice, and other fx. They hay should be the major gameplay change, however. The goal is to provide a central point of interest in the level, to parallel the bases of CTF, having one rather than CTF’s 2.
3/3/97 Second round of testing uncovered no major bugs! Moving version to one place in MOTD, to be synchronized more easily with packfile versions. Found a bug in the armor regen code which would give you red-armor effectiveness at yellow armor level. Amazingly, no one reported this. For balance, doubled damage of the ‘flame’ rune. Need to find some way to make this more obvious, hopefully through finding the ‘onfire’ code used by some other mods out there. Also, increased the damage of ‘mirror’ damage, because it was an ineffective defense rune. Planning on implementing ‘hay bale’ for this thursday, which should help to emphasize teamplay by creating a ‘king of the hill’ environment where both teams have a common objective, which should hopefully also fix my biggest complaint wrt CTF, which is that the two teams have disparate goals, and spend much of their time not in conflict (defending their bases).
2/28/97 First round of testing uncovered some bugs in implementing the ten runes. Fixed most of these for friday 2/28/97 match up.