Creating a Tremulous package for short term LAN parties and the alike


#1

So there’s this thing at my university that allows clubs to play legacy games. Once I get around to fixing and figuring out how their launcher works (which gets around their network security that prevents people from playing games) I plan on getting them to add Tremulous to their list.
image
Recently they’ve added Halo:Combat Evolved and Urban Terror, which has been a success for getting people to come to the LAN party, and they’ve also been trying to get ioquake3 working too so I’ll probably help them fix that in the future, and I’ll also try to get them to add Tremulous to the list.

Now Tremulous is a pretty interesting game when it comes to “which version” to use. I’ll probably be using a BAT process (or in the case of my uni, probably JAVA) to execute custom commands like +set r_customheight (r_height for tremfusion).

Goals:

  • Easily installable/extractable (portable like perhaps enforcing fs_gamepath = fs_homepath = current extraction directory).

  • easy to set up a server (e.g. through a named BAT file) and run the client with logical default binds (can also be done through a named first startup bat file unless restricted by the launcher),

  • A small package of custom selected maps (e.g. Yalt’s prettied-up Tremor map, perhaps some mission maps although they shouldn’t be too difficult for newbies to complete in under 20 minutes like mission_one_b7 and rush_human-a2, nor highly likely to be boring for one team like tremship_b4, nor large like pulse_102 and GMOTW’s Skybox map). If I can confirm a way to get Blackout to work that’d be great. It requires AMP for 1.1 to work, it doesn’t really work on GPP without likely, DevHC’s (h)amsterdam server setup.

  • If possible, focus on one game mode although the possibility of multiple modes can be confirmed later.

Client versions: Respective DLLs to be included are those that comes with the respective client.

Stock 1.1 client: Honestly, I’ll just skip this. I’m not adding this one if I can help it. I’ll also avoid stock clients that only implement a few minor features that are only accessible through console like XserverX’s and GuID/backports and the alike.

Tremfusion: Fancy UI, supports high definition with a few button clicks although defualts to a rediculously large resolution, which actually isn’t an issue for my university screens, I think. Either way, I’ll probably be using custom startup commands as mentioned above. The default 1920x1280px resolution is a bitch but luckily my uni has 1920x1080 screens so that isn’t so much of an issue. Like I said, I’ll likely be starting the game up with custom commands so this shouldn’t be an issue, although if anyone knows how to auto set these values to the resolution of the player’s screen, let me know. Worst case scenario I could just use 800x600px quality and set windowed and let the player set it up themselves.

Stock GPP client: Segfault is a good alternative. Segfault uses a bunch of features from Tremfusion, but didn’t port over even half of its features. Segfault is GPP-only, unlike GHub’s client.

GrangerHub’s 1 .3 client: Has an options menu, avialable to both GPP and 1.1 game servers, no screenshots display however (not a priority feature anyway). Supposidly supports lua bindings but I gotta ask cron on the workings behind this. New official default binds are on the way but I don’t know when it’ll be distributed with the client. Most of GHub’s features are hidden.

Dedicated Servers Binaries: This step may be skipped.

  • 1.1ded: Honestly, at this point I might as well uses tremfusionded.

  • Tremfusionded: works on most versions of 1.1 game.qvms. Not suitable for zombies mode but that isn’t a priority function as this is meant to be a short term installation.

  • GPPded: Only works with GPP qvms like (presumably) New Edge.

  • GHubded: never had personal success with it. Once I set up my personal isolated testing environment I can try again later.

Game.QVM versions: (The ones listed are the ones I’m considering atm). They should have G_Unlagged because suprisingly, LAN parties at uni can provide up to 60msec of network latency.

  • Tremulous 1.1 (stock 90MB from tremulous.net) we all know is garbage. You can only execute one command globally, basically allowing for some real shitty bug exploits such as Q/Use or chat spamming as humans while away from base to prevent the enemy team from buying or evolving. Almost no servers use this specific game version, not even the now-offline lagged server “skittles”, or likely even the mysterious unnamed “Tremulous 1.1.0 server” that’s been floating on the server list for some time recently.
    Then there’s the 1.1 version(s) we’re mostly familiar with, as it is pretty much guaranteed that everyone has played this version of tremulous before. Those versions include Lakitu7’s improvement, and the further improvement done by Slacker/Google and many others in the verison commonly called Slacker’s. I like to call this vanilla-ish, and is the version that most people call vanilla 1.1. This includes changes such as the prevention of dragoon biting while in the air with a pounce trigger active (which also introduces bugs such as stacking pounce timers that prevents you from attacking enemies other than the use of the barb attack). For this context, I plan to use AussieAssault’s QVM if I can get a copy of it. A lot of grangerhub’s proposed fixes for their vanilla game mode (excluding slacker’s) involves quite a number of fixes that this QVM already has. For most part, it is very similar to Slacker’s. AussieAssualt’s preferred balance generlaly has 140 bp for both teams. This comes with the ability to mark-deconstruct with reload key although this qvm can be a little, uhh, “special” with its admin config. I’ll need to spend some time to set it up.

  • KoRx: I think this will go well with casual. You don’t have to sell equipement to buy new equipement but the advanced tyrant might be overkill for newbies. KoRx also defaults to 200 bp which is fine but I’m not keen on going any higher than 200 bp for a LAN package. KoRx also has a GPP-feel because it runs on Tremfusion’s base code that was modified to fit TremX gameplay (hence it is called KoRx, after TremX and the Knights of Reason clan). KoRx is nice and stable and most fatal bugs like those caused by vsays (yes, korx did suppor those once upon a time) are already patched out in the 0.3.2 version. I dunno what TheCamper’s changes to version 0.3.3 (european korx server specific) were though, and DoHx was mostly just a reskinned KoRx with P-Bot support, which isn’t necessary. I also think the pope hat for humans is rediculous and the advanced marauder skin is rather disgusting looking personally but whatever. VESD game-enders is very attractive to me though.

  • 1.2 GPP: Specifically I’ll probably try to get my hands on the latest 2011-08-08 QVM, which is actually surprisingly missing from my own backups and the repository guild backups(why? I dunno, maybe I just can’t find them). If someone could upload or point me to the specific gfx and vm pk3s that would be nice.

  • 1.2 (Github edition) - Requires its own dedicated server binary, I can refer to GHub’s binaries in this case hopefully, assuming it works on windows now (in the past they didn’t work with non-protocol 71 qvms though I never tried a protocol 71 qvm with it before)

  • GHub’s test balance mods: Questionable but it might work out well honestly. It plays very differently from Tremulous though. The beefed up structure health and always-carry-on ckit would come in handy for newbies.

  • Unvanquished…?

