Siirry pääsisältöön
Massively Fun Pieni indie-studio, joka luo omituisia ja ihastuttavia pelejä – ja näyttää tarkalleen, miten rakennamme ne.

Osa tämän sivuston linkeistä on kumppanuuslinkkejä: voimme ansaita niistä komission, mikä ei lisää kustannuksiasi. Tämä ei vaikuta suosituksiimme. Lue lisää kumppanuusilmoituksestamme. Kumppanuusilmoitus.

Git pelikehitykseen

Massiivisen hauskaa Git pelikehitykseen Git pelikehitykseen 14. maaliskuuta 2012 Olen vuosien varrella käyttänyt useita eri versionhallintajärjestelmiä elokuva- ja pelituotannossa: CVS , Perforce , jopa muutamia talon sisällä kehitettyjä työkaluja. Ne ovat aina vaikuttaneet minusta kömpelöiltä, mutta välttämättömiltä pahoilta – korvaamattomilta suurten projektien työn seurannassa, mutta samalla jatkuvana sekaannusten, pullonkaulojen ja tuotannon jäykkyyden lähteenä.

Git tuli ensimmäisen kerran tutuksi noin kuusi kuukautta sitten. Se vaikutti uskomattoman tehokkaalta ja joustavalta. Massively Funin kehittäjät käyttivät sitä jo koodin kehittämiseen, kun liityin tiimiin. Olisin innoissani selvittänyt, saisimmeko sen toimimaan myös taiteen tuotannossa.

Tämä kirjoitus kertoo tarinan siitä, mitä tapahtui. Taustaa: Mikä on Git? Git on hajautettu versionhallintajärjestelmä . Lähes kaikki pelialalla työskentelevät tuntevat ennestään vähintään yhden muun versionhallintajärjestelmän, kuten Subversionin tai Perforcen .

Kuten nämä muutkin järjestelmät, Git antaa meille mahdollisuuden pitää kirjaa kaikista projektin tiedostojen eri versioista. Subversion ja Perforce ovat kuitenkin keskitettyjä järjestelmiä – kaikki tiedostot checkataan sisään tai ulos keskuspalvelimella sijaitsevasta arkistosta. Git on erilainen.

Se ei ole riippuvainen keskuspalvelimesta. Jokainen käyttäjä saa täysiverisen kopion koko arkistosta kaikkine historioineen ja versioineen. Tällä suunnittelulla on useita tärkeitä seurauksia , joista suurin osa on myönteisiä.

Mutta se, mikä tekee Gitistä silmissäni erityisen erottuvan, on tapa, jolla se tekee haaroittamis- ja yhdistämisoperaatioista lähes triviaaleja. Voit luoda haaran kokeellisen idean työstämiseen, toisen jonkin epäliittyvän ongelman korjaamiseen ja vielä kolmannen uutta ominaisuutta varten. Voit siirtyä nopeasti näiden eri haarojen välillä ja yhdistää ne tarvittaessa takaisin yhteen. Se on uskomattoman hyödyllinen ominaisuus.

Aiheeseen liittyvä: — Valmiita taidetta, työkaluja ja malleja, jotka putoavat suoraan Unity-projektiisi.

Kompastuskivet Huolimatta monista vahvuuksistaan, vakio-Gitissä on kaksi ilmeistä vikaa taiteen tuotannon kannalta: Se ei ole taiteilijaystävällinen. Gitin oletuskäyttöliittymä on komentorivi.

Opittavia komentoja ja vaihtoehtoja on paljon, ja siihen liittyy taustakäsitteitä, jotka poikkeavat tarpeeksi muista versionhallintajärjestelmistä aiheuttaakseen sekaannusta. Dokumentaatiota on runsaasti, mutta se on usein vaikeasti ymmärrettävää. Kaikki tämä muodostaa kokonaisuuden, joka ei ole kovin helposti lähestyttävä ja hieman pelottava. Sitä ei ole rakennettu hallitsemaan niitä suuria binääritiedostoja, joita taiteilijat tuottavat.

Koska jokainen paikallinen arkisto sisältää koko historian ja kaikki versiot, nopeasti muuttuva taideaineisto voi syödä levytilaa hyvin nopeasti. Kehitimme ratkaisut molempiin näihin ongelmiin. Käyttöliittymä merkitsee paljon Gitiin on olemassa useita hyviä graafisia käyttöliittymiä.

Meidän valintamme: — On-demand-kurssit, jotka kattavat Unity-, Unreal-, C++-, C#- ja Shader-ohjelmoinnin.

