sdl jatek

 ( sandorlev | 2010. március 26., péntek - 21:13 )

hello!

tudom, hogy nem nagyon ide illik, hanem inkabb valami gamedev.net vagy hasonlo forumaba, de ott nem hiszem hogy talalnek segitokesz, vagy erdeklodo embereket. az a lenyeg, hogy elkezdtem egy jatekot csinalni c++-ban, sdl-t hasznalva. nem 'megcsinalom a legjobb mmorpg-t' stilusban, egy sima 2d-s, platformjatek lenne, de minel szebben szeretnem megirni, hogy kesobb egyszeru legyen boviteni (pl. arra gondoltam, hogy megcsinalhatnam multiplayernek). azert kerek segitseget, mert az sdl-be mar ugyan kezdek beletanulni, meg soha nem irtam 200-300 sornal hosszabb programot c++-ban (ugyhogy mondhatjuk sosem irtam meg programot c++-ban), igy nem igazan tudom miket rakjak kulon headerbe, miket definialjak konstans kent, hova definialjam oket, stb.

elore is koszi a segitseget!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

igy nem igazan tudom miket rakjak kulon headerbe, miket definialjak konstans kent, hova definialjam oket, stb.

Ez nem ilyen gyere-cipó-hamm-bekaplak dolog, szóval írjad, aztán időnként kérj meg valakit, hogy kritizálja meg a kódot, ha nem bízol magadban.

+1

Konkrét helyzetekből (ne ide rakd hanem oda; erre van fügvény; ezt szebben is lehet stb...) könnyebben és gyorsabban tanulsz szerintem, egyébként is nagyon szép tutorialok vannak rá, hogyan lesz jó egy C++ kód. Plusz nézz meg open-source játékokat, minél kisebbeket.

--
return 0;

nagyon szép tutorialok vannak rá, hogyan lesz jó egy C++ kód

-1, vannak technikák, meg pattern-ek, de igazából érezni kell.

A topicnyitó leírása alapján ez a szint még korántsem az érzős. Egyelőre szabályokra és példákra van szüksége.

--
return 0;

Esetleg ha megnezed egy sdl-es/opensource jatek kodjat? (xmoto,stb?)

Olvasgass C++ doksikat, könyvet, tutorialokat, de legfőképpen programozz C++ nyelven amennyit csak tudsz.
Szerintem nagyon is jó úton jársz. Én is ezt tettem. Összehoztam sdl segítségével C++-ban egy mastermind klónt és mire kész lett, már tudtam, hogy mit és hogyan kéne máshogy írnom. Majd át is fogom írni, hamint lesz időm.
Konkrét esetre, konkrét kódra kérdezz rá időnként és ne hagyd, hogy kedved szegje bármi, vagy bárki.
Én csak bíztatni tudlak! És gratu az elhatározásodhoz!
--
unix -- több, mint kód. filozófia.
Life is feudal

+1 nagyjából az összes eddigi hozzászólás

És ha később lesz kedved, látogasd meg valamelyik hazai demoscene partyt, szokott lenni játékfejlesztés compo :-)

Csak tipp, a headerbe altalaban az osztalydefiniciokat szokas tenni, mint C-nel a fuggvenyekkel. A konkret fuggvenyek implementalasa meg megy cpp fajlokba.
En szemely szerint konstanskent (ha nem a const szora celzol) ugyanazokat definialom, mintha C-ben dolgoznek, olyan ertekeket, amik nem enum-ba valok.
A const kulcsszot pedig mindig ott kell hasznalni, ahol egyebkent is ertelme van. Pl fuggvenyparameterek tipikusan ilyenek.

Persze, ez csak az en velemenyem volt.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

kosz a tippeket mindekitol! megneztem nehany jatek kodjat, amiket az sdl honlapjan talaltam, de azok se szebbek az enyemnel (sot), ugyhogy ugy latom nekem se kellene miatta aggodni :)

Rengeteg hányás kód van a neten, én ilyeneket nem ajánlanék.

Van pár jól átgondolt lib aminek a felületeti érdemes nézegetni, meg használni őket. (Pl.: Qt)

De az elején tényleg saját szívásaiból tanul legjobban az ember. Ezután jól jöhet a szakirodalom mint pl a Hatékony C++ (Scott Meyers) meg hasonlók.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

a Qt abszolut state-of-the-art lib, par aprosagtol eltekintve tokeletes, bar eleg durva mennyisegu anyag csak ugy programozast tanulgatva nezegetni a doksit :)

Nem nézegetni kell, használni. A nézegetés jön magától. :)
De Qt-nál legalább van mit nézegetni, és annak eredménye is lehet...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

2-300 sor valoban nem tekintheto szamottevonek (ez egy kisebb osztaly kodja pl)
ha 'szepen' akarsz programozni, mindenkepp ismerkedj meg a design patternekkel. ezek egy reszere amugy is rajon az ember idovel, de erdemes minel elobb nezegetni oket, hogy a mogotte huzodo gondolkodasmodot megertsd. bar egy alapszintu C++/OOP tudas azert kell hozza

a lenyeget meg mar elmondtak, fejlessz, kodolj minel tobbet, es 3-4 kisebb jatek (a 'kisebb' alatt olyan 5-10000 sort ertek) utan (amikre visszanezve elszornyulkodsz hogy atyaisten, miket ganyoltam) mar egesz jol fog menni :)

ha gondolod keress meg priviben, irtam c++/sdl-ben par jatekot, beszelhetunk rola, mutatok forrast is ;)

Csak nagyon halkan kérdezném. Esetleg idővel lenne rá mód, hogy én is megnézhessem az említett anyagot? Egyáltalán nem sürgős, meg nem akarok alkalmatlankodni, hanem majd "egyszer" ha lesz rá mód.
--
unix -- több, mint kód. filozófia.
Life is feudal

tegnap tettem fel az eppen aktualisat google code-ra, szoval nem titok: https://code.google.com/p/cooldown-game/
regebbi kodra is adok linket ha kell, ott van pl eletem elso SDL-es programja, ahol meg a C++ is csak neha-neha koszont be az ablakon, de azt tenyleg csak edzett horror-rajongoknak ajanlom megntekintesre :D (maga a jatek teljesen hasznalhato, csak nagyon felkesz, a kod viszont kesz borzalom)

bar a CoolDown-on is meglatszik, hogy a hatarido elott 2 hettel jottem ra hogy jo lenne nekiallni csinalni valamit :) vannak ott is boven gany megoldasok, amiket gyorsabb volt egy-egy vim makroval megcsinalni, mint normalis kodot irni ra, bar ezeket mar nekialltam kipucolgatni, de meg van azert :(

THX!
--
unix -- több, mint kód. filozófia.
Life is feudal

Egy példa (igaz Allegro-t használ): Alex the Allegator