Számítógépes játék készítők, ti milyen programnyelven írjátok a játékokat?
1.) Melyik problémákat mely nyelven a legelőnyösebb megírni? Mert hallottam hogy az egyes részeit a játéknak más-más nyelven írják.
(Pl. hallottam, hogy a C++ egy elég bonyolult, de mégis elég jó nyelv, amivel kb mindent meg lehet írni, amivel sok más nyelven nagyon nehéz lenne, de mégis sok esetben más dolgokat más nyelveken könnyebb megírni.)
2.) A különböző nyelveken megírt részeket hogyan tudjátok összekapcsolni? Wordben egybemásoljátok a szöveget? Nyilván nem :/ De akkor hogyan tudjátok a különböző nyelvekből elkészített különböző részeket "eggyé" varázsolni? Egy működő egységgé?
3.) Pl. ha valaki megírja, hogy hogyan nézzenek és hogyan mozogjanak a fák. Akkor ti hogyan tudjátok a "megírt fát" beletenni a ti általatok megírt környezetbe? Amit írt a munkatársatok ctrl+c, ctrl+v bemásoljátok? (Tudom, ez a kérdés kicsit hasonlít az előző kérdésemre.)
4.) Hány év tanulás és tapasztalat kell hozzá, hogy valaki profi játékkészítő legyen? Érdemes-e egyetemen tanulni? Vagy az ember többet tanul otthon gyakorolva, meg majd a munkahelyen?
5.) Milyen mértékű matematikai tudás és angoltudás kell ahhoz, hogy valaki profi játékkészítő legyen?
attól függ az ember milyen játék motorral dolgozik, én pl Unityvel és C#-ban programozok
a komolyabb számítás igényű játékokat C++-ban éri meg fejleszteni, például egy másik nagy motor, az Unreal Engine ezt támogatja, viszont a Unityben is lehet ilyen pluginokat betölteni
én csak C#-ban írom a játékkódot és mellé választható egy script nyelv én pl a pythont szeretném, mert blender, gimp...pluginokat is tudok írni ha jártas vagyok benne
ez a script nyelv nem kötelező, csak ha szeretnénk szöveges fájlból futtatható kódot
de például a minecraft javaban íródott és az android nyelve főként a java
viszont a nagyobb játékmotorok megengedik azt, hogy Unity-C# Unreal-C++ kombóval csinálj játékot több platformra is, mint például androidra (ennek a hátterét nem részletezném)
pl írok C++-ban egy plugint, akkor unitybe berakom a megfelelő mappába és máris tudom használni a benne megvalósított funkciókat
python scripteket futás közben beolvasok és futtatok (ehhez persze kellenek megadott feltételek)
egy játék nem csak a kódból áll, kell hozzá grafika, animáció, hangok......szóval még sok dolog
ha érdekel a dolog nézz pár tutorial videót, rákeresel youtubeon: "how make basic menu in unity" és meglátod hogyan csinálják
a fejlesztéshez vannak eszközök, programok amik segítenek és nagyon megkönnyítik a munkát
nem word, meg notepadban programozunk
hanem egy megfelelő IDE-t keresünk erre (pl Visual Studio)
nem vagyok profi, kb 3.5 éve csinálom, de még sok van hátra, főleg hogy a játékmotor is fejlődik és nyomon kell követni a változásokat
egy játékmotor rengeteg dolgot a kezed alá ad és nem kell neked dolgoznod érte, nem kell megint feltalálnod a kereket
mint minden másban itt is vannak specializálódások, tehát nem mindenhez ért 1 ember, hanem egy adott területhez, persze van egy általános tudása mindenkinek jó esetben, de van aki például csak a mesterséges intelligenciával foglalkozik, van aki csak a GUI-k mögötti kódokkal...
angol az nagyon fontos, a matek gyakran elhanyagolható, de nagyon projekt függő
ezt úgy értem, hogy egy sima középiskolás matek nagyon sok játékhoz elég, de ha már komolyabb dolgokat akarsz számolni, akkor utána kell járnod azért sok dolognak
Rossz helyen tetted fel a kérdéseidet.
Itt nemigen fordulnak meg játékprogram fejlesztők, akik meg esetleg mégis, azok sem tudnak nálad sokkal többet erről. Lásd: Az első válaszoló hozzászólását.
szóval az indie fejlesztés már nem is számít játékfejlesztésnek? csak az engine és AAA-s gamek jöhetnek szóba? :D
ahogy látom 2-es te "sem" vagy annyira járatos a témában :D
Unity a C#-hoz van, a Pythonhoz ott van a pygame (lassabb játékokhoz). Legtöbbször C++-t használnak valamivel.
Vannak olyan nyelvek, amikbe alapból bele van építve bizonyos más nyelvű egységek meghívásának lehetősége (Lua: C. Scala: Java, C#). C++-ban például externnel deklarálhatod a más nyelven megvalósított egységet. De jöhet egy apacs is
vagy a CORBA
vagy valami más technológia.
Meg van írva a fa, a programod készít annyi fát, amennyi kell, olyan paraméterekkel, amilyenek adódnak. Nem a kódot másolja át, hanem kéri a fát, hogy valósítsa meg ezekkel a paraméterekkel, objektumokat hoz létre.
Egy profi angolja minimum felsőfokú, és van 2 év otthoni, és legalább 5 év vállalati tapasztalata. Matekból leginkább a lineáris algebra és a logika érdekli.
Játékprtogramok fejlesztéséhez bármilyen általános célú nyelv megfelel.
Azért használják jobbára a cpp-t, mert OOP nyelv és a játékfejlesztés esetében általában van előnye az OOP-nek.
Más nyelvekkel való ötvözése nem szokás.
az más, ha egy script nyelvet építenek be, mert a script sok előnnyel jár, gyorsabb a fejlesztési és a tesztelési idő.
A különféle motorokkal történő játékfejlesztés nem igazán fejlesztés, mert ott mások által megírt kódot hasznosítasz, tehát, nem a tied a munka oroszlánrésze.
Az a játékfejlesztő, aki ilyen motoreokat ír, nem az, aki ezeket használja.
A játékfejlesztés ma már nagyon összetetté vált.
Olyan, hogy játékfejlesztő, nem is igen létezik. Szakosodni kell valamilyen irányba.
Régen a mókus nekiült és egyedül, vagy másodmagával megírta a játékot, elkészítette a grafikát, a zenét, a hangeffekteket.
Ma már ez nem járható út.
A grafikus full hülye a programozáshoz, a zenész pláne, de sokkal jobban tud grafikázni, zenét komponálni mint egy fejlesztő.
Ez ma a trend.
Egyedül ma már szinte lehetetlen eladható játékot fejleszteni, de még játszhatót is.
Bullshit, egyedül is lehet játékot készíteni, de nyilván nem egyszerű. Az, hogy miben íródik egy játék, annyira nem fontos, abban kell írni, ami a célnak leginkább megfelel. Igazából általában minél magasabb szintű nyelven el tudod készíteni azt, amire gondolsz, úgy, ahogy gondolod, annál jobb.
Angoltudás nélkül ne akard, hogy a világon bárki komolyan vegyen, nem fognak, és nem véletlenül. Nem szükséges matematikusnak lenni se hozzá, csak logikusan kell gondolkodni.
". Igazából általában minél magasabb szintű nyelven el tudod készíteni azt, amire gondolsz, úgy, ahogy gondolod, annál jobb."
Na, ez a bullshit.
Meg az, hogy nem kell hozzá matek.
#5:
te miről beszélsz?
minek találjuk fel újra a kereket?
miért kellene minden projekthez újra megírni a renderert, fizikát........?
a Unity nem írja meg helyettem a játékot, csak egy általános eszközt ad a kezembe, de ha így nézzük, akkor igazából a magas szintű nyelvekben való programozás sem programozás, hisz nem gépikódban írjuk a kódot
egy játéknak a mechanikájának megírásához nem letöltök egy kód gyűjteményt, hanem fogom 0-ról neki állok összeírom milyen funkciókat szeretnék megvalósítani, az Entity-Component-Systemnek megfelelően megtervezem az osztályokat
minek írjak meg 10001-jére renderer függvényeket? fizikát? (persze ha sajátra van szükségem, akkor megírom, de alapjáraton ezek általános dolgok)
tényleg igaz, hogy rengeteg kód letölthető, de az sok esetben kb egy prototípushoz elég, azon még van mit csiszolni, meg optimalizálás szempontjából nem is előnyösek ugye
mondhatok neked sikeresebb játékokat miknek belenéztem a forráskódjába (Forest, Rust), na ott a fejlesztők egy része azt se tudta merre van arccal kb
Forestben jármű irányítás? (nincs is ilyen funkció a játékban!), a Rust meg nem kicsit elhanyagolta az optimalizálást több téren is (mondjuk itt most elsősorban nem kód szinten fedeztem fel hibákat, a kódot már végig sem néztem inkább, mert amire addig eljutottam, addigra már sok volt, hogy ennyire lexarják)
ismerek olyat aki C++-ban ír játékmotort, de ő pl nem is nevezi magát játékfejlesztőnek, ő külön kihangsúlyozza, hogy ő játékmotort fejleszt és nem játékot, szóval pont aki szerinted játékfejlesztő az pont nem tartja magát annak, hisz ő tényleg nem csinál soha játékokat
elismerem a tudását, mert tényleg rengeteg képletet ismer, meg technológiával foglalkozott, viszont ő soha nem csinál játékot, csak elősegíti azoknak a fejlesztését
a script nyelvekre én a saját meglátásomban úgy céloztam, hogy olyasmire használom, mint a WOW az addonokat, hogy van egy API amin keresztül már a scripter felhasználók tudnak scriptelni és így pl egy HP csíkhoz én az adat elérést biztosítom és nem rajzolgatom ki a GUI-kat
ez azért előnyös, mert van aki csinál HP csíkot, más kört, a harmadik meg egy szívet animál alatta mondjuk kiírva számban mennyi az annyi...
a testreszabhatóság és a több szálon történő fejlesztés miatt ez előnyös szerintem
#6:
lásd minecraft, egy ember csinálta
ez a minél magasabb szintű nyelvben elkészíteni dologgal nem teljesen értek egyet, időben és tudásban kevesebb szükséges ehhez, viszont mondjuk ha egy komolyabb erőforrást igénylő játékot csinál valaki, akkor jó ha tudja a játékot minél jobban optimalizálni
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!