Mennyire bonyolult Windowsra csinálni DirectX segítségével, akár 2D/3D -s játékot? Van magyar leírás egészen az alapoktól?
"DirectX -nél pedig sok olyan van amit nem kell tudnod, hogyan csinál, csak azt mit csinál."
Mondja ezt a nagy hozzáértő, aki pár hete c++ -ozik...
LOL :D
Ha meg úgy állsz hozzá, hogy lehetetlen, máris felejtsd el a programozást.
#11
Ez az API lényege.
Bemásolok neked egy korábbi, ámde nagyon frappáns választ:
Nézd el nekem, hogy játékfejlesztés fejé hajlik a dolog, de itt mindenki Crysis 26-ot akar írni.
Szépen sorjában így lenne illő haladnod:
- Mi az a programozás, mire jó, miért jöttek létre a számítógépek?
- Tanulsz egy kis algoritmizálást, hogy pszeudokódban hogyan lehet megírni egyszerűbb programokat, megtanulsz egy-két vezérlési szerkezetet (ez ahhoz kell, hogy segítse a programozói gondolkodás kialakulását)
- Elsajátítod az egyszerűbb adatszerkezetek elvi működését (tömb, láncolt lista, verem, sor, hash tábla stb.)
- Választasz egy programozási nyelvet, mondjuk kezdésnek a Pythont szokták ajánlani a leggyakrabban. No, én azért ajánlom ezt a nyelvet neked, mert rákényszerít, hogy olvasható, jól tagolt kódot írj.
- Hello World
- Kifejezések, utasítások
- Változók
- Egyszerű beolvasás konzolról
- Vezérlési szerkezetek
- Előre megírt függvények használata
Most tartunk ott, hogy meg tudsz írni egy "gondoltam egy számot, találd ki" játékot
- Függvények, eljárások írása
- Karakter/stringkezelés
- Fájlkezelés (szöveges és bináris)
Már meg tudsz írni egy Legyen Ön is Milliomost konzolosan
- Új programnyelv választása, ha olyat választottál először, ami nem tud OOP-t. Itt már erősen ajánlom a C#-pot, mert kezdők könnyen tudnak vele ablakos progikat készíteni mindenféle segédeszköz (pl. Qt) nélkül. [Java téren a Swing-et próbáltam eddig, és hát meg is van a véleményem róla...]
- OOP alapelvek megismerése
- Eseményvezérelt programozás, egyszerű ablakos szoftverek készítése
- XML, JSON állományok létrehozása és feldolgozása
- Egy RDBMS rendszer megismerése (pl. MySQL, Microsoft SQL Server, Oracle...)
- Több szálon futó programok, párhuzamosítás
- Hálózati alapismeretek elsajátítása, főleg TCP és UDP
- Hálózaton kommunikáló programok írása
Már mehet a felhasználóbarát ablakos kvízjáték hálózaton multiplayerben
- Matematikai ismeretek elsajátítása, vektorok, mátrixok, koordinátageometria, koordinátatranszformációk mátrixokkal
- Számítógépi grafikai ismeretek, hogyan rajzol ki a gép egy pontot, vonalat, görbét, Window to Viewport transzformáció, 3D-s objektum leképezése 2D síkra, stb.
- DirectX vagy OpenGL közül választasz egyet
- Megpróbálod alkalmazni a grafikai ismereteidet
- Felhasználói interakció kezelése
- Textúrázás
És, már mehet a már immáron grafikus kártyát kihasználó multiplayer Pong vagy valami platformjáték
- Egyszerűbb 3D-s objektumok rajzolása, animálása
- Összetettebb 3D-s világ létrehozása
- Megpróbálsz megírni egy egyszerűbb grafikus motort (hogy lásd a lelki világát mondjuk a CryEngine-nek)
És már meg tudsz írni elméletben egy WoW-ot (csak épp egyedül kevés vagy hozzá).
Ha a játékban ellenséget is akarsz magadnak, akkor ismerkedj meg a mesterséges intelligencia alapjaival, hogy hogyan írunk le egy problémát (állapottér-reprezentáció), hogy milyen algoritmusok segítségével lehet utat találni a kezdetektől a célállapotig (erre jók a megoldáskeresők, pl. próba-hiba, hegymászó algoritmus, backtrack algoritmusok, ág és korlát, A, stb.), és ismerkedj meg a lépésajánló algoritmusokkal (minimax, negamax), amik egy adott állapotra meghatározzák a létező legjobb lépést.
Üdv, egy másodéves programtervező infós hallgató.
Így igaz.
Az analógiádat követve a vezető egy játékos, aki játszik a játékkal. Neki nem kell tudnia, mi történik a "motorháztető" alatt. Nem a dolga, nem is érdekli, neki a lényeg, hogy menjen az autója.
Te viszont nem vezető akarsz lenni, hanem motor és autótervező mérnök, akinek a dolga, hogy alapegységből (csavar, fémdarabok, olaj) összehozzon egy működő motort. Okés, hogy vannak részegységek, de ha nem tudod, hogyan működnek a részegységek, akkor egy sz@r motort fogsz összerakni, ami büdös, hangos és a bemenő benzin legnagyobb részét hővé és füstté alakítja, és fogyaszt majd 200 litert 100km út megtételéhez.
Ez nálad a jó cél? :)
Kedves nagyon ostoba és fafejű kérdező... Hogy várod el hogy segítsünk ha nem hagyod? Többen állítjuk hogy egy API-hoz igenis kell ismerni hogy hogyan működik. Te ennek ellenére váltig állítod hogy márpedig nem. Lehet hogy nem véletlenül mondjuk? Lehet hogy van tapasztalatunk ebben? Erre nem gondoltál? Hogy egy kis senki aki pár hét alatt már le tud írni egy kis hello world-öt C++ -ban, már megmondhatja mit kell tudni és mit nem? Lehet hogy nem is tudod mi az az #include az elején csak tudod hogy kell... Hogy akarsz te majd komolyabb dolgokat írni?
Nem baj, majd a sok fejfájás, debug felnyitja a szemeidet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!