A következő címkéjű bejegyzések mutatása: game developing. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: game developing. Összes bejegyzés megjelenítése

2014. május 8., csütörtök

MOBA SK Projekt - Előkészületek

Mint a bevezetőben említettem, nem fogok mindent lépésenként részletezni, ha esetleg káoszt érzel az itt leírtak kapcsán, nézz utána! Bár sokan úgy gondolják, hogy a félangol-félmagyar mondatok idegesítőek, itt bizony csak ilyeneket fogsz találni. Ennek nem szókincsbeli hiányosságom az oka, egyszerűen csak bizonyos szakszavakat érdemes megtanulni, hogy tudj keresni rá, ha netán valahol elakadsz.
Egy lehetőség: http://unity3d.com/learn/tutorials/modules

Terrain előkészítése:
Nem kell túl gondolni a dolgot. Egyenlőre bőven elegendő ha van egy terrain-ünk, egy-két directional light-unk és egy Main Cameránk a scenen. Később majd kell valamennyit alakítani rajta, de egyenlőre még textura sem szükséges hozzá.

Character prefab létrehozása:
Nem szeretem kockákkal (értsd mindenféle grafika nélkül, egy kockát tologatva) kezdeni a fejlesztést. Korábban kihagytam a karakter kinézetét és az animációt, aztán előfordult, hogy újra kellett gondolnom pár dolgot mikor be akartam rakni őket. Úgyhogy már az elején érdemes szerintem egy humanoid charactert lérehozni (vagy amilyet akarsz).

Én alapvetően Mecanim animáció rendszert használok, Root Motionnal, a karakterre pedig rigidbody-t és capsule collidert teszek. Vannak akik a Character controllert jobban szeretik. Ezen lehet vitatkozni, de egyrészt kényelmesebb az első megoldás, másrészt a unity csapata és közössége is erre felé hajlik inkább.
A mecanim rendszer nagy előnye hogy átirányítható (retargetable) animáció rendszert lehet vele létrehozni. Az átirányíthatóság azt jelenti, hogy egyik modellen lévő animációt könnyedén alkalmazhatod egy másik modellen.

Retargetable Character
A Sample Assets Beta csomagban találtam egy ötletes megoldást erre (nekem újdonság volt, bár lehet csak bamba voltam :D): egy Empty GameObject-ből készítünk prefabot. Erre rakunk egy Animator komponenst, ide helyezzük a Animator Controllerünket. Magát a tényleges karakter modelt ebbe az Empty-be fogjuk berakni gyermek objektumként. A megoldás szépsége, hogy a modelt akár futás közben is létrehozhatjuk, vagy váltogathatjuk. Ehhez persze kell, hogy amikor új model kerül a Character prefab-ba, megadjuk neki az aktuális avatárt amire az animátornak hatnia kell. Mivel egyenlőre nem akarjuk dinamikusan váltogatni, elég a scene indításakor megtenni:

void Start () 
{
   anim = GetComponent();
   foreach (Animator childAnimator in GetComponentsInChildren()) 
   {
      if (childAnimator != anim) 
      {
          anim.avatar = childAnimator.avatar;
          Destroy (childAnimator);
          break;
      }
   }
}
A fenti script végignézi az összes olyan gyermek objektumát a karakernek, amin van Animator komponens. Fontos észben tartani, hogy a GetComponentsInChildren 0. eleme maga a karakter objektumunk lesz (hiszen annak is van Animator komponense).
Amikor megtaláltuk, beállítjuk az Avatárt, majd töröljük a gyermekről az Animatort, hiszen innentől kezdve nincs szükségünk rá.

A következő lépés, hogy össze kell raknunk, egy nagyon egyszerű animator controllert. Én egészen konkrétan két teljes animációt raktam bele, mind a kettő a Sample Asset Beta-ból van. A flowchartom így néz ki:
Nagyon egyszerű animation flowchart
Egyetlen paramétert határoztam meg speed néven. Ami fontos lehet (főleg később), hogy a Transaction ablakban az Atomic ne legyen bepipálva! Ez annyit mutat, hogy az animáció megszakítható-e bármikor. Ha be van pipálva, akkor csak bizonyos pontokon szakítja meg.

