BZFlagga
Originalförfattare | Chris Schoeneman |
---|---|
Utvecklare | Tim Riker, David Trowbidge, Sean Morrison |
Stabil frisättning | 2.4.26 / 20 november 2022
|
Förvar | |
Skrivet i | C++ |
Typ | Förstapersonskjutare |
Licens | Endast LGPL-2.1 och MPL-2.0 (dubbellicensierad) |
Hemsida |
BZFlag (en förkortning för Battle Zone capture the Flag) är ett gratis och öppen källkod , multiplayer online , tankspel.
Utveckling
Inspirerad av Battlezone skrevs BZFlag först i C av Chris Schoeneman 1992, som en del av hans studier vid Cornell University . BZFlag kallades från början "bz" och trots dess likhet med SGI-spelet med samma titel av Chris Fouts är spelen helt oberoende av varandra.
1993 släpptes BZFlag till allmänheten för första gången. Den här utgåvan tog en ny vändning jämfört med äldre versioner efter att en fuskare, som redigerade sin klients källkod för att ge sig själv krafter som inte kommer från officiella utgåvor, inspirerade Schoeneman och Pasetto att lägga till "superflaggor". Superflaggor påverkar en tanks prestanda genom att lägga till förmågor eller vapen till dess arsenal. De första fyra flaggorna var High Speed (förstärkt tankhastighet), Quick Turn (tanken vände snabbare), Rapid Fire (skotten rörde sig snabbare) och Oscillation Overthruster (tanken kunde gå igenom föremål). Det fanns bara en av varje flagga, och alla flaggor hade en markör på sig så stridsvagnar visste vilken typ det var. Strax efter lades dåliga och bra flaggor till, och idén är fortfarande en del av spelet idag; dock har flaggor inga markörer och flaggtypen är okänd för spelaren tills den plockas upp (såvida inte spelarens tank bär en identifieringsflagga).
1997 kom releasen av version 1.7d med en banbrytande ny funktion: en offentlig serverlista i spelet. Tidigare var spelarna tvungna att antingen sätta upp sina egna servrar, känna till servrar eller läsa en lista publicerad och underhållen av en tredje part. Nu finns serverlistan på den officiella BZFlag-webbplatsen och låter vem som helst spela spel på servrar som väljer att vara offentliga.
Schoeneman skrev så småningom om BZFlag i C++ för SGI:s tredje IndiZone-tävling, som vann i kategorin "Reality Engine". Tim Riker fick senare projektet före version 1.7e att underhålla och utvecklas. BZFlag är skrivet i C++ och använder OpenGL för rendering. Dess ljud och flera andra undersystem har skrivits med OS-specifika metoder, även om nyare versioner använder SDL för att utföra lågnivåoperationer på alla plattformar. Texturer för objekt i spelet laddas från PNG- filer; ljud, från WAV . Zlib används för att dekomprimera datafiler, som skrivs i C.
Utvecklare
Antalet bidragsgivare till projektet har stadigt ökat över tid. Projektet uppmanar alla tillräckligt erfarna utvecklare att bidra. Även om det för närvarande finns 64 listade utvecklare, är ett mycket mindre antal av dem aktiva bidragsgivare.
Utvecklare kan redigera vilka som helst av projektets filer för att göra ändringar när som helst. Men när en utvecklare har gjort en redigering som andra utvecklare inte godkänner, eller är olämplig för spelet, uppmanas de att återgå till den tidigare versionen av filen; de flesta utvecklare övervakar källredigeringar på IRC.
Upphovsrättsinnehavaren för spelet är Tim Riker men underhållet leds av Scott Wichser och Jeff Makey som projektledare. Spelets ursprungliga författare, Chris Schoeneman, är inte längre involverad i utvecklingen.
Gameplay
I ett spel BZFlag kör spelare runt tankar, sedda från en förstapersonsvy, i en serverdefinierad värld (även känd som en "karta"), som kan modifieras. Tankar har förmågan att köra genom andra tankar, men kan inte resa genom byggnader eller andra världsobjekt. Det grundläggande målet är att förstöra motståndarnas tankar, som är tankar av ett annat lags färg. Eftersom alla spelare kan se positionen för alla stridsvagnar på sin radar, är det ett spel att utmanövrera snarare än att smyga.
Det finns spelstilar som ändrar målet. Stilar är serverbaserade, eftersom serveroperatören väljer vilken stil som ska vara värd. Om det inte finns någon speciell stil indikerad av serverägaren, är det enda målet ovanstående (att helt enkelt döda motståndarstridsvagnar); det kallas "gratis för alla", eller "FFA" för kort.
Det finns tre andra mål och motsvarande stilar (fyra totalt): en stil som kallas "capture-the-flag" (eller "CTF" för kort) där stridsvagnar försöker plocka upp en motståndares flagga och föra till sin egen hemmabas , en stil som kallas " kaninjakt " där målet är att få varje jägare (orange) tank att försöka förstöra en viss vit tank, kallad "kaninen", och en stil som kallas "King of the Hill", där ett lag försöker att vistas i ett visst område i 30–60 sekunder utan att dödas. Om de lyckas blir det laget "The King of the Hill".
Servrar kan ändra spelläget och få skräddarsydda kartor för att passa spelets egenskaper. Vissa trösklar används för att fånga illvilliga spelare och sparka dem från servern, såväl som meddelandefilter och en hel samling andra antifuskfunktioner. Det finns runt 250 servrar aktiva vid varje given tidpunkt (även om endast cirka 10-20% har aktiva spelare för det mesta).
Lag
Tankar kan gå med som en av de fyra lagfärgerna, som en skurk eller som observatör. Observatörer kan inte spela, men kan röra sig var som helst i världen och titta på vad tanken de är länkade till gör. Observatörer har ingen stridsvagn och är därför inte synliga för spelare, utan visas på resultattavlan. De färgade lagen är röd, grön, blå och lila. Rogue spelare är laglösa spelare: de får döda färgade lagspelare och andra skurkar. Rogue stridsvagnar är färgade mörkgrå ut genom fönstret och gula på radarn.
I kaninjaktsspel finns det en vit tank, känd som "kaninen", mot de orangebruna "jägarna" eller varannan spelare. Jägarna anses vara ett team, så kaniner med folkmord, stötvåg, guidade missiler eller laserflaggor är farliga, och ofta sker lagdöd på grund av ett gruppangrepp på "kaninen".
Lag är nödvändiga i capture-the-flag-spel, där de måste skydda sin lagflagga från tillfångatagande. Eftersom skurkar ibland är tillåtna på servrar, har en skurkstridsvagn inte någon flagga att försvara, och kan i sin tur inte fånga flaggor. Men skurkar tenderar vanligtvis att hjälpa andra lag att välja, eller bara njuta av att lägga till en distraktion för alla lag. Det finns en plugin för att förhindra detta, men den används bara på servrar med två stora lag och en eller två oseriösa spelare.
Kartor
En BZFlag-server kan konfigureras för att skapa en grundläggande, slumpmässig karta för spel, eller så kan användare ladda anpassade kartfiler. BZFlag använder ett anpassat textbaserat kartformat för att definiera placeringen av objekt. Även om det är ganska enkelt att skriva en karta i det här formatet, använder de flesta karttillverkare ett 3d-modelleringsprogram som Wings 3D eller blender . Grafiska kartredigerare, BZEdit eller iBZEdit har också använts. Observera att BZEdit inte distribueras med spelet och inte längre är under aktiv utveckling (versioner av det finns tillgängliga på BZFlag SourceForge.net-webbplatsen). Men att använda mixer i kombination med en BZFlag kartplugin är för närvarande den mest populära kartläggningsmetoden.
När det gäller kartornas enkelhet finns det ett antal grundläggande objekt i en karta: lådor, pyramider, teleporterare, koner, bågar, cylindrar, sfärer, lagbaser och maskor . Teleportörer är rektangulära objekt med gul kant som teleporterar en tank till en annan teleportör. En kartmakare kan välja att inte ha en teleporter som teleporterar tankar genom att utelämna länkar eller enkla definitioner av två punkter för teleportörer att länka mellan. Teleportörer kan också teleportera till sig själva, reflektera kulor och tankar som kommer in. Lagbaser används för spel i CTF-stil. Fullständiga tredimensionella maskor har varit tillgängliga i kartor sedan 2.0-släppet.
Flaggor
BZFlag har tre typer av flaggor: lagflaggor, dåliga flaggor och superflaggor. Lagflaggor placeras endast i en värld under ett capture-the-flag- spel och representerar laget det är färgat till. Superflaggor är flaggor som kan finnas i både gratis-för-alla-spel och capture-the-flag-spel, men som är starkt kontrollerade av en serveroperatör. Antalet, typerna av superflaggor, samt var de är placerade kan alla styras av operatören. Superflaggor kommer i både dålig och bra form, och påverkar en tank därefter. En dålig flagga kan ta bort en viss känsla av tanken: dess syn, hastighet eller relaterade saker, medan en bra flagga gör motsatsen och faktiskt hjälper en tank. Bra superflaggor hålls vanligtvis tills tanken dödas och exploderar, eller tills spelaren som kör tanken väljer att släppa flaggan. Dåliga flaggor släpps efter en kort tid, efter ett visst antal "vinster", eller tills tanken dör. Reglerna för att släppa dåliga flaggor bestäms av operatören. Alla superflaggor har en en- eller tvåbokstavskod som visas bredvid en spelares namn på resultattavlan när den spelaren har den flaggan. Då och då introduceras en ny flagga som vem som helst kan bidra till via utvecklarkontakt eller wikin .
Servermiljö
Servrar har miljöer som simulerar den verkliga världen. En servers miljö består av tre saker: kartan i spel, tiden på dygnet som simuleras och väderförhållanden, som introducerar element som spelarna inte har kontroll över, som regn, snö, isig och/eller halt mark, modifierad friktion och gravitation och dimma. BZFlag tar den lokala tiden från serverns geografiska plats och skapar en natt- eller dagstämning i bakgrunden. Servrar kan synkronisera den lokala servertiden eller tillåta spelare att ändra tiden till vilken tid de önskar.
kritisk mottagning
BZFlag valdes sommaren 2015 som "HotPick" av Linux Format . BZFlag valdes till Månadens SourceForge.net -projekt för april 2004. Både Free Software Magazine och Linux Magazine noterade att BZFlag var roligt att spela och lämpligt för yngre spelare.