Unreal Engine 4 fejlesztői napló I. rész

Bevezető

A játéknak még nincsen anyakönyvezett neve, ezért a továbbiakban csak 'projekt'-ként lesz emlegetve, illetve az én kis stúdiómnak sincsen még publikus neve, az a későbbiekben kerül leleplezésre.
Ez a projekttel kapcsolatos első naplóbejegyzésem, első körben bemutatom magát a játékmotort és az összes általam használatos programot a legkisebbtől a legnagyobbig, mindent ami a fejlesztéshez kell, kelleni fog vagy kellhet. Szerintem az összes program kimagasló a kategóriájában, illetve széles körben használtak. Bőséges internetes tananyag található hozzájuk, így nehéz velük elakadni és tanácstalan maradni.

Az utolsó pár oldal magáról a játékról fog szólni, ismertetem az alapkoncepciót, miket álmodtam meg eddig, hogyan fog felépülni, írok egy menetrendet is a projektnek, milyen sorrendben fognak a modulok beépülni. Illetve az alap fícsörökről is fogok írni, magáról a mechanizmusokról, bemutatom a környezetet fejlesztői szemszögből.


Közösségi projekt keretein belül igyekszem tartani a játékot, továbbra is áll az ajánlatom, tehát bárki kommentelhet, véleményezhet, minden ötletre nyitott vagyok, annak ellenére, hogy nagyjából összeállt a dolog a fejemben. Ha jó egy ötlet, beépítem a játékba, azonban, ha valaki az általam beépített dolgokat kivenné, írja meg és módosítani fogom, ez így fog működni.

Nem lesz rövid ez az utazás, de nem fogom elnyújtani évekig, noha erre nincs garancia és menetrend sem. Ebben a műfajban a kitartás az első, biztos lesznek kudarcok vagy dolgok amiket nem tudok még megvalósítani. A projekt alatt remélem nem csak én fogok sokat tanulni és tapasztalattal gazdagodni, hanem az olvasók is, és szívesen olvasnám, ha valaki miattam kezdene bele ebbe a bizniszbe, valami saját projekt keretein belül, de akár hozzám is beszállhat ha valaki ezt érzi magában.

Itt is kiemelném, hogy a játék a Windows platformot fogja becélozni főként, a későbbiekben lehet szó konzolos és Linux/OSX portról!

Sok programon fogok élni, bár ezeknek a folyamatoknak a 70%-a unalmas és egysíkú, így ezeket nem nagyon fogom megmutatni.

Maga a napló a továbbiakban hetente-kéthetente, vagy ha szoros az időm, havonta fog megjelenni csak itt a Logouton. Azonban minden nap elérhető leszek, nem csak a napló alatti kommentekben, hanem első körben PÜ-ben várom a komolyabb érdeklődőket, utána bárhol máshol folytathatunk beszélgetést.
Lesznek komolyabb mechanikák, amiket szeretnék videóban bemutatni, így lesz egy YouTube csatorna ahova publikusan fel fognak ezek kerülni, és beépítem őket a szöveg közé.
Továbbá sok képpel is lesz dokumentálva, ha valaki kíváncsi valamire bővebben, jelezze, vagy leírom a következő naplóban, vagy elkészítem videón.

Nagyjából ennyit tudnék bevezetőnek írni, kellemes olvasást kívánok mindenkinek a többi oldalon keresztül!

Miért az Unreal?

Unreal Engine 4

A legfontosabb program maga a játékmotor. A projektet az Unreal Engine 4.10.2-es verziójával kezdem, 1-2 havonta pedig frissíteni fogom a verziót, ahogy frissül maga az engine is stabil (tehát nem preview, meg dev instabil verzióra). Pár hetente jön új verzió, vagy hotfix, azokra általában frissíteni fogok, mert nagyban növeli a stabilitását a motornak, és a játéknak is. Nagyon sok crash lesz, ezért itt is hangsúlyozom annak, aki belekezdene egy projektbe: menteni kell állandóan!! van autosave, de azért néha nem árt egy komplett save.
Illetve, én ezen felül felhőben tárolom a teljes projektet, esténként helyezem feltöltésre, napközben a HDD-men nyugszanak a cuccok.

A motorban lehet C++ -ban programozni, de a motor legfőbb tulajdonsága maga a node-based programozás, ezeket hívjuk Blueprinteknek, amiket mostantól szimpla BP-nek fogok jelölni. Számomra ez sokkal átláthatóbb és érthetőbb, mint a puszta fekete-fehér sorok.
Sok pluginnel fogok dolgozni, és előre gyártott blueprintekkel és részecske rendszerekkel.
Pár Unrealben készült játék a miheztartás végett.

És, hogy miért az Unreal Engine 4-et választottam a projektemhez?
Egyrészt mert felhasználóbarát, hatalmas segítőkész közössége van online, rengeteg tutorial írott és videón rögzített formában. Másrészt a BP rendszer számomra még élvezhetőbbé teszi a játék kódolási részét, változatos és nem csak fekete-fehéren látunk.

