Akihabara.cz


Autor Téma: Programování  (Přečteno 48384 krát)

0 uživatelů a 1 Host prohlíží toto téma.

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Programování
« kdy: 05. Květen 2011 - 11:00:56 »
O důvod víc, proč nemusím hry na toto téma... Ale bavilo by mě pracovat u společnosti, která tyhle hry vyrábí, jako programátor.

veru aj mna by to bavilo.. moje pokusy o hru vzdy skoncili na tom, ze som nedokazal urobit engine.. cele spravcovanie nahravania suborov a vytvorenie grafickeho okna. Naprogramovat funkcie bojov, kuziel, prepoctov, skratka praca s uz nacitanymi vecami s korymi mozem pracovat pomocou pointerov mi problem nerobili...


Inak je tu aj moznost pouzit RPGMaker.. hry co som hral - Broken Hearts a Forbidden Saga boli vazne skvosty

// josi: Aby nebyla diskuse úplně smazána, přesunuta do obecně pojatého tématu.
« Poslední změna: 05. Květen 2011 - 13:36:22 od josi »

Offline josi

  • Neaktivní moderátor
  • Sledovač
  • *****
  • Karma: +0/-0
Re:Programování
« Odpověď #1 kdy: 05. Květen 2011 - 11:26:31 »
Gurthfin: Člověk nemusí všechno programovat od základů, dost funkčnosti se dá poskládat z existujících věcí. Herní vývojář ani nemá programovat enginy, herní vývojář má dělat hry. Grafický, zvukový, doplňte-libovolný engine už udělal někdo jiný, stačí tedy najít ten správný, v případě potřeby upravit a propojit se zbytkem ekosystému.

U profesionálních a velkých projektů musí tento proces „splácávání“ poněkud promyšlenější a finální výtvor musí mít hlavu a patu, ale nováčci na poli herního vývoje nepotřebují za každou cenu mířit za skvostně navrženým elegantním optimalisovaným kódem, protože náročnost procesu detailního plánování a následné implementace je jedině odradí a nedokončí ani první projekt, bude jim tedy chybět motivace pracovat dál. Jakmile úspěšně podle svých představ něco dokončí a vydají, pak se mohou zabývat zlepšováním věcí pod kapotou, třeba u nového skvělého projektu (nebo přepisováním alespoň částí toho předchozího, pokud za to stojí). Toto ovšem neplatí jen v programování.

I pro tvorbu VN pár nástrojů existuje, není tedy třeba od základů vyvíjet něco nového (k čemuž dospěl i Benda_11).

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #2 kdy: 05. Květen 2011 - 12:03:59 »
 josi: ja vim, len este som nenasiel nikoho, kto by tie ostatne veci robil.. vsetci kamosi presedlali na C# (ja pracujem v C++), a ked som sa pytal na nejakych forach, tak som nedostal jedinu odpoved. Zaujimal som sa trochu o OpenGL a DarkGDK, ktore sluzia na vytvorenie grafickeho okna, ale nakoniec som tak maximalne rozbehal to okno a jednu pohybujucu postavicku bez animimacii.
Je mi jasne, ze sam bez ludi tazko nieco zmozem, ale ani neviem, kde mam niekoho najst.. lebo toto je skor beh na dlhsiu trat, nez vhupneme do toho a uz vsetko pojde.

Offline josi

  • Neaktivní moderátor
  • Sledovač
  • *****
  • Karma: +0/-0
Re:Programování
« Odpověď #3 kdy: 05. Květen 2011 - 13:35:18 »
DarkGDK bych já osobně okamžitě vyloučil kvůli vazbě na jedinou platformu (Windows). Pro 3D hry existují velice kvalitní otevřené enginy, např. OGRE nebo Irrlicht, které bych se nebál použít ani ve velkém projektu, 2D enginů je také habaděj. Psát kód přímo pro OpenGL/Direct3D podle mě nemá v dnešní době u nezávislých týmů cenu.

Pokud hledáš nějaký tým, do kterého by ses mohl zkusit přidat, projdi si fórum Českých her, třeba na něco zajímavého narazíš (neptej se na fóru, kontaktuj konkrétní týmy):
Kód: [Vybrat]
http://www.ceske-hry.cz/forum/index.phpDění na české herní vývojářské scéně je ale poslední dobou docela zoufalé.

