# BZFlag

BZFlag (abreviació de Battle Zone capture the Flag) és un videojoc escrit originalment per Chris Schoeneman. Actualment està mantingut per Tim Riker, i un equip d'administradors del projecte. Està distribuït sota la GNU Lesser General Public License, versió 2.1. Tot i que fou desenvolupat originalment per ordinadors amb IRIX, el joc s'ha traduït a altres sistemes operatius com GNU/Linux, Windows, Mac OS X, BSD i Solaris, entre d'altres.
BZFlag és força popular, sent el tercer joc de SourceForge.net a arribar a 1 milió de descàrregues l'11 de desembre de 2004. Hi ha uns 250 servidors actius, i el 23 d'abril del 2008 hi havia 19.300 jugadors registrats als fòrums oficials del BZFlag. El BZFlag va ser seleccionat com a Projecte del Mes de SourceForge a l'abril del 2004. El BZFlag ha estat traduït a 12 llengües a part de l'anglès: Txec, danès, alemany, lituà, espanyol, francès, italià, neerlandès, leet, kikongo, portuguès, redneck i suec.

## Resum

En una partida del BZFlag, els jugadors condueixen tancs, vistos des d'un punt de vista en primera persona, en un món definit pel servidor (també conegut com a "mapa"), que pot ser modificat. Els tancs tenen l'habilitat de conduir per altres tancs, però no conduir a través d'edificis o altres objectes com piràmides. L'objectiu bàsic és destruir els tancs dels contrincants, que són tancs d'altres que el de l'equip. Per exemple, els tancs verds han de destruir els vermells, violats, blaus i els rogue. Els Rogue no tenen aliances amb ningú teòricament i poden destruir qualsevol tanc.
Hi ha diferents estils de joc que modifiquen l'objectiu. Si no hi ha cap estil en concret triat pel propietari del servidor, l'únic objectiu és el mostrat a dalt (simplement destruir la resta dels tancs dels altres equips), anomenat Free for All (abreujat FFA, Lliure per tots).
Hi ha tres altres objectius i estils corresponents (quatre en total): un estil anomenat "capturar la bandera" (capture-the-flag en anglès, abreujat CTF) en què els tancs intenten agafar una bandera dels contrincants i portar-la a la seva base (una àrea petita marcada amb el color de l'equip i que és simplement la "seu" de l'equip), un altre estil anomenat "capturar el conill", en què l'objectiu és que cada tanc caçador destrueixi un tanc blanc, anomenat el "conill" i un estil anomenat "El Rei del Turó", en què l'objectiu és que cada tanc intenti quedar-se en una àrea durant 30 segons sense ser destruït. Si ho aconsegueixen, són els "Reis del Turó".

### Equips

Els tancs poden jugar en una partida amb qualsevol dels 4 colors d'equip, com a rogue o com a observador. Els observadors no poden jugar: observen a un jugador i veuen tots els seus moviments. Els equips amb color són: el vermell, el verd, el blau i el lila. Els rogue són de color gris fosc a la finestra, i de groc al radar.
Moltes vegades els equips no són gaire útils en les partides lliure per tots. Si algun jugador té la bandera Genocidi (vegeu més avall), pot destruir tot l'equip si només en destrueix un membre. També és molt difícil cooperar, i, de vegades, un jugador pot destruir un company d'equip.
En partides de capturar el conill hi ha un jugador blanc, conegut com el "conill", que intenta esquivar i sobreviure als atacs dels caçadors, que són la resta de jugador. Es considera que els caçadors formen un equip.
Els equips són necessaris en partides de capturar la bandera, en què han de protegir la seva bandera perquè l'altre equip no la capturi.

### Intel·ligència artificial

El BZFlag utilitza la Intel·ligència Artificial de dues maneres: quan un jugador utilitza el mode "autopilot" i els robots controlats pel servidor. Tots els robots poden utilitzar les mateixes funcions que els jugadors humans. Per tant, els robots i els tancs autopilotats poden agafar banderes i utilitzar-les de la mateixa manera que els jugadors humans, tot i que actualment, la IA no esquiva totes les bales, i tampoc salta correctament.

## Història