Azt bátran kijelenthetem, hogy ez a motor egy next-gen cucc, így bámulatos dolgokat lehet benne könnyedén készíteni. A főbb platformokra is képes elkészíteni az adott projektet. Marketing résznél pedig számomra is nagyobb szám egy unreales játék, mint egy Unity vagy más.

Volt valamennyi tapasztalatom Unity-vel, még a 4.6 verzióval, volt vele sok gondom, egyszerűen nálam nem felelt meg a magas minőségű már-már archviz elvárásoknak. A motor képes lenne rá, de nekem nem sikerült kihozni belőle, de ez az én bizonyítványom.

A motort könnyű kezelni, simán bele lehet tanulni némi tutorial nézéssel pár nap alatt.

Nagy modelleknél hajlamos crashelni, de korántsem annyit mint a Unity, illetve ott nekem sokkal komolyabb gondjaim voltak.

Vannak az Epic által legyártott projektek, könnyedén át tudunk belőle másolni asseteket pár kattintással, amiket aztán szabadon használhatunk a sajátunkban. Azok a projektek pedig 5* általában, és pár havonta kidobnak valami újat az egyre bővülő marketre. Lassan de biztosan az Unreal is beférkőzik a piacra egyenesen a Unity mellé. Véleményem szerint igényesebb projekteket lehet fejleszteni, gyorsabban, illetve maga a motor felhasználása széleskörűbb, gondolok itt megint csak az építészeti modellezésre és techdemókra.

Unreal Engine 4 ingyenes letöltése
A motor részletesebb, profibb leírása angolul.

Ha valaki saját projektbe kezdene, alaposan nézzen utána mindegyik motornak. Ha piacvezetőket kell sorolnom, akkor Unity 5, CryEngine 3, leendő Source 2, és természetesen az Unreal Engine 4 közül érdemes választani.

Nagyon fontos szempont a célplatform megválasztása, a grafika és a teljes vizualizáció minőségi szintje, 2D vagy 3D a projekt ilyesmik.
Érdemes kipróbálni a motorokat, ha nem tudunk választani. Ne hagyatkozzunk csupán mások véleményeire és ajánlásaira.

Illetve bátran ajánlom mindenkinek a játékfejlesztést, jóformán 0 tudással és előélettel neki lehet esni. Megfontolni mindenképpen érdemes, ha van elég szabadidőnk, türelmünk, kedvünk és kreativitásunk.
Nem feltétlen kell programozói tudás, azonban cserébe sokat kell majd tanulni, a legtöbb programot érdemes elsajátítani, hogy folyékonyan menjen a munka, a legjobb úgy fejleszteni, hogy minden a helyén van a fejünkben is, így már csak a kreativitásunkra és ügyességünkre kell hagyatkoznunk.
A cikkek folyamán minden forrásomat meg fogom jelölni, a legtöbbet ingyenesen fel lehet használni saját projektben is.

A következő olvasmányokat tudom ajánlani, ha valaki ilyen választás előtt áll:
DigitalTutors blog
Framebench blog
Venturebeat

Nehéz lenne az említett három+egy (Source Engine 2) piacvezető motort átfogóan, teljesen összehasonlítani, mind ugyanazt a végső célt szolgálják, azonban máshogy érik el azt. Összevethetjük őket személyes preferenciák alapján, de nézhetjük a motorok technikai képességeit is, mire képes az adott motor és milyen hatékonysággal. Minden motornak megvannak a maga egyedi előnyei és hátrányai is. Az ellentét köztük relatív, emberenként eltér, ezért fontos személyesen megtapasztalni, hogy mégis hogyan viselkedik egy-egy motor a kezünk alatt. Teljesíti-e az elvárásainkat, és hogy hatékonyan tudunk-e vele dolgozni.

Végső soron a programok közötti kompatibilitás sem elhanyagolandó, de ez elenyésző szempont az előbbiekhez képest. Illetve maga a motor gépigénye sem lehet utólagos. A későbbiekben akár egyik motorról a másikra történő áttérés is lehetséges, némi tanulással és utánajárással elsajátítható bármely motor használata. Persze egy ideális projekt és tanulási görbe úgy szép, ha céltudatosan megyünk neki a dolgoknak, és nem a projekt közepén kell egy esetleges motorváltással szüttyögni és értékes időt veszteni, mert szembesültünk az adott motor gyengeségeivel. Nem árt tisztában lennünk a frissítésekkel sem, új funkciók kerülhetnek be, vagy minket esetlegesen érintő változások.

Egy-egy motor jövőbeli frissítései lehetnek akár a döntésünkre is befolyással, ezért választás előtt még ajánlott pl. a 2016-os tervekkel képben lenni. A legtöbb motor év elején kiad/ kiadott ilyen közleményt, hogy miket terveznek erre az évre, és miket szeretnének elérni. Jelen állás szerint úgy néz ki, hogy Unreallel jártam a legjobban, nincsen kétségem afelől, hogy bölcsen és előrelátóan választottam. Ez a döntés már egy éve megszületett, előtte pedig volt tapasztalatom a másik két nagy motorral is, még akkor is, ha CryEngine-nel csak felületesen.