UI/CGame.QVM:

For most part I’ll just stick to the ones that are included with their respective game.qvms. Tremfusion’s cgame/ui.qvm will NOT be included in the package though since they actually have blank events which causes issues in-game. I did make a custom cgame.qvm that included custom death call events like "Victim forgot to step away from Killer's Grenade", variable-height third person view and speedometers built into the fps meter (which you may have seen in some of my old youtube videos) although for the sake of my own convenience I probably won’t be including them.

HUD:

I probably won’t be including custom HUD, and Oticz’ can be a nightmare to work with. KoRx has its own HUD too. But I’ll still consider using Oticz’ as it has a really nice main menu interface and array of custom HUDs for 1.1.

Default Binds:

I’ll probably be making them from scratch once I’ve decided on the game version to use. Basic plan is to use the modern WASD move, ctrl = crouch (with wallwalk toggle and a wallwalk animation speed of ~100 msec), auto-wallwalk pitching, keys 1 to + being the spawn/purchase/sell binds, T/Y for global/team chat, E to decon, Q to use, G/H for grenade, M to medkit, F to taunt, midle mouse for item use/alien barb, mwheel scroll and Z/X to select items, right mouse button for secondary fire and the alike. I’ll also probably be using my current setup with the arrow keys for armour purchase binds and I’ll be attatching “echo” messages to each bind to show what they do (e.g. pressing 1 will say "Spawn/Buy/Evolve to Dretch/Rifle) Recommendations accepted.

Maps: Because it will be newbies playing this game, hidden exploits (e.g. pulse_102) shouldn’t be an issue. Special maps requiring explaination for one team’s victory (e.g. snowvalley3) and maps where one team is likely to get bored (e.g. tremship) especially due to those that encourage jet camping (e.g. Chuck’s bedtime-final) and maps that do not have an objective (e.g. roflcoaster, diomedes, 1v1 training, deathrun/gauntlet) or difficult-to-end and bland looking maps (e.g. Tremulous Tower Defence Wars) should be avoided. The population of the LAN game can vary from as little as 4 to perhaps 20.

  • Defaults and their successors:

    • ATCS (probably use Ingar’s ATCSHD)
    • Arachnid2
    • Karith
    • Niveus (I can use GMOTW’s edition)
    • Nexus6
    • Transit
    • Tremor (I’ll probably use Yalt’s high definition edition)
    • Uncreation (preferably not, although it does allow for some varying gameplay with stage trigger doors)
  • Popular and used-to-be popular Non-defaults:

    • UTCS (final)
    • Nano (I don’t like this map though :<)
    • Gloom2/beta2
    • Thermal (too big + confusing?)
    • Pulse_102 (too big?) - I’ll likely use billy’s version in the case I do add it.
    • Bluedragon
    • Rotcannon (Whether I’ll use garbage or not or include both versions is up to you)
    • Cruz (I personally don’t like this map gameplay-wise either)
    • MEEP_b2 (I didn’t like the gameplay of this map, but it does feature an interesting shortcut trigger-delayed teleporter for humans to get to the alien base)
    • Treecannon (I’ll use GMOTW’s edit specifically)
    • OverTheHill (Was used a lot on R Funserver CZ and Wonderland and many other servers)
    • SectorB17 (iirc, this used to be popular in GPP. I don’t remember its layout)
    • Spacetracks (too big?)
    • Specula B4 (too big?)
    • Librelous (a.k.a. Xbox Tremulous april fools map, it actually plays quite decently well)
    • ATCS zone alpha
    • Metro (french subway)
    • Parpax (I don’t like its layout though)
    • Station 15
    • Gamma Core (iirc isn’t this a gloom map remake?)(can be a bit confusing to navigate)
    • Hamunaptra (egyption temple place)
    • Temple (south american style temple)
    • Highrise9 [beta 6] (assuming people don’t know the traps and easter eggs and exploits)

Anyway, help me decide what to include in the package. The package should not be that large, preferably with a total size less than 300MB. For reference, the Tremulous 1.1 (tremfusion binaries + dedicated server) package is about 100 MB.

Any more recommendations/choices you’d prefer for new players to enjoy the game more easily and longer are wanted.


#2

Actually it’s Pulse 1.1 (build 130)

Pulse’s size was roughly 20MB, it’s big mapping, but not like too big as Star ATCS (by yalt aka Matth)


#3

Sol is quite decent mapping and not too big places as I like it. But sometimes the match on Sol will ending quite fast.