Miután ez megvan, húzzuk be a character objektumunk megfelelő helyére. És készen is vagyunk az előkészületekkel.
Teszteléshez indítsuk el a scene-t, és ha a karakter lejátsza az idle animációt, akkor jól csináltuk az előkészületeket!


MOBA Starter Kit Project - Bevezető

Népszerű MOBA-k
MOBA: Multiplayer Online Battle Arena, 2002 környékén Warcraft III pályaszerkesztőjével készült az első ilyen játék. Eul nevű modder nevéhez fűződik. Később komoly figyelmet kapott a játék. A történetéről egyenlőre elég ennyi, ha valakit érdekel, utána olvashat a wikipédián: http://en.wikipedia.org/wiki/Multiplayer_online_battle_arena

Játékmenet: a legáltalánosabb változatában két 5 fős csapat küzd egymás ellen a képen látható felosztású pályán. A sárga színnel jelölt részek a un. "lane"-k, a köztük lévő zöld terület a "jungle". A kék pontok tornyokat jelölnek.
A játékosok egy-egy hőst (champion) irányítanak. A játék kezdetétől fogva nem-játékos karakterek (minionok) indulnak útra a csapat bázisából (naracssárga negyed körök), ezeket wave-knek nevezik.
A játék célja az ellenfél bázisának lerombolása. A hősök játék közben szinteket és aranyat szereznek, az utóbbiból felszerelést vásárolhatnak.

Az utóbbi pár évben elég sokat játszottam League of Legends-el, hogy elkezdjen érdekelni programozási szinten is. Különböző kihívások merülhetnek fel egy ilyen játék alapjainak létrehozásakor. Bár sikerének vagy sikertelenségének a titka inkább a játék-egyensúly, tanulási nehézség megtalálásában rejlik, és persze abban, hogy mennyire kreatív hősöket tudnak kitalálni hozzá, remek gyakorlási lehetőség programozás terén is úgy gondolom.

Ez a sorozat egyfajta tutorial jellegű is lesz, de inkább csak megoldás technika szintjén. Úgy gondolom, hogy aki már tud programozni unalmas tartja ha az alapoktól kezdem, aki meg nem tud az meg nem hiszem, hogy pont tőlem fog megtanulni. :) Inkább azokra a részekre térek ki, ami engem is érdekelne:

  • Camera : alapvetően nem túl összetett feladat, de elég sokat szoktam kutatni mindig megfelelő kameráért, ezért veszem előre.
  • Champions : a játékos által irányított hősök területét több részre bontom:
    • Statok: a Pioneer közben megismert módszert fogom alkalmazni, ami egy rugalmas tulajdonság rendszert biztosít majd. Ez fontos szempont, mert nem egy konkrét játékban gondolkozom, hanem egy kezdő csomagban.
    • Skillek: szintén a Pioneer tapasztalatokat fogom használni, a különböző célpont kijelölési megoldásoknál. Maguk a skillek típus skillek lesznek, ne lepődjön meg senki, ha nem váltom meg a világot egyediségükkel. :P
    • Items: ebbe a kategóriába sorolom az vásárolható tárgyakat. Érdekes lehet, hogy nagyon hasonlóan fognak működni, mint a buff típusú skillek. ;)
    • Model, animáció, hangok: színesítő elemek, a kronkrét projekt nem követelné meg, de szeretem ha nem csak jó, hanem szép is amit csinálok. :) Mindenesetre alacsony a priorítása.
  • Mobs: Nem tökéletes megfogalmazás, de a minionokat (csapathoz tartozó lények, amik a lane-en mozognak) és a monstereket (jungle-ben lévő lények) értem alattuk.
    • AI : egyértelmű. ez lesz a legfontosabb ebben a témakörben, és mivel eddig ezzel nem nagyon foglalkoztam, számomra a legizgalmasabb is a projektben. :)
  • Game : Alapvető játékirányítási funkciókat foglal magába. wave-k kiküldése, csapatok kezelése, ölési/halási statisztikák követése, nyerés.
  • Network : Bár egy rendes moba megkövetelné a dedikált szervert, de ebben a projektben ezzel mégsem fogok foglalkozni. Alapvetően client to client megoldást fogok alkalmazni, ahol a master client fogja elvégezni azt, ami a dedikált szerver feladata lenne. Ugyanakkor két különböző, megoldásilag mégis nagyon hasonló verziót fogok csinálni: egyet a unity alap hálózat kezelőjével, egyet pedig a Photon Cloud szolgáltatással.
  • GUI : erről sokat nem mondanék. Grafikus felhasználói felület. Ennyi. Viszont esélyes, hogy nyár környékén fogok ezzel érdemben foglalkozni, amikor kijön a Unity 5-ös verziója az új GUI rendszerrel (Yey!) 
  • Developer Panel: mint említettem a projekt alapvetően egy starter kit létrehozásáról szól. Ennek eredményeként szükség van olyan funkciókra is, amelyeket a unity editorjában lehet használni. Ez egyenlőre elég képlékeny, időközben fog még formálódni:
    • Championok adatbázis
    • Tárgy adatbázis
    • Minion/Monster/Turret beállítások