Hozzáfűzném, ha valaki a későbbiekben kiad egy játékot Unrealben, olvassa végig a FAQ-t és a lincenszelési feltételeket, nehogy kellemetlen meglepetés érje. Persze otthoni használatra, és gyakorlásra, építészeti tervek bemutatására 100%-ig ingyenes. Egyébként, játék kiadásnál sem kell saját zsebből semmit fizetnünk, csak egy bizonyos összeg felett egy bizonyos százalékot az Epic Games-nek.

Ez a többi motorra is vonatkozik, mindenhol eltérő a licenszelés, de csak Unrealnél tudom ennek a menetét. Illetve a CryEngine 3 drága mulatság és nagyon korlátozott, így az egyáltalán nem ajánlott kezdőknek, akik teljes játékot szeretnének készíteni - feltételezem ingyen.

Programok a projekthez I.

Játékkészítéshez használatos programjaim, gyári standard programok

Ezek a programok szerves részét fogják képezni a projektnek, minden objektumot, tárgyat el kell készíteni, vagy módosítani kell ha meglévőt használok épp. Minden program másra és másra jó, de egységet fognak alkotni. Egy-egy elem teljes UnrealEngine ready elkészítése órákba telhet, minden modellt optimalizálni kell például a jó teljesítmény vagy csak a jó esztétika miatt. Összességében talán több időt fogok velük tölteni, mint magával az Engine-nel.

Általában van egy gyári standard program egy-egy probléma megoldására, az .fbx és a 3DS Max/Maya nem véletlen vannak összhangban de még sorolhatnám.
Nem feltétlen tudok ésszerű választ adni arra, hogy például miért nem Blendert használok a Max helyett. Ez személyes döntés volt még anno, ebbe tanultam bele illetve az én modelljeimhez egyértelmű is volt részben a Max. De lehetne Cinema 4D is.

Ezeknek a programoknak mind mind utána kell járni, ki kell őket próbálni. Nálam a kompatibilitás nem volt elsődleges szempont, de a következő program-pakk a lehető legtökéletesebb összhangban van igazából a "véletlen" okán, nem volt direkt.

3DS Max 2016

Számomra a második legfontosabb, és leggyakrabban használt program a 3DS Max.
Jelenleg a 2016 Student verziót használom, ami teljes egészében megegyezik bármelyik más 2016-os kiadással, azonban ingyenes tanuló licenszem van 3 évig.

Ez a program sokaknak nem ismeretlen, 3D objektumok létrehozására, módosítására használatos, továbbá még az objektumok unwrapelésére fogom használni a nem dinamikus árnyékolás miatt.
Ezek a modellek statikus világítással vannak világítva, ami teljesítményben nagyon olcsó, mert előre definiált árnyékokat kap-vet az adott modell. Nem kell realtime kiszámolnia őket. Azonban a hátránya, hogy a mozgó tárgyakat nem tudja kiszámolni, illetve sok munka van a szerkesztésével, mivel teljesen kézi (ha jó eredményt, és szép árnyékokat akarunk). Sajnos sem az Unreal, sem más motor jelenleg nem képes megfelelő lightmapokat generálni, ezért többségben az árnyékok csúnyák (szögletesek, hullámosak, össze-vissza) lesznek. Ezért egy ilyen volumenű projektnél illik külső programban előröl kezdeni a lightmapokat és a saját kezünkbe venni a modelleket. Időigényes, de mivel moduláris falakkal fogok dolgozni, nem kell minden egyes darabot külön-külön megcsinálni, működni fog a copy-paste is.

(3D modell + árnyéktérkép)

3DSen felül Maya és elvileg Blender is alkalmas ennek az elkészítésére, de nekem személy szerint van egy gyors, bejáratott robot technikám ami modell komplexitásától függetlenül max 2perc/modell. Moduláris elemeknél egy egyszerű négyzet alapú szoba, tegyük fel téglatest és van rajta 1 ablak és 1 ajtó, akár 8 elemből is állhat. Érdemes minél kisebb elemekre bontani egy területet, ugyanis ez jót tesz a lightmapunknak. Ajánlott 256-512 felbontás között tartani szép nagy szigetekkel, azaz tágas hellyel az egyes felületek között. Tökéletes árnyékokat fogunk így kapni, illetve a modularitás a későbbiekben már csak gyorsítani fogja a munkánkat, csak az elején lassú. Ennél a projektnél is betartom a 256-512 párost falaknál és padlóknál. De ahogy haladok előre, látni fogom kell e növelni valahol (valószínűleg lesz 2048as is)

Elborzasztó példa az úgynevezett light bleedingre

