Kezdőoldal » Számítástechnika » Programozás » Milyen programok kellenek egy...

Milyen programok kellenek egy számítógépes játék elkészítéséhez?

Figyelt kérdés
Hogy készítik a játékhoz használt motorokat, és mivel programozzák a játékot?
2012. jan. 4. 19:54
1 2
 1/15 anonim ***** válasza:
54%

Naponta teszi fel szinte ezt a kérdést.


Először is nem árt megtanulni programozni.

Aztán nem árt egy programozási nyelv alapos ismerete (általában C++ jellemző).

Aztán kell baromi sok matematikai ismeret. (Vektorok, mátrixok.)


Ha ez megvan, akkor el lehet kezdeni egy jó játékot összerakni.

2012. jan. 4. 20:00
Hasznos számodra ez a válasz?
 2/15 anonim ***** válasza:
40%
2012. jan. 4. 20:19
Hasznos számodra ez a válasz?
 3/15 anonim válasza:
100%
Tomi3 ne ajánljál már neki közel 10 éves szoftvert. A Game Makernek már a 8-as verziója aktuális. Amúgy nagyon jó kis fejlesztői eszköz nagyon egyszerű nyelvvel.
2012. jan. 4. 20:25
Hasznos számodra ez a válasz?
 4/15 A kérdező kommentje:

Tehát érdemes lenne alaposan tanulni a c++ programozást?

És a játékok grafikus részét milyen programmal alkotják meg?

2012. jan. 4. 21:22
 5/15 anonim ***** válasza:
77%
OpenGL, DirectX... Szinte bármilyen komolyabb nyelvhez van libje. Na meg persze ehhez kell a matek.
2012. jan. 4. 21:35
Hasznos számodra ez a válasz?
 6/15 tabaki ***** válasza:
Ha a grafikus részen a tényleges rajzolást illetve 3d-modellalkotást érted, teljesen hétköznapi, akár ingyenes szoftverekkel is megoldhatók, más kérdés, hogy profi szinten hasznosabb valamelyik piacvezető programot használni. A lényeg, hogy a játékok grafikai elemeiben semmi extra dolog nincs, ami megkülönböztetné őket más képektől vagy modellektől, minden azon múlik, hogy a program hogyan használja fel őket. Vagyis a programozáson.
2012. jan. 5. 00:26
Hasznos számodra ez a válasz?
 7/15 anonim ***** válasza:
100%

Egy számítógépes játék elkészítéséhez alapvetően szükség van egy:


-grafikus motorra

-játék motorra

-fizikai motorra


Ezeket a nagyobb játékfejlesztő cégek maguk programozzák a 0-ról és ez lényegében a játékfejlesztés legmagasabb szintje,szóval egyenlőre nem ajánlom hogy ezzel kezdj foglalkozni.Ilyen motorokat lényegében bármilyen programozási nyelven lehet írni,a legelterjedtebb a C++ de használnak akár Basic-et vagy C#-ot is például.Ez a programozó döntése.Magát a programozást,minden nyelv esetében úgy nevezett fordítókban "compilerekben" végzik.Ezek lényegében olyan programok mint egy szöveg szerkesztő (ezzel gondolom csak találkoztál),csak ezek a fordítók úgymond "értik" a programozási nyelvet és képesek lefordítani a számítógép számára ami által a számítógép képes végrehajtani az utasításokat.Ezért hívják fordítónak őket,mert lefordítják a programozási nyelvet gépi kódra.


Hogy részletekben hogyan csinálják ezeket a motorokat,azokkal vastag könyvek foglalkoznak nem beszélve a mögöttük álló komoly matematikáról,főleg a fizikai motor esetében.Szóval ha érdekel,kezdj el tanulni de ne várd hogy bárki itt ezt lefogja írni neked komolyan.


Ha az érdekel hogyan tudnál játékot csinálni,kezdetben használhatsz úgy nevezett "makereket" játék fejlesztő programokat amikben programozás nélkül összelehet állítani egy játékot.Például:


FPS Creator

The 3D Gamemaker

X-Quad Editor

Game Maker

Game Editor

Maker3D

RPG Maker

3DRad


és még sorolhatnám.Persze az ilyen programokból sokat nem fogsz tanulni.Ha célszerűbb megoldást szeretnél,akkor használhatsz például játék fejlesztésre kialakított nyelveket mint a DarkBasic,BlitzBasic,PlayBasic.Ezek olyan nyelvek amik sok olyan utasítást,parancsot (funkciót) tartalmaznak amik a játék fejlesztést hivatottak le egyszerüsíteni.De a legcélszerűbb ha elsajátítasz pár egyszerűbb általános nyelvet mint a Pascal,Basic,Lua,C#..stb Akár többet is.És használhatsz kész motorokat mint a:


Unity

Shiva3D

UDK

Leadwerks