Nagyjából tehát ezeket tervezem átfogni a sorozatban. Szerintem nem hagytam ki semmit, ha mégis, akkor ér beírni a kommentek közé. :)


2014. május 6., kedd

Artcraft—The Spires of Arak készítése


Nem kifejezetten Unity, de elég erőteljesen játék készítés, hiszen nem más mint Chris Robinson a WoW (World of Warcraft) senior art director-a (bocs a félangol mondatért :P) betekintést enged a kulisszák mögé. A videó és a cikk is érdekes és hasznos információval szolgál.
Én kifejezetten szeretem nézni az alkotói munkát, mert sokszor ad új ötleteket. A videó elég jól bemutatja egy terület elkészítésének munkafolyamatát egy ilyen szintű játék esetében.

A teljes cikket itt találjátok: http://us.battle.net/wow/en/blog/13987918



2014. április 25., péntek

Pioneer Project - Bevezető


Miért kezd valaki bele egy MMORPG készítésébe?
Régóta ott motoszkált a fejemben. 2013-ban nagy csalódást okozott a Neverwinter Online (vagy én vártam túl sokat tőle?) , melyet úgy hirdettek, hogy méltó utódja a klasszikus Neverwinter Nights-nak (ami egyébként az első mmo élményem volt réges rég). Hát nem lett méltó utód... maradjunk ennyiben. :) De végülis innen jött az ötlet, hogy ha a modern mmo-k nem tudnak olyat felmutatni, ami nekem tetszik, akkor "kénytelen" vagyok magam megcsinálni.
2013-ban belevágtunk egy projektbe (Worldshaper), ami aztán rövid úton be is halálozott. Rossz kezdés, de legalább tanulságos volt. 2014 februárjában aztán kezdetét vette a Pioneer Project.



Miről is van szó?
Pioneer Project egy újfajta megközelítést próbál megvalósítani az mmorpg témakörben. A hagyományos rpg (nem mmo!) elemeket igyekszik vegyíteni a modern harcorientált játékok (főként a mobák) rendszerével. Választási lehetőséget felajánló küldetések, csapdák, rejtvények lesznek kombinálva az alapvetően "skillshot" alapú harcrendszerrel.
A karakterek ereje a kevésbé fog függni a felszerelésétől mint a jelenleg divatos mmo-kban, és jobban a játékos ügyességétől, mind pvp, mind pedig pve terén.