Aki belevágna modellek pakolgatásába, de csodálkozik, hogy miért jelennek meg így a tárgyak, annak ajánlom a következőket:

Unreal Wiki oldala
YouTube tutorial
Troubleshoot (legjobban ajánlom)

Ezen felül speciális pl. ívelt fal elemek elkészítésére, illetve meglévő assetek módosítására, poly-számuk csökkentésére használatos felém a játékbeli teljesítmény fokozása végett.
Archviz modelleket használok, amiknél nem ritka a több százezres polyszám, ami terheli a motort, néha teljesen feleslegesen. Ezért érdemes csökkenteni, ami például olyanokat eredményezhet, hogy egy ideális kör (ami nem létezik) nem végtelen számú szögből áll, hanem korlátozott számú szögekből.
Például egy 100.000 polys ív csökkentve egy 50.000 polys ív lesz, amivel kicsit tördelt, szögletes lesz.
Nem feltétlen észrevehető, de mindenképpen ajánlatos használni, ha nem Archvizhez kell az engine hanem mondjuk játékkészítéshez.

(VRay-ben renderelve, 100% gyári állapot (jobbklikk, megnyitás új lapon a nagyobb nézetért))

(99% -os optimalizálás ProOptimizer-ben)

(50% -os)

(10% -os)

Egyértelműen látszik, hogy túlzásokba sem szabad esni, a 99% optimalizált székkel kitudja mi történt.
Az 50% és 90%-nál már alig észrevehető a különbség, főleg játékon belül, mégis majdnem a felére csökkent a polygonok száma.
A polyszámra PC-n és konzolokon nincsen gyári standard vagy szűk limit, (2³² - 1) annyi lesz amennyi.
Telefonos játékoknál van limit, természetesen a hardver miatt.

Azonban ez nagyon általános dolog, a pálya méretétől nagyban függ, illetve hogy milyen kidolgozottságot szeretnénk elérni, nem kell feltétlen egy keréknek vagy egy pohárnak 99,99%-ig kereknek lennie, vannak fontosabb területek, ahova kelleni fog a gép teljesítménye, például a részecske effektekre. Természetesen a másik amire figyelni kell, az a tárgyakra szánt anyag és annak összetettsége, ill. felbontása. Összességében nagyobb tárgyaknál 80k és 100k között fogom tartani 2048x2048 textúrákkal.
Kicsi tárgyakra, díszekre elég lesz a maximum pár ezres részletesség és 1024x1024 vagy 512x512 textúra.

Maxban fogok még cloth szimulációkat is készíteni, tehát ide értem a függönyöket ha fújja őket a szél stb.

Ennél a programnál azonban kiegészítőket, azaz plugineket is használok.

RayFire: KATT
Ebből az 1.66 verziót használom.
Ez a plugin objektumok, modellek törésére szolgál, szimulációkat lehet vele készíteni. Nem dinamikus, az elkészült törést animációként renderelem és építem be a játékba.

Vray: KATT
Ez a program lecseréli a gyári renderert. Sok modellem igényli ezt a renderert, mert olyan anyagokkal érkeznek, amik VRayben készültek, és a kompatibilitás megőrzése végett ajánlott használni, vagy rendelkezni ezzel a pluginnel.
Ezen felül továbbfejlesztett fények, árnyékolások stb.stb. jellemzi, saját modelleket is ebben szoktam renderelni és mutogatni, egyszerűen azért, mert gyönyörű.

VRayMtlConverter v2.5:
Sajnos az UnrealEngine 4 nem tud mit kezdeni a Vray anyagokkal, amik némely modellemen vannak, ezért konvertálni kell őket gyári anyagokra, amiket már tudok exportálni majd importálni a játékba. Persze a motor nem fogja helyesen elhelyezni a textúrákat, zöld és kék színűek lesznek kezdetben a modellek, vagy az eredeti textúra egyszínű megfelelője. Pl. barna színű fából csak barna massza marad. Ez a modelljeim 80%-ára jellemző lesz, a manuális textúra importálás fájdalmas lesz, de megoldható. Valamit valamiért, ezek a modellek megérnek ennyi plusz munkát.

Erre képes a 3DS Max + VRay + Evermotion modellek ötvözete

Alapvetően ebben ki is fog merülni a 3DS Max használata, ez a lista lehet, hogy bővülni fog a későbbiekben, lehet, hogy így marad. A berendezés, modellek elhelyezése már a motoron belül fog történni, itt csak előkészítem őket a hibátlan szereplésre.

Programok a projekthez II.

Allegorithmic: Substance Bitmap2Material

Alapjáraton egy 1024x1024 textúra lapos, visszaveri a fényt, csúnya és sík,
nem viselkedik anyagként, a való életben egy fa anyag elnyeli a fényt, a barázdák között árnyék van stb.
Másik példám pl a fém. Visszaveri a fényt, illetve tükröződik benne a világ, ha polírozott a felülete. Ismerjük az anyagokat, tudjuk, hogyan viselkednek a világunkban.
A sima kép textúrák ezt nem adják vissza, csak képek és nem több.
Itt jönnek képbe az anyagok, UnrealEngine 4-en belül is létre lehet hozni anyagokat azaz materialokat a belső szerkesztőben.