3D Game Studio (A Engine)

XNA Game Studio


Rengeteg ilyen kész motort lehet találni,amire valamilyen általános nyelven lehet kódolni.De ez még csak a szellemi része a dolognak amit végülis így magában "nem látsz".Ezen kívül a játék fejlesztéshez szükség van modellekre,hangokra,textúrákra,animációkra..stb..stb amik megtöltik a játékot vizuális tartalommal és amikre hatással van végülis a grafikus motor,fizikai motor és játék motor.


Szóval a motorokon,fordítókon túl szükség van még


-modellező programra

-kép szerkesztőre

-hang szerkesztőre


is például.

2012. jan. 5. 01:25
Hasznos számodra ez a válasz?
 8/15 A kérdező kommentje:
Köszönöm a válaszokat!
2012. jan. 5. 14:58
 9/15 anonim ***** válasza:
93%

Ha valaki egyedül fog neki egy komolyabb motort fejleszteni, az 10 évig is kódolhat akár, addig pedig rengeteget változik a hardver.


Az álmot, hogy játékfejlesztőként dolgozz, elfelejtheted. A Crytek Budapesti divízióját 80 főről 30-ra csökkentették. Magyarul kirúgtak 50 embert, mert sajt. És hogy még megalázóbb legyen, tablet PC-játékok készítésével bízták meg őket. Arról nem is beszélve, hogy hallottam olyan játékprogramozóról Mo-n, aki 8 hónapig nem kapta meg a fizetését.


Hobbiból viszont lehet csinálni, gyakorlásnak nem rossz, ha más cégnél szoftverfejlesztőként szeretnél elhelyezkedni (referenciának viszont ne ezeket mondd). Javítsatok ki, ha tévedek. Talán indie-fejlesztőként is lehet csinálni valamit.


Különböző módok vannak játékkészítésre :


a) Game Maker, FPS Creator, RPG Maker, egyéb játékkészítő programok használata


Az egyetemi nyíltnapon diákként bemutatót tartottam standomnál végzős középsulisokak. Saját programozott játékomat ismertettem, mutattam a forráskódot és módosításokat végeztem. Akik szakközepesek voltak, azokkal programozásról is el tudtam beszélgetni. Valaki megkérdezte tőlem : "Ismered az RPG Makert? Szerintem nagyon jó cucc!"


Valamelyik nyáron használtam, ám most, mint programozó azt mondanám, hogy nagyon amatőr dolog ilyen játékokat csinálni (hát még piacra dobni). Már nem használok, már csak azért sem, mert nem vagyok jó dizájnernek. Csináltam egy szobát és kész. Én inkább programozni szeretek, felépíteni a vázat, az "igazi világot", amiben az emberek játszanak. Kétségtelen viszont, hogy a level-dizájneri, játékdizájneri hajlamokat remekül ki lehet élni bennük.


b) Meglévő játékok MODolása


Unreal Tournament-ben Star Wars-témájú total conversion-t csinálni, GTA-ban Superman-ként repkedni, Source Engine-ben küldetések készítése, The Witcher pályaszerkesztőjének használata... Minden lehetséges, ha a Mod haználójának megvan a játék. Ritka az eset, hogy a piacon is lehetne érvényesülni (példa a Counter-Strike és Team Fortress Classic, melyek a Half-life modjaiként indultak) és itt is a dizájneri hajlamokat lehet kiélni. Kis szkriptelés van (például Lua), ügyesebbek pedig jobban belenyúlhatnak a játékba, ami ugye nem a sajátjuk.


c) Flash-játékkészítés


Eddig ez a legjobb választás kezdőknek. Lehet kezdeni Adobe Flash CS5-el és ActionScript 2.0-val. A CS5 előnye, hogy helyben rajzolhatod meg karaktereidet illetve a menüt. Alaposabb használat után rájön az ember, hogy a CS5 DÖGLASSÚ még a leggyorsabb gépeken is. A progit eredetileg flash-animációk tervezésére készítették, a timeline-rendszer sokakat az őrületbe kergethet, mivel össze-vissza lesznek a kódok. Így hát váltottam a Flex SDK-ra, melyet gyors FlashDevelop-programmal használok. Az igazi (flash)programozó választása! Fűszerezzük meg az objektum-orientált ActionScript 3.0-al, ami miatt sok 2.0-ás meg fog engem kövezni, hogy miért egy iszonyúan túlbonyolított AS-el szenvedek, de én jobban szeretem az objektum-orientált megközelítést, ezután az AS 2.0 amatőrnek tűnik nekem.


Előny :

gyors játékkészítés, remek eszköz "prototyping"-ra, azaz játékötletek tesztelésére. Ügyes programozók a működő flashjátékot átírhatják kedvenc nyelvükre és compile-olhatják ("exe-síthetik"). A flashjátékokat bárki játszhatja, akinek van böngészője Adobe Flash Player-el.