Mielőtt még valaki megemlíteni, hogy egy mmo fejlesztése milyen kemény feladat, jelzem: tudom. :) Csomó blogon jártam, és az esetek 90%-ában a tanács a "hogyan csináljak mmo-t"-ra az, hogy "ne csinálj!". Másrészt már negyedik hónapja foglalkozok vele, sorra jönnek elő olyan dolgok, amikre korábban nem számítottam. Viszont én élvezem ezeket a kihívásokat, és azt hogy jobban beleláthatok az mmo-k működésébe.

In Game GUI és HUD
Hogy áll most a projekt?
Unity3d és a Photon Server segítségével összeraktam egy szerver oldali alkalmazást, ami biztosítja az alapvető működést, kicsit tovább tartott, mert szeretem a rugalmas rendszereket, amik esetleg később más játékokhoz is hozzáigazíthatóak a legkevesebb változtatással, nos ez ilyen lett.
Kész van a karakter statisztika, az inventory rendszer és a skill rendszerből is csak néhány dolog van hátra.
Ezen a héten létrehoztam és implementáltam UMA (Unity Multipurpose Avatar) segítségével a karakterek kinézetének testreszabási lehetőségét (még a csúszkákat kell valami normális intervallumba szorítani).

Egyfős csapatom időközben kettőre bővült párom lévén (Skyie néven szerepel itt a blogon), aki összerakta a GUI dizájnját, valamint elkezdett ismerkedni a particle készítés és scene rendezés világával. Röviden az ő munkáját dicséri az amit látni fogtok, az enyémet az amit nem.  :)

További GUI tervek, jelenleg még csak photoshopban, illetve a háttérben a leendő karakter választó scene.
Itt jegyezném meg, hogy örömmel fogadunk mást is a köreinkbe, de le kell szögezni, hogy a projekt alapvetően hobbi alapú (ami azt jelenti: dolgozz mint a güzü, de nem kapsz érte pénzt :P).

Ahogy haladunk előre a projektben, újabb információkat fogunk majd közzétenni, addig is várjuk az esetleges kérdéseket, illetve a felajánlásokat az ingyen munkára :D

2014. április 24., csütörtök

Tutorial: Multiplayer FPS



A BurgZerg-es tutorialhoz hasonlóan a GTGD (Gamer To Game Developer) videóit is nagyon hasznosnak találtam. Amíg a Hack&Slash RPG főként az egyszemélyes játékok készítését tanítja, addig a GTGD a többszemélyes, LAN-on játszhatóakhoz szükséges tudást adja át.
Persze vannak átfedések a kettő között, de érdemes végig nézni a teljes sorozatot.

Sajnos a második nekifutásra csak két videót sikerült alkotnia a szerzőnek, de még így is 36 videónyi anyag áll rendelkezésünkre.

Tutorial: Hack & Slash RPG


Annó, amikor elkezdtem a Unity-vel foglalkozni, elég sok tutorial-t csináltam meg. Voltak jobbak, és kevésbé jók. Az egyik első tutorial a BurgZerg Arcade honlapról van.

Nagyon jó kis videó sorozat, melyben az elejétől építi fel a Hack & Slash típusú RPG játékot Petey. Érdekessége, hogy a programot majdnem teljesen "élő adásban" írja meg, tervek nélkül. Ennek ellenére, elég átgondolt és jó tananyagnak tartom, és csak ajánlani tudom mindenkinek.

A videóban írt szkripteket 10 dollárért lehet megvenni tőle, de nem szükséges, mert remekül lehet követni a videó alatt. Én mondjuk megvettem, mert úgy a 100. videónál valamit összekuszáltam a projektemben, és nem volt kedvem elölről ismét végignézni a videókat. :)

Link: http://www.burgzergarcade.com/hack-slash-rpg-unity3d-game-engine-tutorial

2014. április 23., szerda

Unity Alapok 1 - Kezelő felület