I dnes, kdy se mladí vývojáři učí programovat v .NET místo Pascalu, má stále C/C++ své místo, jelikož má vývojář větší kontrolu nad děním (což mám rád). A aby v paměti nebyly blbosti je nutné ohlídat i v .NET; proč by tam jinak existovala NullReferenceException?

Offline Druid

  • Nováček
  • *
  • Karma: +1/-0
Re:Programování
« Odpověď #4 kdy: 05. Květen 2011 - 15:28:02 »
Já ještě doporučím Game Maker, ve kterém se dá udělat cokoliv od visuální novely po hardcore rpg. Program je sice placený ale stojí za to. Já ho mám už nějaké 2 roky a jsem s ním spokojen. Dál existuje program scirra construct (http://www.scirra.com/) který je zdarma a vznikají v něm opravdu skvosty. Co se týče komunit tak vás všechny rád uvidím na Krevetě (http://kreveta.net/) a Velkym Chytrákovi (ten je zaměřen hlavně na gm - http://www.velkejchytrak.cz/)

A nakonec ukázka - VN engine v game makeru http://www.yoyogames.com/games/167138-amnesia-engine-demo


Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #5 kdy: 05. Květen 2011 - 16:46:19 »
ja sem chvilu pracoval s RPG Makerom.. najviac sa mi pozdaval RPGMaker XP.. ale neni to ono. Uz je skoro vsetko hotove, vlastne sa len vymysla mapa a dialogy. Nejako to nepotesilo moje srdce programatora. Radsej sa babrem vo funkciach a objektoch nez pridavam objekty na plochu lebo skladam efekty pre kuzla.

Inak ten engine na vn si neviem predstavit... pre mna by to bolo nacitat obrazky do pola, kazdemu policku priradit napriklad pocit( p[0] normal, p[1] sad, p[2] laugh...) a potom pri citani textu(to, co sa ma zobrazit), by boli v texte odlisene pocity(napriklad <sad>), ktore by vlastne ukazovali na dane pole a zobrazil by sa obrazok v poli. BG by boli robene rovnako, hudba tiez, uz len nejako schemu pribehu... nad tym trochu porozmyslat a nemal by to byt problem. Co sa viac potrebuje?

Offline josi

  • Neaktivní moderátor
  • Sledovač
  • *****
  • Karma: +0/-0
Re:Programování
« Odpověď #6 kdy: 05. Květen 2011 - 17:55:50 »
Vidíš to docela jednoduše, že? Ono načtení spritů a jejich vykreslení je prkotina (použití statických polí je z hlediska flexibility pro změnu v tomto případě hloupost), kterou Ti naprogramuji během pár chvil, ale žádný designér Ti nikdy nebude psát příběh v programovacím jazyce, třeba takto:
Kód: [Vybrat]
http://www.renpy.org/doc/html/quickstart.html#imagesBude chtít nástroje:
Kód: [Vybrat]
http://adonthell.berlios.de/doc/index.php/Tools:Dlgedit:Editing
http://www.chat-mapper.com/
http://www.visualnovelty.com/about.html
A naprogramovat systém pro nelineární příběhy také nejde bez chvíle přemýšlení:
Kód: [Vybrat]
https://github.com/ksterker/adonthell/blob/bdf68645241c547634604b7d49fbc26f93196f18/src/rpg/dialog.ccU visuálních novel si program navíc musí pamatovat, které texty ve které větvi příběhu již zobrazil, pamatovat si, ve které větvi vlastně je, a to všechno dělat pokud možno optimálním způsobem.

Toto mě jen teď narychlo napadlo a problémů k řešení je jistě více. Neříkám však, že udělat samotný engine pro VN je závratně těžké, nikoliv.

Pro inspiraci kód Ren'Py:
Kód: [Vybrat]
http://bazaar.launchpad.net/~renpytom/renpy/main/files/head:/renpy/

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #7 kdy: 05. Květen 2011 - 21:32:49 »
Citace
Vidíš to docela jednoduše, že?

Prave to je moja vyhoda a aj najvacsia nevyhoda. Vdaka tomu, ze vidim vsetko jednoducho, dokazem teoreticky vyriesit akykolvek problem. Pocas riesenia sa mi ukazuju dalsie a dalsie problemy a ja ich riesim, dokym to nevyriesim cele (niekedy su moje riesenia fakt bizardne, ako pri maturitnej praci, ked som urobil pointer na pole poinetrov a to som mal za sebou len strvtrok C a k pointerom sme sa ani nedostali, len som o nich cital). Problem je v naslednom programovani, kde potom musim naprogramovat cele mechanizmi, ktore som este nerobil. Dokazem efektivne pracovat s kopiami prog. kodu, ktore viem ako funguju(skratka ked som mieco niekde videl, dokazem si zapamatat princip a predpovedat chovanie). Ale ak robim nieco, co som este nevidel, mam s tym problemy (neviem ho presne zapisat, neverim mu, snazim sa ho po castiach prepisovat a skusat a casto z toho vznika zhatlanina, popripade vymyslim uplne iny koncept daneho kodu)

Offline Benda_11

  • Admin
  • Veterán
  • *******
  • Karma: +215/-32
  • Live a life in RL
Re:Programování
« Odpověď #8 kdy: 05. Květen 2011 - 21:37:04 »
Gurthfin: To mě připomíná moje programování na záchodě :D Často když nevím, tak jsem schopnej nadeklarovat hafo proměnných a klidně ve 20ti promněných mám stejnou hodnotu a to jen díky tomu, že se mě nedaří. Tak si jdu odskočit na záchod a ještě před usednutím na mísu vím jak to celé vyřešit. A takhle to funguje se mnou asi pořád. :D Ale tohle se mě stává jen, když jsem nepřipravený a někdo mě nutí programovat.

Jinak pokud mám čas na rozmyšlenou, tak klidně měsíc chodím a programuju si kód jen čistě v hlavě a pak kompiluju, tím že si ho v hlavě procházím a čekuju jestli dává smysl a jestli nemůže nastat někde nějaká chyba. Tohle dokážu i s kódy, které jsem kdysi naprogramoval a někdy když spím, tak dřívější kódy taky procházím a druhým den se třeba probudím se zjištěním, že při konkrétní situaci dokážu celou aplikaci schodit.
Asi jsem moc přepracovanej.

Ale často se mě stává, že někdy něco píšu a sám nevím co to píšu, tak nechám ruce pracovat a pak jen vidím výsledek, kterému někdy ani sám nerozumím.
« Poslední změna: 05. Květen 2011 - 21:42:29 od Benda_11 »

Offline Xenotaku

  • Nováček
  • *
  • Karma: +2/-1
  • Ender's the Delolizátor
Re:Programování
« Odpověď #9 kdy: 05. Květen 2011 - 21:52:29 »
Pokud by někdo měl zájem tak se hledá programátor ke hře Fantager.
http://www.fantager.net/
Potřebujeme tam teď odstranit spamování robota ve fórech
a současnej Admin (2 v pořadí) nemá čas.
Pokud se na to chce někdo kouknout tak dejte vědět.
Ta stovka lidí co to hraje bude nadšením bez sebe
a já taky :D

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #10 kdy: 05. Květen 2011 - 22:33:27 »
ja to mam tak podobne, len ked sa na niecom vazne zaseknem (moze to byt hocico, aj napriklad v nejakej hre neviem porazit bosa, alebo nieco prelozit) tak idem spat a vo sne to vyriesim. Ked sa zobudim, a suksim to urobit tak isto, funguje to. Vo filme Počátek bolo povedane, ze pri spani nas mozog pracuje rychlejsie, nemusi sa zatazovat zrakom (ten zabera az 70 percent mozgovej aktivity) a inymi vplymi, takze pracuje rychlejsie, ale nedokazeme tento proces ovladat. Mala otazka, programuje (alebo cinnost pri ktorej musite pouzivat mozog) sa vam lepsie(lahsie/efektivnejsie) v noci alebo cez den?

Xenotaku: ak to nema nieco spolocne s C++, tak ja som pass
« Poslední změna: 05. Květen 2011 - 22:34:59 od Gurthfin »

Offline Benda_11

  • Admin
  • Veterán
  • *******
  • Karma: +215/-32
  • Live a life in RL
Re:Programování
« Odpověď #11 kdy: 05. Květen 2011 - 23:05:56 »
Já u sebe zjistil, že abych dokázal programovat na 50% své aktivity, tak musím doma sedět v křesle, pustit si hudbu nebo AMV a vypnout ICQ... Ještě nikdy jsem nedokázal programovat na svůj plný výkon, docela se toho stavu i bojím... V práci, pokud u sebe nemám co potřebuju, tak programuju ani ne zhruba na 10%. Mám pocit, že je to ještě prostředím, zkoušel jsem v práci hudbu i dobré křeslo a stejně ze mě nelezlo nic kloudného. A na čase nějak nezáleží... Rád spíše programuju přes den, jelikož v noci se rád dívám na anime... Dívat se na anime přes den mě přijde moc blbý.

Nejhorší je scriptovat kódy pro xlsko, které mají počítat a zacházet s datama na burze. To je mor. Nerad pracuju s něčím čemu nerozumím... Klient po vás chce tohle a tohle... Vy na něj čumíte jak na vola, jelikož vůbec nechápete, proč to potřebuje a jak se to vlastně počítá. A ve finále zjistíte, že jednoduchá rovnice a + b * c se dá počítat pouze tehdy pokud je splněno několik podmínek, jinak se má počítat úplně něco jiného a tyhle zásadní informace z klienta prostě nevylezou. To většinou zjistíte, až vám to vrátí, že to počítá špatně.

Trochu mě to teď připomnělo klienta na helpdesku. Mě zavolal kvůli internetu, že nejde, tak zkouším běžné diagnostické nástroje a k tomu ping od klienta. A když mu říkám, aby mě přečetl, co mu to vypsalo, tak všechny podstatné čísla a informace přeskočil ve čtení :D

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #12 kdy: 07. Červenec 2011 - 16:23:01 »
zasa som sa po dlhom case vrhol na programovanie, teraz skusam jednoduchy program na efekt v titulkoch, potreboval by som poradit ako vytlacit znak \ do suboru a nastavit, aby sa mi vytlacali cisla v dvojciselnom formate - namiesto 10.05 sa mi vytlaci 10.5 (co mi prehravac berie ako 10.50) kde kod vyzera  fout << int << "." <<  int;
Jedna sa o C++ kod.
« Poslední změna: 07. Červenec 2011 - 16:27:31 od Gurthfin »

Offline josi

  • Neaktivní moderátor
  • Sledovač
  • *****
  • Karma: +0/-0
Re:Programování
« Odpověď #13 kdy: 07. Červenec 2011 - 16:46:44 »
Kód: [Vybrat]
fout << int << '.' << std::setw(2) << std::setfill('0') << int;
setw nastaví minimální šířku, setfill znak výplně. Je třeba vložit hlavičku iomanip.

Ještě přihodím referenci:
Kód: [Vybrat]
http://www.cplusplus.com/reference/iostream/manipulators/

Offline Benda_11

  • Admin
  • Veterán
  • *******
  • Karma: +215/-32
  • Live a life in RL
Re:Programování
« Odpověď #14 kdy: 07. Červenec 2011 - 16:52:24 »
Gurthfin: sice v C++ nevyznám a netuším, jak se to v tom dělá, ale doufám že ti moje teorie pomůže...
Co se týče znaku "\", tak vím, že většina programovacích jazyků používá zpětnousekvenci, takže tohle by mělo teoreticky fungovat "\\"
A co se týče toho čísla, tak bych šel na to trochu vietnamským řešením a to je parsoval jeden znaky za druhým (předpokládám, že to číslo je nejdříve ve formě stringu) a pak do proměnné na číslo vkládal něco typu 1 * 10 + 0 * 1 + 0 * 0.1 + 5 * 0.01 = 10.05
A nebo ještě mě napadlo si to číslo oddělit na dvě čísla v stringu, to je před tečkou a to co je zatečkou a spojit to pak jako čísla :) "10" a "05" takže "10" převedeš na 10 a "05" převedeš na 5 * 0.01, kde 0.01 zjistíš délkou řetězce "05"