Azonban a Bitmap2Material program képes képeket anyaggá alakítani, majd ezeket importálni egy az egyben a motorba, ahol realtime lehet őket állítani, módosítani kedvünk szerint.
Egyszerűen életre kelti a képeket, és valódi anyagokat hoz létre belőlük, felruházza az adott anyagra jellemező tulajdonságokkal pár kattintással és beállítással.

Ehhez a programhoz társul egy Engine plugin is, a Substance plugin, ami teljesen ingyenes, és az Unreal Marketplaceből letölthető innen.

Ez egy nagyon egyszerű példa, az anyag a Substance Share oldalról származik.
Ez valószínűleg Designerben lett kreálva, azonban egyetlen képből is lehet 3D-képet, azaz anyagot készíteni.

A sarokban lévő három további kép pedig szintén az anyag előállításához kell. Ezek a képek szabályozzák a képen szereplő objektumok, jelen esetben kövek magasságát, vagyis, hogy mennyire emelkednek ki a földből.
Illetve szabályozzák az árnyékokat, minden kavicsnak vetnie kell árnyékot, ha nem vetne, elvesztené a realisztikus érzést.

Egyetlen képből generáltam egy perc alatt PH-s anyagot, teljesen csúszós anyagból a lehető legnagyobb kiemeléssel. (a kép kicsi mérete miatt ennyire recés)

Sőt, az Evermotion.org -ról származó modelljeim textúráját is egyenként fogom anyaggá alakítani ahol szükséges. Hiába érkeznek VRay-es anyagokkal ezek a modellek, ezeket az Unreal nem tudja kezelni, sajnos a munka manuális marad ami hosszú folyamat lesz, de csak a legszükségesebbeket fogom így elkészíteni, a legapróbb, szinte láthatatlan dolgokkal nem érdemes vacakolni, mert nem kevés idő.

Vendégprogramok

Ezeket a programokat elvétve fogom használni, nem lesznek állandó felhasználásúak.

Photoshop CC 2015: Ezt senkinek sem kell bemutatni, textúrák készítésére használom majd, képek szerkesztésére, módosítására. Játékfejlesztésnél ezekre fogom használni, illetve ha a játékból képeket fogok kiadni, itt fogom őket szépítgetni szín és fényügyileg.

Cinema 4D: .c4d fájlokat fogok konvertálni főleg .fbx formátummá, esetleg animációkat készítek majd benne.

HoudiniFX: szintén animációk fognak készülni, speciális törések, effektek stb.

Substance Painter és Designer: anyagok, textúrák létrehozása, objektumok direkt textúrázása, festése stb. Nagyon speciális esetekben fogom használni, például ha egy tárgy textúráját öregíteni, roncsolni kell.

OBS Multiplatform: a játékot kívánom vele rögzíteni bemutatásra, 1-1 mechanika mutogatására, demókra, ilyesmi.

Sony Vegas Pro 13: felvételek vágására, trailerek, techdemók készítésére van, fejlesztés mellett nagyon sok dolog érdekel még, így a VFX is, így ha videózásra kerül később sor, mindenképpen felsőkategóriás trailereket fogok gyártani további vendégprogramokkal, mint az AfterEffects vagy NukeX.

Lightshot: screenshotokat készítek vele a folyamatokról, képdokumentációt készítek az írás mellé.

OneDrive: a teljes projektet felhőben tárolom, napközben HDD-re mentek, estére pedig berakom feltöltésre, van jelenleg 150GB tárhelyem, tehát elvileg el fogok rajta férni. Egyébként a beépített OneDriveot használom Windows 10ben.

Forrásaim a projekthez

Források

Szintén fontos dolog: források. Miből épül fel a játék? Honnan szerezzük be a modelljeinket, a hangjainkat, a textúrákat, az anyagokat, bármit. Ezt embere válogatja, vannak fizetős és ingyenes oldalak, ahonnan lehet anyagokat szerezni. Fontos megjegyezni a licenszeket, vagy más néven a Copyrightokat. Minden anyagnál általában meg van jelölve, hogy szabadon felhasználható-e, és hogy milyen projektekben (otthoni, üzleti) lehet használni, illetve hogy meg kell-e jelölni a modell stb. készítőjét. Ezeket érdemes fejben tartani, külön irkálni magunknak, hogy elkerüljük a kellemetlen jogi problémákat.

Evermotion: Link az oldalhoz

