Játékok programozása C++-ban?
#9:
A nagy cégek nem pancserek. Abban különböznek mondjuk tőled, hogy ők megirathatnák a saját game engine-jüket, csak tudják, hogy kifizetődőbb egy meglévőre építkezni, megspórolva ezzel sok-sok munkát és pénzt. Az ő szintjükön ez érthető is.
Te ezzel szemben nem lennél képes ilyen motorok fejlesztésére, ezért is használod ezeket.
A kérdező, ahogy írtam is fentebb, valószinűleg nem arra kiváncsi amire te, hanem a dolgok mélyébe szeretne látni.
Az sem mellékes talán, hogy csak így válhat belőle is ilyen engine-ek fejlesztője. Mert az a buli, ha amit valaki megír azt mások, ezrek használják, nem pedig az, amit te is csinálsz, hogy egy vagy azon ezrekből, akik más munkáját használják fel. Jobbára anélkül, hogy tudnák, vagy egyáltalán, kiváncsiak lennének arra, mi is történik valójában.
Kicsit fogalmazhattál volna normálisabban hamarabb, de egyébként valamilyen szinten igazad van, az alapjait kérdezte a kérdező, amire nem feltétlen ezek az enginek a megfelelő válasz.
Én azért ajánlottam ezeket a nagyobb engineket, mert egy játékfejlesztőnek nem feltétlen kell tudnia, hogy hogyan működik minden egyes dolog azon a motoron, amin a játéka fut. Rengeteg indie fejlesztő és nagyobb cég használja ezeket, és lett sikeres productjuk ezek segítségével.
Az Unity/Unreal Engine egy kész eszközt ad a kezedbe, és ha tisztában vagy az általuk támogatott programozási nyelvel (és az enginek által biztosított lehetőségekről - nyilván ezt is folyton tanulod, miközben használod őket), akkor körülbelül mindent megtudsz oldani, amit szeretnél. Ha te magad írod az egész játékot a nulláról (ami nem nagyon jellemző indie játékfejlesztők körében, sőt a cégek is nagyrészt kész motorokat használnak új játékokhoz, maximum fejlesztik a régit), akkor elég korlátozott lehetőségeid vannak, rengeteg időt emészt fel, stb.
Nem azt mondom, hogy rossz dolog nulláról írni játékot, hasznos dolog tanulás szempontjából az biztos (és nagyon egyszerű játékoknál nyilván nem egy vészes dolog), viszont sok munka és kevés eredmény, ami elveheti a kedvét akárkinek a játékfejlesztéstől, míg egy kész engine alatt játékot készíteni sokkal hatékonyabb és látványosabb eredményeket érhetünk el.
Mondjuk ha a kérdező játékmotorok fejlesztésével szeretne foglalkozni, akkor ne ezeket használja :D
#11:
Ha akarnám én is megírhatnám a saját játékmotoromat, csak nem ma, hanem sok-sok év tanulás után.
Ismerek olyat aki ezzel foglalkozik és a tudása messze túlmutat az enyémen a számára fontos területeken, viszont van ahol meg én vagyok a tapasztaltabb és az aki jobban kiismeri magát. Elismerem, hogy a saját játékmotor fejlesztés nem egyszerű, akivel együtt dolgozik van aki saját op rendszert is írt direktbe célspecifikusan. A saját játékmotornak legtöbb esetben ez a lényege, hogy célspecifikusan ráhegyeznek bizonyos feladatokra 1 motort ami miatt arra a játékra az a motor jobban megfelel.
Én nem is szeretnék egyenlőre saját játékmotorba fogni, később is, ha szeretnék inkább olyanokat fizetek meg akik elég régóta foglalkoznak ezzel, mert én még csak pár éve vagyok komolyabban a szakmában és nem is érdekel ilyen szinten a játékmotor fejlesztése.
Viszont akik ezeket az engineket fejlesztik ők NEM nevezik magukat játékfejlesztőknek. Erről jó pár órát átbeszélgettünk már. Ők nem játékokat fejlesztenek, hanem annak egy elég fontos mozgató rugóját. A kérdező szintén játékot szeretne fejleszteni és nem játékmotort ahogy a leírásából kiderül. Persze ezt ő maga fogja eldönteni, hisz most azt se tudja mi a különbség a játékmotor fejlesztés és a játékfejlesztés között. Nem kell feltalálni újra a kereket, ezért is éri meg megfelelő szakemberek által készített eszközöket használni, legyen szó játékmotorról, vagy csak egy assetről.
"Viszont akik ezeket az engineket fejlesztik ők NEM nevezik magukat játékfejlesztőknek. Erről jó pár órát átbeszélgettünk már. Ők nem játékokat fejlesztenek, hanem annak egy elég fontos mozgató rugóját. A kérdező szintén játékot szeretne fejleszteni és nem játékmotort ahogy a leírásából kiderül."
Fiatalabb koromban volt két nálam idősebb haverom, akik egy kölföldi PC-s ujság melékleteként fejlesztettek játékokat, hónapról hónapra.
Ezek a kis játékok, jobbára 2D mászkák voltak. Hogy havonta tartani tudják a határidőt, írtak maguknak egy 2D engine-t, amihez már szinte csak a grafikát, hangot kellett hozzáadni, meg némileg módosítani a játékmeneten. Ez volt az első játék engine amivel életemben találkoztam.
Ők, mindenesetre játékfejlesztőnek tartották magukat.
Az engine-ek célja tulajdonképpen az is, hogy ne kelljen megismételni bizonyos munkafázisokat. Így is válnak kifizetődővé, másképp nemigen.
"Persze ezt ő maga fogja eldönteni, hisz most azt se tudja mi a különbség a játékmotor fejlesztés és a játékfejlesztés között. Nem kell feltalálni újra a kereket, ezért is éri meg megfelelő szakemberek által készített eszközöket használni,"
Ez ennél árnyaltabb.
Nem a kerék újra-feltalálása a dolog lényege. Ennél sokkal több, fontosabb. A kiváncsiság. Na meg az, hogy a játékprogram fejlesztése lényegében játszva tanulás. A játékprogramok sok és szerteágazó tudást igényelnek, ez pedig azt eredményezi, hogy aki ilyesmit fejleszt, az megmerítkezik olyan területeken, amelyeket a játékfejlesztésen kívül is hasznosíthat. A 3D modellezésben, az MI-ben, prezentációk, grafikai elemek, grafikus kezelőszervek készítésében, adatfeldolgozásban, CAD, DSP szoftverek fejlesztésében és még száz, ezer helyen jól fog jönni az a tudás, amire szert tesz. Még akkor is, ha nem fog komolyabb engine-t írni még magának sem, csak fejleszt 8-10 játékprogramot egyedül, vagy másod-harmadmagával.
A játékfejlesztés tette nevessé a második programozó generáció nagy öregjeit is, szinte kivétel nélkül.
John Carmack, Jordan Mechner, John Romero, Steve Russel, ...
#14:
ha a motort használják és ezzel játékokat is adnak ki, akkor igen játékfejlesztők IS
akiket mondtam ők nem adtak ki játékokat, csak játékmotorokat fejlesztenek (főleg megrendelésre)
Persze eléggé kifizetődő lehet ha neki áll az ember bárminek is ilyen téren. Csak annyi lehetőség és ág van mind1 játékfejlesztésben, mind csak játékmotor fejlesztésben, hogy mindenhez nem is lehet érteni mélyebben.
Én játékfejlesztésnél nem foglalkozom azzal mélyebben, hogy mitől jelenik meg a kép, vagy mitől játszódik le a hang, vagy épp mitől lesz multiplatformos egy adott funkció. Akit ez érdekel az utána mehet persze, van aki ezt élvezi. Ha a játékfejlesztésnél csak a programozást nézzük, akkor is rengeteg ág van, mert sok-sok feladat és elmélet van. Játék és játék között is óriási különbség van, néha belepillantok 1-2 nagyobb indie játék forráskódjába és devblogjába és csak nézek, hogy vannak benne eléggé gányolások, mellette persze a nagy cégek is képesek erre, ha úgy van, de szerencsére ők kevésbé nagy hibákat követnek el. Valahol el kell kezdeni tudás és projekt szinten is, de szerintem nem a gameengine az a szint ahol egy teljesen kezdőnek kellene kezdenie a dolgokat. A játékmotoron belül is elég sok feladat van és ugye konkrét igények nélkül még csak beleveszne egy kezdő.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!