Chris Schoeneman va programar el primer projecte en C el 1992, basant-se en el joc Battlezone. Originalment, el BZFlag s'anomenava "bz" i malgrat que s'assemblava molt al joc amb el mateix títol de Chris Fouts, els dos jocs eren completament independents l'un de l'altre. Al principi, el BZFlag era un simple joc de disparar, sense cap altra funció. Tanmateix, després Schoeneman i el seu amic Rick Pasetto (que l'havia ajudat a desenvolupar el BZFlag des del principi) se'n van cansar, i van inventar el mode de capturar la bandera. Aquest requeria estratègia i talent, i ajudava a donar varietat i mantenir l'interès.
El 1993 el BZFlag es va publicar per primer cop. Les primeres quatre banderes van ser Alta Velocitat (augmentava la velocitat del tanc), Revolt Ràpid (el tanc girava més ràpid), Tir Ràpid (els trets anaven més ràpid), i Oscillation Overthruster (el tanc podia travessar els objectes). Només hi havia una bandera de cada, i les banderes tenien un senyal que indicava quina era cadascuna.
Més endavant, es van afegir les banderes "bones i dolentes", i la idea continua formant part del joc; encara que ara les banderes no tenen cap senyal que les identifiqui i, per tant, no es pot saber quina és fins que s'agafa (llevat que es tingui la bandera Identificar).
El 1997, la versió 1.7d incloïa una nova característica: una llista de servidors inclosa en el joc. Abans, els jugadors havien d'establir el seu propi servidor, i tenir-ne coneixement, però aquesta nova característica (hostatjada al web oficial del BZFlag, encara avui) permetia a tothom a jugar partides a servidors que haguessin decidit ser públics.
Schoeneman va reescriure el BZFlag en C++. Des de la versió 1.7e Tim Riker manté el projecte.

## Banderes

El BZFlag té tres tipus de banderes: les d'equip, les dolentes i les superbanderes. Les banderes d'equip només s'utilitzen en el mode "capturar la bandera", i representen l'equip del color de la bandera. Les superbanderes poden estar tant en partides d'estil lliure (Free for all, FFA) com en el mode de "capturar la bandera", però són controlades pel servidor. El servidor tria la quantitat, els tipus, i on es col·loquen les superbanderes. Les superbanderes tant poden ser bones com dolentes, i afecten al tanc segons com siguin. Una bandera dolenta pot treure algun sentit al tanc, com la visió, la velocitat, etc., mentre que les superbanderes fan l'oposat i ajuden al tanc. Les bones superbanderes normalment són posseïdes pel tanc fins que aquest mor, o fins que el tanc es vulgui treure la bandera. Les banderes dolentes es treuen després de cert temps (normalment alguns segons), o quan el tanc mori (que és estrany). Les regles sobre les banderes dolentes són fixades pel servidor. Aquí sota hi ha una llista de banderes bones i dolentes, el seu codi, i la seva descripció:

### Banderes bones

| Nom en anglès | Nom en català | Codi | Descripció |
| Agility | Agilitat | A | Proporciona una acceleració més ràpida i una velocitat màxima més alta, normalment pocs segons després de parar i tornar a accelerar. |
| Burrow | Subterrani | BU | El tanc s'enterra, i no pot ser tocat per tirs normals, encara que pot ser aixafat. El tanc es mou més lent. |
| Cloaking | Invisible | CL | El tanc es torna invisible a la pantalla dels altres jugadors; no pot ser tocat pel làser. És visible pel radar. |
| Cloaked Shot | Tir invisible | CS | Els tirs que un jugador tira són invisibles a la pantalla, però visibles al radar. La llum que emet el tir també es pot veure per la pantalla. Aquesta bandera no és inclosa a la versió actual del joc, s'inclourà a la versió 3.0 |
| Genocide | Genocidi | G | Matant un sol jugador d'un equip es mata l'equip sencer (si en lloc de matar un jugador d'un altre equip es mata a si mateix o a un company d'equip els efectes són els mateixos). |
| Guided Missile | Míssil Guiat | GM | Tira míssils que segueixen a un jugador que prèviament s'ha d'haver apuntat. No pot apuntar a jugadors amb la bandera "Invisibilitat". |
| High Speed | Alta Velocitat | V | Augmenta la velocitat al màxim. |
| Identify | Identificar | ID | Identifica la bandera més propera. |
| Invisible Bullet | Bala Invisible | IB | Els trets són invisibles al radar. |
| Jumping | Saltar | J | El tanc pot saltar (si el servidor no ho desautoritza especialment). |
| Laser | Làser | L | Tira un làser amb una velocitat i límit infinit. |
| Low Gravity | Poca Gravetat | LG | La gravetat disminueix i el tanc pot saltar més alt. Aquesta bandera no és inclosa a la versió actual del joc, s'inclourà a la versió 3.0. |
| Machine Gun | Metralladora | MG | Les bales es carreguen més fàcilment, però la distància dels trets és limitada. |
| Masquerade | Disfressa | MQ | En la pantalla de l'oponent, veu el jugador com un aliat. |
| Narrow | Estret | N | El tanc és molt petit quan es veu frontalment, però pels costats la mida és la mateixa. |
| Oscillation Overthruster | Oscillation Overthruster | OO | El tanc pot travessar els objectes. Mentre està dins d'un objecte, no pot tirar trets o anar enrere. El nom fa referència a la pel·lícula Les aventures de Buckaroo Banzai a través de la 8a dimensió. |
| Phantom Zone | Zona Fantasma | PZ | Pots entrar a la "Dimensió fantasma" passant per un teletransportador, i tornar a la "dimensió normal" tornant-hi a passar. Quan un tanc està en la "dimensió fantasma", pot anar a través d'objectes, no pot ser tocat però tampoc pot disparar (tot i que pot ser tocat i pot disparar a altres tancs en la dimensió fantasma), però pot ser destruït per una "Zona destructiva" o una "Super-bala". No et pots treure la bandera quan estàs a la dimensió fantasma. L'herba esdevé lila a la dimensió fantasma. El nom fa referència als còmics de Superman. |
| Quick Turn | Revolt Ràpid | QT | Gira més de pressa |
| Rapid Fire | Tir Ràpid | RF | Els trets van més ràpid però tenen una distància limitada. |
| Ricochet | Rebot | R | Permet que els trets rebotin amb els objectes (només en servidors en què no hi ha rebot). |
| Seer | Visionari | SE | Pot veure els tancs invisibles (tant a la pantalla com al radar), els "disfressats" i les bales invisibles com si fossin normals. |
| Shield | Escut | SH | El tanc pot ser tocat sense morir un cop, ja que després es treu la bandera. |
| Shockwave | Ona destructiva | SW | El tanc treu una ona expansiva en forma de closca letal en lloc de bales normals. La mida de l'ona pot ser fixada pel servidor. |
| Super Bullet | Super Bala | SB | Les bales poden travessar els objectes i poden matar tancs en la "dimensió fantasma". |
| Stealth | Invisibiltat | ST | El tanc és invisible al radar; no pot ser apuntat per un míssil guiat, encara que pot ser tocat sense ser apuntat. |
| Steamroller | Aixafador | SR | Pot matar altres tancs tocant-los. |
| Thief | Lladre | TH | El tanc és petit i ràpid, i pot robar banderes dels altres tancs disparant-los. La distància és limitada i la bandera es treu un cop es roba una bandera. |
| Tiny | Xic | T | El tanc és petit en longitud i amplada. |
| Useless | Inútil | US | Res. |
| Wings | Ales | WG | El tanc pot saltar un nombre determinat pel servidor de vegades a l'aire i pot conduir-hi. |

### Banderes dolentes

* Blindness (B)
* Bouncy (BY)
* Colorblindness (CB)
* Forward Only (FO)
* Jamming (JM)
* Left Turn Only (LT)
* Momentum (M)
* No Jumping (NJ)
* Obesity (O)
* Right Turn Only (RT)
* Reverse Only (RO)
* Reverse Controls (RC)
* Trigger-Happy (TR)
* Wide-Angle (WA)

### Banderes d'equip

Banderes d'equip :
| Bandera | Abreviació |
| Bandera vermella | R* |
| Bandera blava | B* |
| Bandera verda | G* |
| Bandera lila | P* |
Les banderes d'equip es creen pel servidor en el mode de capturar la bandera. Perquè hi hagi una bandera d'equip, hi ha d'haver com a mínim un jugador en aquell equip. Quan es captura la bandera, aquesta es retorna a la base de l'equip. Si la bandera es deixa en un "posició dolenta", es torna cap a un lloc segur. Les posicions dolentes són a dalt d'un edifici o a bases enemigues. Les banderes es poden deixar a una base d'equip només per un tercer jugador: per exemple, quan un jugador blau deixa la bandera vermella a la base verda.
Es captura una bandera quan un tanc deixa una bandera enemiga a la seva pròpia base o quan un tanc porta la seva bandera cap a una base enemiga, encara que no hi hagi ningú en aquell equip.
Els rogue són un equip que no té base pròpia, per tant no poden capturar banderes. El que sí que poden fer és moure d'un lloc a un altre una bandera d'equip, i sovint ho utilitzen per ajudar-ne a un.

## Desenvolupament
### IRC

Els desenvolupadors han creat un canal IRC a irc.freenode.net, sota el canal BZFlag. Aquest fou creat per discussions generals del BZFlag però és usat per discussions de desenvolupament. Un altre canal oficial #bzchat, fou creat per converses menys serioses.

## Referències

* ↑ Llicència del BZFlag - GNU Lesser General Public License Arxivat 2008-09-26 a Wayback Machine.. (anglès)
* ↑ «Estat actual del BZFlag». Arxivat de l'original el 2008-09-08. [Consulta: 6 febrer 2021].
* ↑ Fòrum oficial del BZFlag. My.bzflag.org.
* ↑ «abril 2004 - BZFlag». Project of the Month. SourceForge, Inc., 2004. [Consulta: 3 setembre 2007].
* ↑ Wiki del BZFlag - Història del projecte.
* ↑ BZFlag Wiki, Flag List - Team Flags. (anglès). Accedit el 17 de gener del 2009.
* ↑ BZFlag on IRC

## Enllaços externs

* BZFlag.org
* Wiki oficial del BZFlag