Archviz modellek tárhelye, rengeteg magas minőségű modell elsősorban Archviz felhasználásra, de módosításokkal az én projektembe tökéletesen fognak illeszkedni.
Az archviz jelentése az építészeti vizualizáció. Sok engine alkalmas realtime, azaz bejárható archvizre, pl az Unreal Engine 4. De 3DS-ben, Blenderben is lehet belső tereket, terveket mutogatni, pl VRayben mutogatásra, de azonban ezek nem alkalmasak bejárhatóságra, mint az Unreal esetében.

Ezek a modellek nagyon magas polyszámmal rendelkeznek, rendkívül részletgazdagok és általában jellemző rájuk, hogy hibátlanok és kifogástalanok, szemben az ingyenes darabokkal.
Ezek a modellek VRay anyagokkal érkeznek, 3DS-ben tudok velük dolgozni, de konvertálni kell őket az engine számára, pár kattintás, a textúrázásuk amúgy is az enginen belül fog történni, vagy más programban (Bitmap2Material, Substance Painter vagy Designer).

További ingyenes 3D modell források: TurboSquid, tf3dm, cgtrader

Substance Share: Link az oldalhoz

Túlnyomórészt ingyenes előre konfigurált anyagok, amiket felhasználhatunk egy az egyben, vagy tovább módosíthatjuk őket. Általában nagyon profik, a legtöbb kifogástalan. B2M programmal megnyithatjuk, mókolhatunk vele, vagy egy az egyben megnyithatjuk Unrealben is és a Substance plugin segítségével real-time tweakelhetjük kedvünkre.

Hangok:

Hangok terén egyszerűbb a téma, de itt is oda kell figyelni a licenszelésekre!
A jelenlegi hangtáramat még rendszerezni kell, de általában nagyon magas minőségű hangok, szabad licensszel. A hangokat később fogom beépíteni a projektbe, ha majd ott tartok, mindenképpen meg fogom osztani ezeket a forrásokat is, de ez egyelőre még bővítés alatt van.
Általánosságban ilyesmi hangokkal kell számolni mindenképpen:

- Karakter által kiadott hangok: lépés, lélegzés
- Környezeti alaphangok, alapzajok, ütemek, szél,
- Egyszeri töréshangok, zajok,
- Zene

Technikai téren általában 320kbs .mp3 fájlokról beszélünk majd, illetve néhány tömörítetlen formátumról.
A zenék vágása, dinamikussá tétele Sony Vegasban ill. Logic X Pro-ban fog történni, de ez nem egyedüli munka lesz. A hangokért és azok minőségéért pedig a továbbiakban maga a motor fog felelni.

Természetesen itt is várom a segítőkész embereket, nyugodtan be lehet szállni a projekt ezen részébe is.

Kis bónusz, hogy a lépéshangokat és néhány környezeti zajt szeretném saját magam felvenni, nagyon sokat tud dobni egy projekten, ha valaki saját hangokat használ fel. Biztos egyedi lesz, és ez manapság nagyon fontos ismérve lehet egy játéknak. Minél több a saját anyag, annál jobb, ez az egyedi projekt első szabálya.

Unreal Engine 4 Marketplace és Unity Asset Store: UE4 Market és Unity Asset Store

Ingyenes projektekből, ingyenes assetekből lehet csemegézni, és anyagokat másolni a mi projektünkbe. Illetve a Unity Marketplacen vásárolt / letöltött asseteket át lehet konvertálni használható fájlokká. (unitypackage converter)

Illetve ebben a témában szintén fontos maga a forrás tudása.

Oktatóanyagok:

Három + 2 legfőbb forrásom ebben a körben:

Digital Tutors KATT
YouTube
Unreal Engine fórum KATT
+ amit még neten találni, Evermotion is ad írásbeli tanácsokat pl. lakberendezésre, ami szintén nem mindegy
+ minden szoftvernek van általában Wiki oldala, így az Autodesknek is (3DS Max) stb.

Digitaltutorson van 2 hét ingyenes próbaidőszak, utána fizetős, de minőségi netes oktatásban lehet részünk, mindenféle szoftverrel kapcsolatosan, tehát VFXtől játékfejlesztésig bármi.
YouTubeot nem kell magyaráznom, szintén van pár színvonalas ember aki szabadidőből foglalkozik ezzel, és ingyenesen megosztja a tudását, igaz korántsem olyan részletes és profi, mint a DigitalTutors mondjuk.

A fórum maga közvetlen, oda problémát egy az egyben lehet posztolni, általában pár órán belül érkezik konkrét kifejtett válasz. Ezt sem kell tovább fejtegetnem, ha elakadunk valahol, és nem találunk tutorialt, vagy már meglévő megoldásokat, akkor érdemes ide posztolni, természetesen ne legyen titok, hogy angolul, ha választ is akarunk valaha kapni. :)

Játék koncepciója

Projekt ismertetése

A játék alapkoncepciója FPS pszichológiai horror P.T-re és a másik nagy kedvencemre, a Layers of Fear-re alapozva, The Stanley Parable, Portal 2 és Fallout humorral ötvözve. Konkrét ellenség még nincsen kitalálva, ha lesz is, akkor jelenség lesz. Nem kell vele küzdeni, csak menekülni.