Unity-t először elindítva az alábbi kép fogad minket. Elsőre talán összetettnek tűnik a kezelő felület, de jó logikával van felépítve és gyorsan ki lehet rajta igazodni. Ebben a cikkben sorra veszem a felület különböző részeit. Az alábbi képen látható elrendezést használom, de jó tudni, hogy a Unity öt beépített elrendezéssel rendelkezik. Ezeket a Window/Layouts menüpont alatt találhatjuk, van arra is lehetőség, hogy saját elrendezést használjunk, és ezt el is menthetjük.

Unity3d 4.3.4 kezelő felülete

Mielőtt neki kezdünk a különböző panelek, ablakok áttekintésének, szükséges néhány alapfogalmat tisztázni:
  • Project: Aki valamennyire jártas programozásban és használt valamilyen IDE-t (Integrált Fejlesztői Környezet - pl: Visual Studio, NetBeans...stb.) már találkozhatott ezzel a kifejezéssel, lényegében itt is hasonlót kell érteni alatta. A többieknek pedig röviden egy adott alkalmazáshoz használt részek gyűjteményét jelenti. Jelen esetben a játékunk különböző részeit (szkriptek, hangok, modellek, animációk..stb) tartalmazza.
  • Scene: Unity a játékokat scene-ekre tagolja. Máshol ezt level-nek vagy map-nak is nevezik. Leegyszerűsítve mondhatjuk azt, hogy amikor töltőképernyő jelenik meg egy játékban, egy új scene töltődik be. Ez persze nem felel meg teljesen a valóságnak, de egyenlőre maradjunk ennél a meghatározásnál, és majd később pontosítjuk.
  • Asset: Minden tartalmat, ami a játékunkba kerül assetnek nevezünk. Ide tartoznak a scriptek, 3d modellek, hangok, animációk, textúrák, shaderek, particle rendszerek. Ezek összefoglaló neve Asset. A projekthez tartozó assetjeinket a Project ablakban találjuk.
  • Package: A projektünket, vagy annak egy részét csomagba tömörítve exportálhatjuk, illetve importálhatjuk.
  • Asset Store: Unity3d közösség építésének köszönhetően nagy mennyiségű játék tartalom gyűlt össze, melyet bármelyik unity fejlesztő elérhet az Asset Store-n keresztül.
Project
Ebben az ablakban találhatjuk az összes assetünket. Mappákba szervezhetjük őket, a jobb átláthatóság érdekében. Ahhoz, hogy a játékunkban megjelenhessen egy asset, először be kell importálnunk a projektünkbe. De létre is hozhatunk új assetet a unity-n belül.

Unity3d 4.3.4 project ablaka
Asset importálására több lehetőségünk is van:
  • Egy asset importálása: A project ablak assets mappáján jobb egérgombbal kattintva importálhatunk Assetet, de az is remekül működik, ha egyszerűen a windows intézőjéből (vagy bármilyen fájlkezelőből) behúzzuk a unity project ablakába a fájlunkat.
  • Külső csomag (package) importálása: Szintén jobb gombbal az asset mappára kattintva az Import Packages/ Custom Package menüpontot választva tehetjük meg.
  • Asset store-ból letöltött tartalmainkat a Window/AssetStore menüpontból megnyitott ablakban érhetjük el. Az ablak bal felső részén lévő ikonok közül a 4.-ra kattintva. Itt listázódik az összes már letöltött illetve megvásárolt asset. Az importálás gombra kattintva tölthetjük be a projektünkbe az adott asset package-t.
  • Standard Asset importálása: Bizonyára a külső csomag importálásánál észrevetted, hogy a Custom Packagen kívül még egy csomó opció kiválásztására van lehetőség. Ezek a unity motorral adott "kezdő tartalmak". Erről és a frissebb verzióról majd még fogok írni egy későbbi cikkben. Egyenlőre legyen elég annyi, hogy ezek a legalapvetőbb asseteket jelenti (pl: karakter irányítás, textúrák..stb).