Hátrány :

A játék nem fut olyan gyorsan, mint egy igazi program.


c) Python-nyelv, pyGame-könyvtárral


A Python egy könnyű szkriptnyelv, ami lerövidíti a programozási időt azzal, hogy egyszerűbb szintaktikája van az egyesek szerint rémálomszerű C++-nál (Miért? Annyira nem is rossz. Ti még nem láttatok assembly-t vagy Lisp-et) és nem kell kapcsos zárójelekkel, ponosvesszőkkel majomkodni. Helyettük KÖTELEZŐ tanulátor-használat van, ami szép olvashatóvá teszi a kódot.:) Viszont rengeteget szentségelek, amikor egy tabulátor rossz helyen van, vagy azt hiszi az IDE, hogy valahol szóközt felejtettem bent.


Futtatáshoz python-környezet kell, ha le akarod fordítani ("exe-sítééés"), akkor nem külön program, hanem egy másik python-szkript kell, amit a Windows parancssorával kell futtatni.


A pygame tökéletes arra, hogy a 2D-s játékok architektúrájának egy alapvető részére tanítson meg : blittelés és sprite-ok használata. Ügyes pythonisták ezt is használhatják "prototyping"-ra (nem összekeverendő a C++ prototype-jaival, amik azt jelentik, hogy a Main után deklarálnuk eljárásokat), valamint Blenderrel használva 3D-s játékokat is lehet csinálni. Profik pyOpengl-el is machinálhatnak. Egyes nagyobb játékoknál (például Battlefield) a játék motorját C++-ben írják meg, logikai részét pedig pythonnal.

Hátrány : nem olyan gyors, mint egy C++-ben megírt program.


Reggel még folytatom d) e) és f)-ponttal. Nem hiszem el, hogy képes vagyok ennyit írni, azt még kevésbé, hogy ezt valaki el is olvassa.

2012. jan. 9. 00:51
Hasznos számodra ez a válasz?
 10/15 anonim ***** válasza:
84%

d)C++ használata SDL/SFML/Allegro-könyvtárakkal


Hasonlóan lehet ezekkel 2D-s játékokat készíteni, mint a pyGame-el, sőt, a pyGame nem más, mint az SDL Python-os utódja. OpenGL/DirectX programozási ismerettel 3D-ben is lehet alkotni.


SDL : Simple Directmedia Layer. Az alap ipari szabvány játékkészítésnél. Ha egy projekthez ember keresnek, akkor megkérdezik, hogy "Na és van SDL-ismereted". A Neverwinter Nights-nál használták.


SFML : Simple and Fast Multimedia Library. Olyan, mint az SDL, csak több feature-el. Jelenleg ezt is használom, bár megvan az SDL is. Hátrány, hogy a tutorial-ok néha átláthatatlanok tudnak lenni.


Allegro : Hallottam olyanokat, hogy a DOS-os időkben még jó volt, manapság viszont vannak jobbak nála.


e)Meglévő engine használata C++-vel


Az id nyílttá tette az id Tech 4 engine (Doom 3, Quake 4) forráskódját, ám ahhoz, hogy ne csak FPS-et lehessen csinálni, ahhoz mélyen bele kell nyúlni a motorba. A két leghíresebb nyílt forráskódú grafikus motor : Ogre3D és Irrlicht.


Az Ogrét nagyobb játékoknál is használták, grafikailag többet lehet kihozni az Irrlichtnél, ám ára is van : régebbi gépeken lassabban fut, valamint bonyolult használni.


Kezdetnek az Irrlichtet tudom ajánlani, ami ha grafikailag nincs toppon, de könnyű beletanulni. Nem csak C++-vel lehet használni, hanem .NET-el is.


Ezek viszont még csak grafikai motorok. Ezen kívül szükséged lesz hálózati API-ra, fizikai motorra (Newton például) és még egyéb dolgokra.


Ha 2D-s játékot akarsz készíteni, akkor pazarlás motorokat használni.


f) Teljesen nulláról kezdés, C++, OpenGL/DirectX-ismerettel, egy kis assembly


Hajrá. Vannak bizonyos emberek, akik szórakozásból csak a grafikát csinálják meg. Jó OpenGL/DirectX-ismerettel remek effektusokat, pixel shadereket lehet írni. Az assembly pedig nem más, mint a számítógép gépi kódjaival megfelelő szimbolikus utasítások. Ritkán használják, leginkább akkor, ha egy C-ben megírt program lassabb részeit akarják optimalizálni (finomhangolás). Remélem nem kell használnod, bár hallottam olyan emberről, aki csak az assembly-t ismerte.


Ennyi lenne. Ha lenne kérdése bárkinek, küldhet privátot. Ez az oldal kitűnő kiindulási pontnak : [link]

2012. jan. 9. 12:17
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!