Megölni talán meg fognak tudni minket, de mi őket nem. Viszont ehhez később fog kelleni chekpoint rendszer is. Én magára a P.T. demóra alapozok, jóval hosszabb lesz ugyan, de az alapját változatlanul meghagyom kiegészítve a saját dinamikus pálya terveimmel. Története sem lesz igazán, labirintus szerű juss el A ból B be, persze a folyamatosan változó pálya színesíti és érdekessé teszi az egészet, de ennek ellenére lesz ahol lineáris lesz, annak ellenére, hogy a játék fel fog kínálni alternatív útvonalakat. De minden út, ugyan oda fog vezetni, és lesznek kikerülhetetlen csomópontok. Természetesen ez burkolva lesz, pályatervezéssel teljesen ki lesz iktatva a tájékozódási képessége a játékosnak, és a memóriára sem lehet majd hagyatkozni, hogy merre tovább. Meglátjuk mi fog kisülni belőle, a végtelenségig lehet fejleszteni, a határ pedig csak a képzeletem.

Kiemelendő újra, hogy a játék PC FPS horror mezőnyben fog indulni főként!


A karakter talán maga TPS lesz, de FPS nézetben lesz mindenképpen. A TPS alapok az animációk miatt lehetnek fontosak, ez még tesztelés alatt van jelenleg is.
A fő célplatformom jelenleg csak Windows, de ha lehetőségem nyílik máshol is tesztelni (OSX, Linux, PS4, Xbox ONE) akkor mindenképpen terjesztem ott is.
Egyelőre ingyenesre tervezem a teljes játékot, ez azonban a befektetett munkától és pénztől változhat, de semmiképpen nem mennék pár euró fölé, talán csak jelképes lesz, de ez annyira odébb van, hogy további említést nem is érdemel.

A játék a későbbi stádiumaiban meg fog jelenni GameJolton, Kongregaten és Steam Greenlighton is.

Pár szót akkor az alapmechanizmusról:

Belső nézetű pszicho-horror, maximum 1-2 elvétett jumpscare eventtel, de alapvetően hangokkal, a nyomasztó környezettel és a félelemmel fog operálni, majd elegyednek ezek egymással és kész a horror ötvözetem. A fő helyszín egy kórház folyosórendszere lesz, illetve dinamikus lesz maga a pályarendszer, beépülő labirintusok és útvesztők, illetve folyamatosan változó falak és ajtók. Egyszerűsége ellenére változatos lesz, nem lesz két egyforma folyosó vagy szoba. Jelen állapotok szerint, a játék rövidsége miatt nem lesz benne mentés-visszatöltés opció, kizárólag start, kilépés, szünet, minőségbeállítások és hangerőszabályzó.

Kis ízelítő az előre gyűjtött anyagaimból, mégis hogyan néz ki egy kórházi folyosó

Maga a karakter nem fogja látni a lábait, maximum a kezeit de ez még kezdeti stádiumban van nálam.
Nem fog tudni ugrani, futni és guggolni, azonban a mozgása ultra realisztikus lesz belső nézetből is. Lehet érezni, hogy bármerre nézünk, vagy mozgunk, minden különböző. Ez talán VR témában lehet extrán érdekes, de billentyűzet-egér kombóval is élmény lesz irányítani.

További belső funkciók és képességek:

- Q és E betűkkel képes lesz kinézi pl. sarkok mögül, ez végül is egy derékból jobbra-balra hajlás.
- A belső kamerán lesz autofókusz depth of field, tehát a közeli tárgyakra képes lesz fókuszálni, ekkor a háttér homályosodik, de fordítva is fog működni, a közeli tárgyak is homályosodhatnak ha a távolba nézünk. A messzi tárgyak azonban mindenképpen homályosabbak lesznek.
- Lesz némi kamera lag, tehát hirtelen rántásokra nem fog tudni egyből reagálni kb. nyakkitörési sebességgel, ez a beállítás csak realisztikusabbá teszi a mozgást.
- Lencsefoltos kamera ha valamilyen fényforrásra néz.
- Minimálisan fog tudni zoomolni is valamelyik gombbal, vagy kattintásra.
- E, F billentyűkkel vagy kattintással képes lesz ajtókat nyitni vagy csukni.

A fenti képen két teljes animáció képsorozat látható, Kubold Animset Pro 180 darab élő emberekről mintázott és rögzített mozgást tartalmaz, amit mi tovább állíthatunk az igényeinkhez mérten.

A lépéshangok randomok lesznek, nagyjából 20-féle hangból választ ki minden lépésnél egyet.
Ajtók nyitásán csukásán felül, nem biztos, csak hab a tortán, hogy villanyt is fogja tudni kapcsolgatni pár helyen.

A hangok, a tárgyak nagyon magas minőségűek lesznek, azonban a gépigényt igyekszem alacsonyan tartani.