Hierarchy
A scene-ünkön megjelenő asseteink itt jelennek meg. Az itt megjelenő elemeket játék objektumoknak (GameObject) nevezzük, ezek az objektumok egymásba ágyazhatóak, innen a Hierarchy elnevezés.
Unity3d - Hierarchy ablak
Bár itt a Create gombra kattintva is létrehozhatunk új játék objektumot, én mégis a menüből szeretem kiválasztani ezeket: GameObject menüpontra kattintva választhatjuk ki, mit szeretnénk hozzáadni a scene-ünkhöz. A különböző GameObject-ekről részletesebben egy későbbi cikkben fogok írni.

Scene
Az ablak központi részét (a fenti elrendezésbe legalábbis) a Scene ablak foglalja el. Itt 3d-s térben alakíthatjuk ki a kinézetét a mappunknak. A felsősorban lévő opciók a különböző objektumok megjelenítését, elrejtését hivatottak vezérelni. Ez akkor van hasznunkra, ha nagy mennyiségű objektum között kezdünk elveszni.
Unity3d - Scene ablak
Alapvető navigáció elég kényelmes:
  • Bal egérgombot lenyomva vízszintes illetve függőleges irányba mozgathatjuk a kameránkat (a szerkesztő kameráról van szó, nem a játékban használtról).
  • Jobb egérgombot lenyomva foroghatunk körbe a 3d térben.
  • Az egér görgőjével tudunk zoomolni.
  • A billentyűzet nyilaival pedig előre-hátra, jobbra-balra mozoghatunk. - ezt akkor szoktam használni, ha a egér mozgásnál precízebbre van szükségem.

Eszközök
Az alábbi képen látható eszközök a scene-en való manipuláláshoz szükségesek. Illetve ebben a sorban középen található Play gomb segítségével indíthatjuk el a programunkat teszteléshez.

Unity3d - eszköztár

Az eszközök balról jobbra haladva a következőek:
  • Hand tool: ezzel mozgathatjuk a scene-ünket. Igazából nem túl hasznos eszköz, mivel az alap navigáció a többi eszközt választva is használható.
  • Move tool: Ha ez a mód aktív egy GameObject-et kiválasztva megjelenik egy három nyillal rendekező eszköz. A különböző nyilak a 3d tér 3 koordináta tengelyének felel meg: x, y, z. Ahol az y a függőleges tengely. A ikon három nyila különféle színnel van jelölve, ezzel is könnyítve a munkánkat. A nyilakra kattintva az adott tengely mentén tudjuk mozgatni az objektumunkat.
  • Rotate tool: az előzőhöz hasonlóan egy objektumot kiválasztva három kör jelenik meg, amikre kattintva az adott tengely körül tudjuk forgatni az objektumunkat.
  • Scale tool: az objektum méreteit változtathatjuk ezzel, szintén a tengelyek mentén.
Ha egyszerre az összes tengely mentén akarunk mozgatni, forgatni vagy növelni (általában az utóbbinak van értelme csak, a méretarány megőrzése végett) akkor a megjelenő eszköz középpontjára kell kattintani.
  • Local/Global: A koordinátákat az objektum szempontjából nézi (Local) vagy a teljes tér szempontjából (Global).
Egyenlőre elsőre ennyi volna az áttekintés, későbbiekben még fogunk foglalkozni behatóbban vele, valamivel céltudatosabban.

Játékfejlesztés - mire lesz szükségem?

Amikor 2013 elején elhatároztam, hogy márpedig játékot akarok fejleszteni, elég sokat dilemmáztam, milyen programokat használjak. Kezdőként fontos volt, hogy ingyenesek legyenek az eszközök, amiket használni fogok, ugyanakkor az ideiglenes megoldásokat nem szeretem. Így szempont volt az is, hogy a későbbiekben kereskedelmi célú projekteken is tudjam őket használni.

Mik is azok a szoftverek, amikre feltétlen szükséged lesz, ha játékfejlesztésre adod a fejed?

