Nejsem žádný dobrý programátor, žádnou hru jsem zatím nevytvořil, ale rád bych se s váma podělil o mé prozatímní zkušenosti. Snad se to někomu bude hodit a nebude dělat stejné chyby jako já.
Jak začít
Pokud chcete vytvořit hru, měli by jste mít už zkušenosti s programováním. Pokud nemáte za sebou několik větších projektů (něco víc než Hello word
) nemá cenu se do tvorby hry pouštět. Nejhorší možný přístup je ten, že budete kopírovat cizí kódy co najdete na netu, a z toho budete skládat hru. V čem je to špatné? Programování totiž není o tom vědět jen „jak to udělat?“ ale hlavně jak a proč to takhle udělat?. Když člověk pochopí proč použít právě tento postup, jaké to má výhody, jak to funguje, může později vyřešit podobný problém docela lehce. Pokud to člověk nepochopí, a jen to zkopíruje, musí počítat s tím, že pokud narazí na podobný problém, nedokáže ho sám vyřešit a bude muset hledat zdlouhavě řešení.
Mé začátky
Takto jsem postupoval když jsem začínal, měl jsem velké plány na velkolepou závodní hru. Zkončilo to tím že jsem poskládal kód z několika tutoriálu a výsledkem bylo ovládání mnou nakreslené šipky po bílé ploše
To jsem tehdy používal DelphiX – komponentu pro Delphi, která sloužila k vykreslování grafiky (bohužel k vykreslování jen softwarově, takže výsledné programy byly docela pomalé).
Po několika roční pauze v programování jsem měl pocit, že jako starší a moudřejší osoba už nějakou tu hru zvládnu. Omyl. Tentokrát jsem použil jinou komponentu do Delphi, konkrétně Asphyre. Bylo to o dost složitější než DelphiX, ale na druhou stranu nabízelo mnoho funkcí. Když jsem přemýšlel jakou hru udělat, napadlo mě něco na motivy hvězdné brány. Měla to být jen taková arkádovka, ovládání jedné lodi a střílení jiných vesmírných lodí. Nápad to byl už docela reálný, ale taky jsem ho nedokončil. Jediné co jsem do hry přidal vlastního bylo počítání dráhy letu střel. Zbytek jsem opět kopíroval z ukázkových souborů.
Jaký programovací jazyk vybrat?
Podle mě je to jedno. Pokud se chcete programováním živit, budete nuceni se naučit více než jeden jazyk. Zatím mám zkušenosti s jazyky Pascal, Object Pascal(Delphi) a C++ . Z mých zkušeností bych doporučil se učit v Pascalu i přesto, že to mnoho lidí odsuzuje. Pokud se naučíte programovat dobře v Pascalu, bude přechod na jiný jazyk otázkou několika týdnů, maximálně několika měsíců. Pascal má oproti C++ tu výhodu, že vás nenechá dělat chyby. Upozorní vás že to co jste napsali je blbost, a vy to potom můžete lehce opravit. Naproti tomu C++ počítá s tím, že máte dobré důvody proč jste napsali to co jste napsali. Máte tedy více možností, ale hledat potom ty chyby, to je peklo
No a jak je na tom Delphi? Můj názor na Delphi se v posledních měsících dost změnil. Měl jsem tento nástroj od firmy Borland moc rád, ale teď jsem zjistil jeho velkou nevýhodu. Teda nevýhodu pro začátečníky. Mluvím o tom vizuálním prostředí. Je tak jednoduché si naklikat nějaký ten formulář, přidat nějaké ty událostí a program je hotov. A proč nevýhoda? Protože začátečník si zvykne na to, že program za něj udělá vše, stačí jen par kliků a je to. Nenutí to člověka zjišťovat co se vlastně všechno děje a jak to funguje. Teda alespoň u mě to tak bylo. Na druhou stranu, pokud se o to člověk zajímá trošku více, je Delphi vynikající nástroj pro snadnou a rychlou tvorbu programů pro windows.
Takže si to shrneme: je jedno jaký jazyk si vyberete i v pascalu se dá napsat hra. Důležitější je vybraný jazyk ovládat, znát jeho výhody i nevýhody. Pokud budete chtít hry vykreslovat třeba pomocí grafické knihovny openGL, budete volat stejné funkce v Pascalu, v C++ i v jakémkoliv jiném jazyce.
Jako dobrý zdroj informací doporučuju fórum ceske-hry.cz
Pokud máte taky nějaké zajímavé zkušenosti co se týká těch začátků, budu rád když se o ně podělíte v komentáři pod článkem
PLs kolik ti bylo když si začínal???
hous4k: Když jsem začínal, mohlo mi být tak kolem 14-15 let. Přesně si to už ale nepamatuju
jj jasne dik
Nemas ICQ nebo skype?prosim.
No já nejsem moc velký zkušenosti (začal jsem dneska ale celkem jsem se dost naučil takže rada: nejvíc se naučíš o programování když čteš různé výuky na netu pak si k tomu přečteš téma na forku díky této taktice jsem se dneska hodně naučil např: jak scriptovat php,html,MySQLa atd…což je docela potřeba když děláš online hru jako já.
ps: jestli budeš mít zájem tak až bude ta onlinovka hotová tak ti dám url
(zatim jsem udělal jinou onlinovku ale chabou: server World of warcraft)
zdar, prosimte jakou verzi asphyre a delphi si pouzival? diky..
kirk: To už si bohužel nepamatuju. Navíc to bylo někdy před 4 lety co jsem to používal, takže už budou dostupné mnohem novější verze.
Nechapem ako mamspajat casti hry
sory za tu chybu
ahoj mohol by si mi na email napisat nejaky postup na programovanie hier,,, caz prikazovy rádek alebo tak neco mam 13 a programovani se mi zda **zabava** no to je silne slovo
ale bavy ma to
hopsal: Ahoj, postup na programování her neexistuje. Nauč se nejdříve programovat nějaké jednoduché programy a teprve pak začni s hrama. Na internetu najdeš určitě hodně článků zabývající se touto tématikou
ok diky
ako si psal ze pscal je lepsi ako c++
ale ne pascal je us stari ten se nepouziva-zastaraly
plzzz ako mam zacat s programovanim??????mam si stiahnut ten pascal a co dalej…prosim chcem to skusit
http://programujte.com/index.php?akce=clanek&cl=2005100501-turbo-pascal-uvod
a nebo google
Ahoj, já k programování her doporučuji jazyk C#, je to podle mě nějvýkonnější. Jde v tom dělat téměř vše.
C# bych teda opravdu nepoužíval. Je to jednoduchej jazyk. Na psaní jednoduchejch prográmků dostačující. Ale protož, že běží na vlastní virtuální mašině, bych v něm hry neprogramoval, ta mašina ho zpomaluje, viz třeba java. Ale java narozdíl od C# je alespoň plně multiplatformní a navíc ji rozběháš i na mobilech. Na programování her bych doporučoval C++, které je podlě mě asi nejrychlejší. A souhlasim se „srryzachyby“, pascal se dneska už nepoužívá
Jo, taky sry za chyby
Ahoj začínám s programováním a nevím dke mam stáhnout program C++ poradíte někdo prosím ? Děkuji
Nebo aspon ve kterém programu jse píše tento jazyk prosím ?
C/C++ je programovací jazyk. Na psaní ti stačí jakejkoli textovej editor a kompilátor, kterym program přeložíš. Někdo upřednostňuje vývojové prostředí, kde má vše po ruce a nemusí řešit moc problémů a jako nejlepší vývojový prostředí pro MS Windows mi přišelo Dev-C++ který je free a dá se sosnout na officiálních stránkách, nebo třeba na slunečnici.
Na Linuxu je hodně rozšířený vývojový prostředí Eclipse, který je teda defaultně pro Javu, ale po doinstalování pluginů i pro C++. Potom taky NetBeans. Eclipse i snad NetBeans se daj taky rozjet na widlích. Ale mě vyhovuje Geany, který je v podstatě něco jako lepší textovej editor, je pro něj pár plginů a navíc je daleko rychlejší než plnohodnotný vývojový prostředí (teda hlavně spuštění netrvá dýl jak sec).
Na základy C/C++ se dá najít na netu spousta tutoriálů, třeba na Linuxsoft.cz je dobrej tutoriál o C/C++.
Abys pak měl v C/C++ hrách obrázky a tak, tak se používaj SDL knihovny, ale to chce umět Cčko (nebo aspoň ukazatele z Cčka).
Pokud bys pak chtěl dělat programy, jako kalkulačky, nebo takový podobný i složitější ptákoviny, tak doporučuju Qt knihovny, a vývojový prostředí Qt Creator.
Za vše dik. Já chci jse pořádně naučit programovat a budu dělat hry. Jo dikes moc
Dáš mi prosím url toho Qt Creator ?
odkaz
Pokud ti nedělá problém angličtina, tak tam maj dobrou dokumentaci.
Je to od nokie, takže když se naučíš dělat desktopový programy, nebudeš mítproblém se rychle naučit dělat i programy pro Symbian.
No dnes jsem zkoušel dev-C++ ale nějak jsem jse v tom nevyznal jdu skusit ten program od tebe pomohl bys mi dystak ? dej pls icq jestli máš.
Hele ale ten program to je na Mobilní hry že ?
V Dev-C++ dáš normálně vytvořit projekt, vybereš konzolovej program, a pak už jedeš jenom podle tutoriálů… Až se to C/C++ naučíš, tak si v Dev-C++ nainstaluješ SDL knihovny a najedeš na nějakej SDL tutoriál, jeden dobrej je třeba zde. Pokud budeš chtít dělat 3D hry, tak budeš potřebovat modely a pak se dá použít OpenGL. Někdo preferuje Direkty.. Alekdyž už, tak používám OpenGL. Ale na ty začátky ti 2D hra bude bohaťě stačit (-;
ICQ nepoužívám a nemám. Ale mám jabber trestitrdlo@jabber.cz nebo GTalk, což je to samý trestitrdlo@gmail.com.
Jestli myslíš Qt Creator, tak v tom se dá programovat jak pro mobily, tak pro normální desktop a neni v tom zas tak velkej rozdíl. Pročti si tu dokumentaci, popř jsou snadi nějaký videa na youtube.com. Ale Qt Creator už předpokládá, alespoň základní, znalost C++, takže ti ho do začátků nedoporučuju, spíš se zkus rozkoukat v Dev-C++, základní ovládání je ve všech vývojových prostředích vesměs stejný.
Za vše ti moc děkuji. Určitě ti napíšu když budu mít s něčím problém moc dík.
A ty : Tak si v Dev-C + + nainstaluješ SDL Knihovny knihovny jsou v tom programu přímo nebo je musím stáhnout ?
Ještě jsem se chtěl zeptat. : V tom Dev-C++ . Dám tam kod #include // 1
using namespace std; // 2
int main() // 3
{ // 4
cout << "Ahoj svete!" << endl; // 5
return 0; // 6
}
A pak mam dělat co abych zjistil zda to funguje nebo ne ?
Někde tam najdeš „přeložit a spustit“, nebo by to mělo bejt na nějykm Fku, tušim že F9, nebo F11.
#include
using namespace std;
int main () { // doporučený formátování Cčka je že začprvní složenou závorku
// prdneš sem, kompilátoru to je jedno, ale je to takovej uznávanej
// a dodržovanej standard
cout << "Ahoj svete!" << endl;
return 0;
}
Lubka: předtím, než se začneš učit programování bych silně doporučil naučit se hledat na internetu. Nebo si pořídit učebnici a začít od začátku. S tímhle přístupem neuděláš vůbec nic.
sir Truhlík: obdivuji tvou trpělivost
Nicméně si myslím, že je to zbytečné. Pokud do toho někdo skočí po hlavě, aniž by byl schopen si informace obstarat a samostatně přemýšlet, nemá to podle mě cenu.
Tak já jsem do toho taky skočil pohlavě
Navíc podle toho jak píše, nic ve zlym (-;, mu moc nebude, cca tak 14 let odhaduju, možná míň a ve 14ti jsem taky nebyl nějakej přeborník v googlení
No je mi 14let a Vlastně to je pravda pohlavě dotoho jsem skočil, a nenašel info o tom tak já hlavně nějak moc nepřemýšlel Jsem se rozhod že když umim perfektně webovky+design tak že skusím něco nového našel jsem tuto stránku a hned mne to zaujalo. No obědnám jsi nějaké knížky a začnu od začátku.
Dík
jenže knihy jsou docela drahé
Hledat na internetu ? a co natom je těžkého ?
Prostě prdni do googlu „c++ tutorial“ a čti. Podle mě je docela dostačující tutorial na linuxsoft.cz a dokumentace na cplusplus.com.
no nechápuu to tam moc ale nějak jse to naučím
Ahoj chtěl bych jse zeptat hledal jsem knihy jak na C++ za 21dní ale všude jsou jen Aktualizované vydání Takže číslo 2. ale nikde jsem nenašel 1, díl a 3.díl a 4.díl Jsou takové vůbec ?
Nazdar, aktualizované vydání je stejný jako předchozí, akorát v něm jsou opravený chyby.
Ahoj jsem zase zpět. Chtěl bych jse zeptat už jse snažím hodně pracovat v dev-C++ jenže nevím jak udělat když napíšu např. inc aby jse mi tam ukazovaly nápovědy jako (include) atd.. prosím poradíte ?
A také bych poprosil kdyby mi někdo poradil včem mam dělat animované postavy atd.. prostě Grafiku do hry nebo projektů . Děkuji
Nevim o tom, že by Dev-C++ napovídalo. Navíc si myslim, že je u C++ napovídání celkem zbytečný, zas tolik fcí tam neni, aby si je člověk za chvíli nezapamatoval a ty co člověk moc často nevyužije, ty holt musí dohledat na webu (nebo teda v knize).
Animace, no nevim. Já jsem si dělal jednoduchý obrázky v GIMPu.
Jseš si určitě jistej, že už C++ zvládáš tak dobře, že se můžeš začít učit SDL?
Joo ještě jsem potřeboval jednu věc když začnu např. stím Hello World tak udělám co mam a jak pap zjistím zda to jde ? já to zkoušel zkompilovat a spustit ale nejde jak to mam udělat ? Děkuji
Zkompilovat a spustit, nebo čudl F9. Pokud tam máš chybu, tak se ti to samozřejmě nezkompiluje a tedy ani nespustí.
dobrej článek…díky moc
Zdravím vás programujem tak cez dva roky a chcel by som vytvorit nejakú tu onlineovku a potreboval by som zopár ludí ktorý by sa chceli pridat a ovládajú aspon zopár s týchto jazykov alebo programov html,php,javascript,mysql…. Alebo ešte grafikov ktorý vedia robit v editoroch fakt pekné obrázkymoj.email@centrum.sk
Díky moc za každú spoluprácu.