Polycode er en fri, åpen kildekode (lisensiert under MIT-lisensen), og cross-platform "rammeverk for kreativ koding". Dette begrepet er sjelden hørt i spillutviklingssamfunnet, men hva det egentlig betyr er enkelt: Polycode gir deg verktøy for å uttrykke kreativiteten din via kode, og selv om den er fullt kvalifisert til å bære "spillmotor"Moniker, det foretrekker det ikke. Årsaken er enkel: Polycode kan (og ofte) brukes til prosjekter som omfatter mer enn interaktive spill, for eksempel visualiseringer som brukes til underholdning eller i vitenskapelige formål.
Jeg har brukt Polycode for for det meste små spill, men også for et utenom det vanlige zoomingsgrensesnittet og hadde like stor suksess i å utvikle alle prosjektene. La oss ta en titt på hva Polycode kan tilby deg, og forhåpentligvis få deg interessert i å lære å jobbe med dette fantastiske rammeverket.
Siden dette ikke er et salgsfremmende stykke for rammen, vil jeg prøve å understreke viktige funksjoner som kan være av interesse for spillutviklere uten å gå i overflødig detalj.
Disse er bare de viktigste funksjonene; Jeg utelatt mange andre, inkludert skjelettanimasjon, Unicode-klar TrueType-skriftgjenoppretting og Polycode IDE. En mer komplett (men likevel ikke uttømmende) liste kan bli funnet på den offisielle nettsiden.
Hvorfor et annet rammeverk? Hvorfor bør du til og med vurdere Polycode, enn si begynne å jobbe med det? Jeg kan ikke overtale deg; Jeg kan bare gi mine egne meninger og erfaringer og la deg være dommeren. Her er noen viktige fordeler med Polycode jeg har funnet i løpet av min tid med det.
Selv om Polycode er veldig ung, har det ganske mange prosjekter å stolthet på. De fleste av disse er ikke engang spill, men heller nyskapende bruksområder av våre velkjente gjengivelse, taktile, lyd og fysikk simuleringsteknologi. Her er det noe:
I musikkvideoen til sangen "Heaven" av Depeche Mode, regissert av Tim Saccenti, ble Polycode brukt til å lage dekorative fremspring på veggen bak bandet:
Fem HD-skjermer, administrert av fem datamaskiner, arbeider i synkronisering, alle drevet av Polycode. Denne datavegg visualiserer data fra 2012 U.S. Open, og har 3D-fysikk simulering, berørings tilbakemelding, overlaid 3D-grafikk og nettverk for å holde datamaskinene som viser dataene synkronisert. Utviklet av HUSH. Mer informasjon finner du på prosjektsiden.
Bygget av Ivan Safrin, samme mastermind bak Polycode-prosjektet, er Space Cruiser et tankespill som er designet spesielt for fremspring i et planetariumkuppel og samarbeidsprosjekt. Det ble premiere i Hayden Planetarium ved American Museum of Natural History. Polycode fullt ut styrker dette interaktive spillet, og gir høy dynamisk rekkevidde 3D-grafikk fra seks forskjellige datamaskiner, alle synkronisert med rammens nettverkskapasiteter. Du kan lese om dette spennende, surrealistiske spillet på prosjektsiden.
Du kan bruke Polycode både fra C ++, fra Lua, eller fra begge samtidig, koble fra spillets kjernemekanismer (ytelsesintensiv C ++) og dens logikk (skriptet, hot-swappable Lua). Hvis du bare bruker Lua, trenger du ikke kunnskap om det ganske komplekse språket C ++, og du kan starte prototyping med en gang i den store Polycode IDE, en integrert redaktør som følger med rammen.
Når du bestemmer deg for at du vil ha mer kontroll over det indre arbeidet, vil du finne deg selv i behov av C ++. Valget er ditt; Jeg foreslår at du ikke lærer C ++ hvis du ikke allerede vet det (spesielt hvis du ikke har tidligere programmeringskunnskap) med en gang. Lua er mye lettere, nybegynner-vennlig og enklere å lære, så det ville være din beste innsats. På den andre siden, hvis du er en erfaren spillutvikler som ønsker å bruke Polycode for komplekse, gjennomtenkte spill, bruker C ++ og Lua in tandem veien å gå.
For C ++ opplæringsprogrammer kan du henvise til cplusplus.com, stedet der jeg lærte nesten alt jeg vet om språket. Når det gjelder Lua, kan du referere til den uttømmende listen over opplæringsprogrammer på Lua-users.org Tutorial Directory, eller, hvis du foretrekker det, kan du kjøpe bokprogrammeringen i Lua som vil gi deg en solid base og dekke omtrent alt du trenger.
Å ha litt kunnskap om hvordan spill arbeid anbefales, men ikke egentlig påkrevd: du kan finne ut det selv hvis du følger de gode opplæringene på Polycode.org, referert til nedenfor.
Polycode er ung programvare; Faktisk, som skrevet, har den fremdeles ikke nådd versjon 1.0.0. De fleste prosjekter i denne tilstanden gir deg ikke forkompilerte binærbilder, og heller ikke Polycode; Men den offisielle nettsiden gir deg alt du trenger for å kunne få Polycode opp og kjører på maskinen din.
Se på siden på Polycode wiki, velg plattformen din (Polycode fungerer på Windows, Linux og OS X, med Android og iOS-støtte planlagt i fremtiden, så hold deg oppdatert), og du kan komme i gang! Byggeprosessen er enkel; Faktisk, på mitt Arch Linux-system var jeg i stand til å bygge rammen ved hjelp av CMake uten å til og med lese noen av instruksjonene.
Redaktørens notat: LanceJZ har lagt til noen tips for å få Polycode til å jobbe med Visual Studio i kommentarene. Takk, Lance!
Vi har skummet gjennom Polycode's fordeler, funksjoner, bemerkelsesverdige prosjekter, byggeprosesser, og nå kan vi få våre hender skitne og begynne å faktisk gjøre noe i det. Polycode-teamet har gjort en fantastisk jobb med å dekke mange nøkkelpunkter en sluttbruker trenger for å begynne å lage flotte spill, visualiseringer og lignende. Polycode-veiledningene finner du på opplæringssiden på den offisielle nettsiden.
Hvis du sitter fast og trenger detaljert dokumentasjon, kan du alltid referere til den offisielle dokumentasjonen, som du kan nå fra "lær" -siden på nettstedet. Hvis du fortsatt er fast, kan du alltid be om hjelp på forumet eller bli med på IRC-chatten på #polycode
på irc.freenode.net
. Samfunnet er vennlig og hjelpsom, og lederutvikleren selv svarer ofte på spørsmål fra andre, sammen med andre medlemmer av teamet. (Jeg har chattet med Ivan et par ganger på nettet, og han virker som en fin fyr.)
I denne artikkelen har jeg introdusert en veldig ung ramme med navnet Polycode. Vi har sett hvordan Polycode kan brukes som en spillmotor, så vel som for et bredt spekter av prosjekttyper; Jeg beskrev noen av sine hovedtrekk, sine unike fordeler og kule prosjekter som bruker det, og jeg gjorde mitt beste for å hjelpe deg med å komme inn i læringsprosessen i dette rammeverket. Glad Polykoding!