A játékmotor (Game Engine)
Egyértelműen ez a legelső dolog amit be kell szerezni. Én a három legnagyobb, ingyenesen is elérhetőt próbáltam ki: Unity3d, Unreal Development Kit, CryEngine. Röviden leírom a tapasztalataimat az utóbbi kettőről, bár túl sok időt nem foglalkoztam velük.

  • Unreal Development Kit: Már kezdéskor ütős látvány fogad. A szerkesztőt elindítva már kezünkbe kapunk egy teljes animált és hanggal effektelt karakter rendszert, irányítással együtt. First Person és Third Person nézetet egyaránt. Ez volt a fő indok, amiért egy kicsit hanyagoltam a Unity-t. Ugyanakkor Unity-hez képest kínlódás volt, például a közelharc leprogramozása. A programnyelve egyébként egyedi, a Java-ra emlékeztet.
  • CryEngine: Az UDK-hoz hasonlóan már kezünkbe kapunk egy adag grafikát, karakter vezérlést. Viszont szintén saját scriptnyelvvel rendelkezik, aminek az elsajátításához (akkor még) nem találtam elegendő információt.

Alapvetően Unity3D-nek több előnye is van, ami miatt az én szememben megelőzte az előző kettőt:
  • Rugalmasság: bár nem kapunk csili-vili grafikát induláskor, és esetleg a karakter irányítást is magunknak kell megírnunk (ha nem felel meg az alap), viszont cserébe olyan rugalmas és könnyen kezelhető rendszert kapunk, amiben bármilyen játékot elkészíthetünk.
  • Tanulhatóság: Unity-hez nem hoztak létre egyedi script nyelvet, inkább már létező program nyelveket bővítettek további osztálykönyvtárokkal. C#-ban és Javascriptben is programozhatunk, ha pedig elakadunk valahol, csak beírjuk Google-ba és jó eséllyel kapunk róla megoldást.
  • Közösség: Amíg az UDK-t és a CryEngine-t egy adott játék fejlesztéséhez tervezték és később bővítették tovább, addig a Unity-t alapvetően azzal a céllal hozták létre, hogy minél több játékfejlesztő tudja használni projektjeihez. Ennek köszönhetően erős közösség verődött össze köré. Emiatt rengeteg információ, tutorial és asset (játékba való tartalom - 3dmodellek, hangok, program részletek..stb) érhető el könnyedén.
  • Ingyenes: az ingyenes verzióból ugyan néhány funkció hiányzik (árnyékolás például), de cserébe tényleg ingyenes és használható kereskedelmi céllal is egészen 100.000 USD (22milló forint a cikk írása idején) éves bevételig.
Én tehát emellett a játékmotor mellett voksoltam le. 


3D Modellező program
Ebben a témakörben már nincs akkora választás. Ha maradunk az ingyenes megoldások terén egyedül a Blender jöhet csak szóba. A 3d modellezés nem az erősségem, ha csak lehet kerülöm, de még így is szükségem van olykor erre a programra. Bátran állíthatjuk, hogy tudásilag a fizetős testvéreit is eléri, mind modellezés, texturázás, mind pedig animálás terén. Akárcsak a Unity köré, a Blender köré is nagy létszámú közösség jött össze, és rengeteg tutorial és információ érhető el hozzá, nem beszélve arról, hogy bizonyos unity asset készítők is ezt használják, ebből adódóan ez az elsődleges modellező eszköz, amit az asset-ük támogat.


Képszerkesztő program
Szükséged lehet még egy képszerkesztő programra is. Én Photoshop-ot használok, de természetesen ennek is van ingyenes alternatívája: a GIMP, ami szintén teljes értékű szerkesztő program.
Gimp letöltés: http://www.gimp.org/

Ezekre a programokra lesz tehát szükséged, a játékfejlesztéshez. Bizonyos játékokhoz (például multiplayer vagy MMO-khoz) másra is szükséged lehet, de ezekről majd később fogok írni.