Readme for FI alpha release 00000 - How to get things going $Id: QUICKSTART,v 1.1 2002/01/25 06:06:41 phaethon Exp $ http://www.icculus.org/fi/ PhaethonH Initial alpha release of Project FI ....................................... Table Of Contents 0. Background 1. Release Highlights 2. Testing sequences (how to get it going NOW) 3. Commands extensions 4. Weaponry 5. Things that don't work yet ....................................... ============= 0. Background ============= Project FI is a two-pronged project. One goal is to embed the programming language Scheme into Quake 3. The second goal is to reproduce Q2WF as much as possible. The author assumes the reader is familiar with the Weapons Factory family of modifications. ===================== 1. RELEASE HIGHLIGHTS ===================== * Scheme interpreter * Configurable weaponry ==================== 2. TESTING SEQUENCES ==================== * The "reload" command can be really SLOW. Even a K7/1200 can bog down for 10 seconds. Be patient. * IF you are testing with separate Q3 server and client processes, the lines marked "CLIENT>" are to be run on the client, and the lines marked "SERVER>" are to be run on the server-side, either at the server console or via rcon. * I recommend you start sequences with: SERVER> /devmap q3dm17 to enable development mode (aka cheat mode). Otherwise, you may have a difficult time testing all facets of FI. * Most people will not use separate processes, so the SERVER/CLIENT distinction can be ignored, and just typed out in sequence in the game console. Recommended bindings for first-timers: /bind MOUSE1 +attack <-- Primary fire /bind MOUSE2 +button12 <-- Secondary fire /bind MOUSE3 +button13 <-- Tertiary fire /bind SPACE +button14 <-- First offhand weapon /setoffhand1 10 <-- Sets grappling hook as first offhand weapon /bind v give all <-- Press 'v' to reload all weapons to max Sequence 1, FI weaponry: SERVER> /devmap q3dm17 SERVER> /reload (lag) CLIENT> /give all (test around) Sequence 2, Run-time weaponry alteration: SERVER> /devmap q3dm17 SERVER> /reload (lag) CLIENT> /give all (test a bit) SERVER> /scm (load #[fi-excess.cfg]) (lag) SERVER> /reparse CLIENT> /give all (test a bit more) SERVER> /reload (lag) CLIENT> /give all (test some more) Sequence 3, Scheme hooks in server-side code: SERVER> /devmap q3dm17 SERVER> /scm (trap-send-server-command 0 #[cp \qWelcome to FI\q]) (quickly look on client screen) ===================== 3. COMMAND EXTENSIONS ===================== Extra firing modes: * +button12 - secondary fire * +button13 - tertiary fire * +button14 - first offhand weapon (primary fire) (+attack remains primary fire, by the way) Extra client (playing) commands: * "setoffhand1" - weapon number to set as offhand (0 = none, 1 = gauntlet, 2 = machine gun, etc.) Extra server commands: * "scm" - execute parameters as Scheme code * "reread" - re-read "fi.cfg" for weapons description * "reparse" - parse Scheme variables to activate change of weapons parameters. * "reload" - reread and reparse combined * "dump_desc" - display interned weapons data =========== 4. WEAPONRY =========== (fi.cfg): No. Primary Secondary Tertiary 1 Gauntlet - - 2 Machine Gun - Debug Gun 3 Shotgun - - 4 Grenade Launcher Cluster Grenade Proximity Mine 5 Rocket Launcher Cl.Gren. Rocket Pogo 6 Lightning Gun Turret Grenade 100-PROX (DON'T USE THIS!) 7 Rail Gun Half Rail Gun Charging Rail Gun (release to fire) 8 Plasma Gun - Magnotron Grenade 9 BFG10K Homing Rocket RelentlessHomer 10 Grappling Hook - Ghetto JetPack Special notes: * Primary fire reflects the default Quake 3 weapons. * Debug gun is tactically useless. * DON'T USE LIGHTNING GUN TERTIARY FIRE! IT WILL LAG TO HELL! * Half Rail Gun takes half the recharge time to fire, does half damage, and knocks back a few hundred times harder than primary railgun. Illustrates: + Separation of recoil and reload time (jump between pri & sec). + knockback value separated from damage value. * Proximity grenades and Turret grenades currently have no limits on deployed. Please don't spam. Illustrates: + Automated weaponry + Limited-shots for grenades * Charging Rail Gun is a prototype for the Sniper Rifle. Nothing different happens as a result of charging, but the charge time is noted on the server side. Illustrates: + Weapon fire charging. * Magnotron Grenade applies a linear vector adjustment to the target. It's possible for a victim to wind up in a circular orbit _around_ the grenade. Illustrates: + Magnotron effect * Pogo is an idea shamelessly taken from Alliance CTF. It allows rocket- jumping without causing damage to yourself (or anyone else). Illustrates: + Separation of knockback from damage. + How funny it is to run up to someone and whack 'em with a pogo. * Ghetto JetPack is a prototype jetpack. It merely turns on the "flight" bit for a player, causing the same effects as the "Flight" powerup. A jetpack "shot" will expire in 10 seconds. Illustrates: + Jetpack + Undrawable things that hang in the air and disappear after a time. * 100-PROX is an example of an extrememly spammy weapon. In fact, it's so spammy that, not only will the server lag for a few seconds, but the mines will fail to go into prox-check mode. Illustrates: + How people can create extremely stupid weapons easily. + How NOT to create a weapon. + DON'T USE LIGHTNING GUN TERTIARY FIRE! (fi-excess.cfg): No. Primary 1 Instagib Gauntlet 2 Hyper Machinegun 3 Railslug Shotgun 4 Touch Grenade Launcher 5 Rapid-fire Rocket 6 Splash-Enhanced Lightning 7 Turbo Railgun 8 Spread Plasma Gun 9 Excessive-Overkill BFG10K 10 Grappling Hook Special Notes: * Weapons based on Mr. Pant's Excessive Overkill Q3 mod. * Self-damage is NOT reduced! Watch out! * Grappling hook does nothing special. It doesn't even move faster. ============================= 5. THINGS THAT DON'T WORK YET ============================= These are features mentioned somewhere in code or configuration, but does not yet work. * Classes. * Devices (alarms, lasers, sentry guns) * Stinger-style homing. Currently, homing is limited to just merely targetting any non-teammate players. * Obituaries (MOD, Means Of Death messages) don't appear correctly.