Melyik programozási nyelvet ajánlott egy kezdő számára megtanulni?
Tudom,hogy nagyon sok kérdés volt már ezzel kapcsolatban,de ahogy nézegettem nem igazán tudok dönteni hogy melyik nyelvvel kezdek el foglalkozni.
Pontosan játékot szeretnék készíteni.
15/f
Szerintem Pascal, Lazarus környezetben. Először kezdd az alapokkal, és játéknál is a snake/pongtól indulj (vagy még kisebbel), mert már egy ugrálós játék is rengeteg hibalehetőséget rejt.
Ha komolyabb 2D-3D játékot akarsz később csinálni, akkor szükséged lesz OpenGL, vagy DirectX könyvtárak használatára, viszont ott talán egyszerűbb hosszú távon, ha ismered a C-t vagy a C++ nyelvet, mert ahhoz jobb a dokumentáció, a támogatás, több a példaprogram stb. (persze Pascalban is ugyanúgy lehet játékot írni, pl. két magyar játék - Imperium Galactica, Stickman Warfare - csak a C nyelvek ma kvázi szabványok, ezért ezek az elterjedtek)
"Te jó ég...azt nem mondd hogy az Imperium Galactica pascalban íródott.. azért az elég durván hangzik. :)"
Az alábbi alkalmazást használva:
az Imperium Galactica 1 futtatható állományain, tényleg úgy néz ki, hogy Borland Pascalban fordították.
Bár nagyon gyanítom, hogy azért a forráskód teli van Assembly-betétekkel:
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ó.
Szerény véleményem szerint nem egy konkrét nyelvvel kellene kezdened a programozást, hanem meg kellene tanulnod keresni, pl. a Google-ben. Ezt a kérdést minden nap felteszik legalább ketten, nem hiszem el, hogy nem találtál anyagot.
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!