Taiteilijoiden on edelleen ymmärrettävä Gitin peruskäsitteet, mutta hyvin suunniteltu käyttöliittymä tekee sen omaksumisesta ja käytöstä huomattavasti helpompaa. Huomasimme, että Atlassianin SourceTree toimi erinomaisesti Mac-pohjaisessa ympäristössämme: se on tehokas, intuitiivinen ja ilmainen (toistaiseksi) – mikä on tärkeä näkökohta niukilla resursseilla operoivalle startup-yritykselle. SourceTree-tiimi vastasi myös nopeasti (< 12 tuntia) Twitterissä esittämiimme tukikysymyksiin.

Näppärä Git-laajennus Git-media korjaa Gitin puutteet suurten binääritiedostojen osalta. Se on Git-laajennus, jonka avulla voit tallentaa tiedostot Gitin ulkopuolelle.

Git seuraa edelleen tiedostoversioita; se vain tallentaa tiedostojen sisällön jonnekin arkiston ulkopuolelle. Suunnittelimme tallentavamme suuret binääritiedostomme Amazonin S3-pilveen. Ei aivan noin nopeasti SourceTreen käyttäminen Git-median kanssa tuo kuitenkin esiin yhden sudenkuopan: tiedostojen siirtäminen arkistojemme ja Amazon S3:n välillä vaatii shell-komennon suorittamista; eli $ git media sync Työnkulku, joka velvoittaa taiteilijat poistumaan graafisen sovelluksen suhteellisesta mukavuusvyöhykkeestä näpyttääkseen shell-komentoja, ei ole taiteilijaystävällinen.

SourceTree tarjoaa kyllä tavan suorittaa tämän komennon mukautettuna toimintona, mutta se ei ollut riittävän hyvä. Taiteilijoiden pitäisi silti muistaa tehdä se oikeina aikoina.

Ennemmin tai myöhemmin he unohtaisivat, ja joku tuhlaaisi arvokasta aikaa selvittäessään, mitä meni pieleen, ja korjatessaan tilanteen. Miten saisimme SourceTreen ja git-median toimimaan hyvin yhdessä? Git Wrap Kirjoitimme yleiskäyttöisen wrapper-skriptin, joka suorittaa valinnaisesti muita komentoja ennen varsinaista git-komentoa ja/tai sen jälkeen. Asetimme sen kutsumaan automaattisesti ‘git media sync’ -komentoa ennen komentoja, jotka ovat vuorovaikutuksessa etäarkiston kanssa, tai niiden jälkeen, tilanteen mukaan.

Konfiguroimme SourceTreen kutsumaan wrapperia vakio-Gitin sijaan. Wrapperin lähdekoodi on saatavilla täällä Githubissa . Seikkailu jatkuu Haluaisin kertoa, että tämä oli tarinan loppu, että SourceTree ja git-media toimivat saumattomasti yhteen ja että elimme onnellisina loppuelämämme.

Aiheeseen liittyvä: — Peliohjelmointikirjoja, mekaanisia näppäimistöjä, näyttöjä ja dev-desk-laitteita.

Ne toimivatkin itse asiassa tiettyyn pisteeseen saakka. Valitettavasti se ei ollut riittävän hyvä. SourceTree tekee normaalisti hyvää työtä kuvatiedostojen esikatselussa.

Tämä on taiteilijoille kriittisen tärkeää sitoutuessaan tai yhdistäessään muutoksia tällaisiin tiedostoihin. Git-median käyttäminen kuitenkin rikkoi SourceTreen kyvyn esikatsella näitä tiedostoja, koska se tarkoitti, että emme enää tallentaneet kuvia Gitiin; tallansimme vain versiointitietoja kuvista.

Emme löytäneet hyväksyttävää tapaa kiertää tätä; se oli kaupanteon estäjä. Tämän kirjoituksen kirjoitushetkellä teemme uuden yrityksen Gitin alimoduuliominaisuuden kanssa. Taideaineistojemme tallentaminen alimoduuliin on toinen tapa minimoida pääprojektin arkiston koko. SourceTree ymmärtää ja tukee alimoduuleja melko hyvin, ja sen kyky esikatsella kuvia säilyy ennallaan.

Jos olet ostoksilla: — Selainpohjainen, kooditon HTML5-moottori, joka viedään verkkoon, mobiililaitteille ja pöytäkoneille.

Alimoduuleilla on toki omituisia piirteitään, mutta mikään niistä ei näytä liian häiritsevältä taiteilijoiden työnkululle. Seuraa tätä paikkaa päivitysten varalta; kerromme, miten asiat lopulta käyvät. blogin kommentit powered by Disqus


Rakenna HTML5-pelejä selaimessasi

Selainpohjainen, kooditon HTML5-moottori, joka viedään verkkoon, mobiililaitteille ja pöytäkoneille