Még bónusz, hogy a legtöbb tárgyra hatni fog a fizika, így a székeket lehet tologatni, ezt azt fel lehet dönteni. Talán kisebb tárgyakat fel lehet majd emelni, de ennek semmi gyakorlati haszna nem lesz.

A játék további optimalizálása PC-re

A saját átlagos, referencia gépemhez fogom mérni a minimum 40-fpst. Későbbiekben dől el, hogy zárolom 30fps-re a játékot vagy hagyom szabadon amerre lát.

A játék optimalizálása egy több hetes folyamat lesz, egybe fogom vonni a bugirtással és hibakereséssel. A három legnagyobb fogyasztó a játékban:

- Modellek, részletességtől és a rajta lévő textúrák felbontásától függően
- Dinamikus árnyékolás
- Részecske szimulációk és effektek pl. szálló porszemcsék a levegőben

A fenti képen látható az adott projekt teljes fogyasztása, minden történés levon a végső képkockasebességből. Érdemes ezt szemmel tartani, ennek a segítségével mindig fogjuk tudni, mi zabálja fel a gépünket épp. Erről bővebben az Unreal wikin lehet olvasni KATT

Illetve itt egy összefoglaló videó egyenesen az Unrealtől, ami mindent elmagyaráz, ami a jó teljesítményhez kellhet.

A jelenlegi gépem, amihez mérem az egészet, illetve amin készül maga a játék:

Operációs rendszerek: Windows 10 TH2 Pro N és Yosemite 10.10.4
Alaplap: ASUS Maximus VII Hero
Processzor: Intel I5 4690K 4.2GHz
Videokártya: ASUS HD 7850 2GB v2 950MHz
Memória: HyperX Savage 8GB 1866MHz CL9

További alkatrészek:
HDD1: WD Blue 1TB (EZEX)
Tápegység: Be Quiet! Straight Power 10 500W CM
Monitor: Dell P2314H színkalibrálva
Processzor hűtő: Alpenföhn Matterhorn Shamrock Edition 2x COOLINK SWiF2

Végszó

Az első részbe nagyjából ennyit szántam, bemutattam az alapvető programokat amikkel dolgozni fogok, az alapkoncepciót, meg ami még fontos lehet kiadás és fejlesztés szempontjából.
A program része bővülni fog, terjedelemben mindenképpen. Egy-egy folyamatot bővebben is be fogok majd mutatni, amit fontosnak tartok és nem unalmas/ felesleges.

Ha bárkinek bármilyen kérdése lenne, PÜ-ben vagy kommentben kérdezzen nyugodtan. Várom az építő jellegű kritikákat nem csak a projekttel kapcsolatban, hanem az írással kapcsolatban is. Igyekeztem összeszedni a gondolataimat, és valahogyan rendszerezni és átláthatóra formázni.
Már lehet ötletekkel, javaslatokkal bombázni, és természetesen továbbra is várom a kérdéseket.

A következő résszel februárban jelentkeznék, akkor már belevágok a közepébe a dolgoknak. Ott elkezdődik a 3DSMax, és a pályaterv elkészítése.

Próbálok egy alap stádium menetrendet tartani, ami a következőképpen néz ki jelenleg:

0) Projekt készítése, engine beállítása, fények, funkciógombok megadása, alapvető személyes beállítások
1) Pályaterv elkészítése papíron, moduláris falak építése Unreal Engine-ben, BSP Brushhal és SuperGriddel (block-in), convertálás statikussá majd exportálás 3DSbe, lightmap kijavítása, falak véglegesítése majd visszaimportálás
2) Karakter elkészítése, alap mozgások és funkciók beépítése
3) Modellek importálása, méretezése, teljes előkészítése
4) Anyagok elkészítése a textúrákból, majd minden egyes modell véglegesítése és elhelyezése. BSP konvertálása statikussá
5) Fények, árnyékolások
6) Animációk elkészítése, importálása és elhelyezése
7) Eventek beépítése, jumpscarek stb.
8) Tömény programozás, alapvető para elemek elkészítése, dinamikus labirintus befejezése
9) Hangok importálása és elhelyezése
10) Karakter befejezése, FPS kamera finomhangolása
11) Utófeldolgozások beállítása, motion blur, lens flare és részecske effektekkel, pálya díszítése.
12) Bugok irtása, végső tesztelések, finomítások
13) Zárt tesztpéldány kiadása pár embernek, majd utána a talált hibák javítása
14) Kiadás és marketing. :)

Pályatervek, buildek majd alpha/béta tesztelésre folyamatosan keresek és fogadok jelentkezőket! Bővebben PÜ-ben tudok erről instrukciókat adni.
Egy szóval, tesztereket keresek a későbbiekre, több szem többet lát, mindenki véleménye számít.

Jelen állásban a játék maximum fél éven belül el fog készülni. :)

Februárban találkozunk, addig PÜben megtalálható vagyok, köszönöm a figyelmet!

Azóta történt

Előzmények