• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 
Menu

Zobrazi� pr�spevky

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Zobrazi� pr�spevky Menu

Messages - Agamemnon

#1901
2. ro?ník / Re: 2D adventúra
14.07.2008, 22:46:23
oka, pridal som tam prvé kódy - vytvoril som projekt, nejaké úvodné metódy, dal som tam aj logger, ktorý sa prípadne môže používať...
#1902
2. ro?ník / Re: 2D adventúra
14.07.2008, 02:30:03
oka, tak je vytvorený priestor na assembla.com... budem potrebovať maily potom, aby som vás mohol pozvať do projektu... prípadne či mám použiť tie, čo máte tu v profile, ak nejaké máte... :)
#1903
2. ro?ník / Re: 2D adventúra
13.07.2008, 19:57:06
Quote from: TradeMark on  13.07.2008, 19:00:42

Taze kebyze sa dala ta grafika riesit v OpenGL ta by bola parada  :h_azn:


bude v openGL...

btw, ku tomu treba knižnicu csgl.dll - je to projekt opengl pre c#... najskôr to hodím asi do repozitára ku zvyšku kódu, nech s tým nie sú problémy...

ešte jedna vec - nejaké logovanie - mám napísanú jednu triedu na to, môže sa to použiť, a imo to bude stačiť na tie maličkosti, čo sa nám budú hodiť... prípadne sa môže stiahnuť nejaký hotový logger pre c# a ten sa použiť... len tam treba potom dať pozor na licencie...
#1904
2. ro?ník / Re: 2D adventúra
13.07.2008, 19:54:15
oka, názvy a aj komentáre budú v en... :)


svn:
slúži to na manažment kódu

vytvorí sa repozitár s kódom, kde je uložený kód projektu - je to umiestnené na nejakom serveri, a tak ku nemu majú prístup všetci členovia tímu...

ak niekto ide niečo kódiť, tak si aktualizuje prv svoj lokálny kód (svn update), potom niečo nakódi a potom sa to pošle na server, aby ku zmenám mali prístup aj ostatní členovia tímu (svn commit)...

svn server navyše udržuje jednotlivé zmeny, takže sa dá v prípade potreby vyvolať akýkoľvek minulý kód - napr. ak sú potrebné nejaké veci, čo už boli zmenené a pod...
#1905
2. ro?ník / Re: 2D adventúra
13.07.2008, 18:36:55
hm, teraz ma napadlo... ak sa použijú medzery, tak stĺpec 10 bude na tom istom mieste v každom riadku... ak sa použijú tabulátory, tak to tak nemusí byť - nebdue
#1906
2. ro?ník / Re: 2D adventúra
13.07.2008, 18:23:01
všade to vyzerá rovnako :)

inak nvm veľmi... ale zatiaľ som sa v podstate stretol s tým, že to používa každý - či už v škole, čo robím na projekte, a aj v robote sa používa nastavenie medzier namiesto tabulátorov... hmm, ale v podstate som nikdy nezisťoval prečo vlastne používajú medzery
#1907
3. ro?ník / Re: Predmety na inzinierskom
13.07.2008, 03:54:53
zatiaľ nie ste študentmi, nie? len uchádzači o štúdium alebo také niečo... ono... IS ku novému roku bude neskôr nahodené, kedy presne to nvm... ale bude :)

btw, pozri do harmonogramu, tam máš napísané, kedy máš zápis predmetov do ďalšieho ročníka... harmonogram je na webe fei
#1908
2. ro?ník / Re: 2D adventúra
13.07.2008, 03:27:36
oka, takže ďalšie kroky:
- zajtra, alebo možno už dnes, uvidím, nahodím projekt na nejaký code hosting - najskôr asi na www.assembla.com - hlavne pôjde o svn repozitár a potom o issue tracking system - v tomto prípade to bude trac + nejaký zápisnik na spôsob wiki asi
- bolo by vhodné sa dohodnúť, oi., na coding conventions
- plus by som rád vedel, či ste niekedy používali nejaký revision control system (najskôr cvs alebo svn) a či ste používali nejaký issue/bug tracking system (napr. trac, flyspray) - alebo či mám sem hodiť stručný výklad o čom to je...

ad coding convention: môj návrh:
- odsadenie o 4 znaky - namiesto tabulátorov používať medzery
- názvy metód, tried a pod. začínajú veľkým písmenom - každé slovo v názve začína veľkým písmenom: MethodName
- názvy premenných - prvé písmeno malé, každé ďalšie slovo začína veľkým písmenom: fieldName
- názvy konštánt - kompletne veľkými písmenami
- názvy budú mať zmysel - názvy a, aa, aaa nie sú povolené
- používanie zátvoriek je voliteľné - tj. otváracia zložená môže byť na novom riadku, alebo aj na aktuálnom riadku: komu čo viac vyhovuje:

if (...) {
...
}

if (...)
{
...
}

- komentáre metód, tried a pod. musia byť - komentovanie v štýle c# xml - automaticky tieto komentáre generuje ako VS, tak  aj monodevelop (po napísaní /// obe IDE doplnia formu komentáru, kóder už len dopíše popis metódy, parametrov a pod.)

+
dôležité:
dohoda o jazyku:
- názvov metód, premenných a pod.
- komentárov

možnosti na výber sú angličtina a slovenčina - pre názvy metód, premenných a pod. jednoznačne odporúčam a navrhujem angličtinu... pre komentáre si vyberte vy, mne je to jedno
#1909
2. ro?ník / Re: 2D adventúra
12.07.2008, 18:24:00
tomu sa pokúsim vyhnúť práve :) aby to bolo, čo najviac nezávislé... takže to znamená, že sa použije openGL a nie directx :) zvyšné veci by mali byť v pohode
#1910
2. ro?ník / Re: 2D adventúra
12.07.2008, 14:55:20
nemusí byť VS :) ja som len písal, že v prípade, že budú rôzne IDE, tak nebude môcť byť spoločný projekt...
v takom prípade sa urobí adresár s kódmi a adresár s projektom - a kódy budú do projektu len zalinkované, nie priamo vložené... a tak je možné mať rôzne projekty ku 1 kódu bez problémov... len sa každý bude musieť manuálne starať o projekt...

btw - monodevelop dokáže minimálne čítať projekty z VS, afaik
#1911
2. ro?ník / Re: 2D adventúra
11.07.2008, 17:27:23
exisuje :) free engineov je pomerne dosť... na rôzne veci

ale mne ide viac o kódenie :) cieľom je niečo sa naučiť :)
#1912
2. ro?ník / Re: 2D adventúra
11.07.2008, 17:22:39
to credits - to mi vnuklo ďalšiu vec, čo treba urobiť:
stavový stroj, ktorý bude ovládať stavy hry, tj:
- hra je v menu - jednotlivé časti menu asi ako samostatné podstavy, uvidí sa, premyslí sa :)
- hra "je v" hre
- hra je v ingame menu
- hra je v credits

a teraz, čo sa dá robiť, ak je hra v danom stave - napr. ak je v menu, tak sa nebude vykresľovať scéna, ale namiesto toho sa vykreslia položky menu... ak je zase v credits, tak sa vykreslia kredity a bude sa reagovať na akýkoľvek kláves tak, že sa preskočí do menu... a tak pod.

asi sa bude hodiť ku tomu nakresliť nejaký diagram, hehe :)
#1913
2. ro?ník / Re: 2D adventúra
11.07.2008, 17:10:24
také veci ako vzájomná komunikácia, to sa nejak vyvynie, hehe :) nejak sa to bude musieť poriešiť... ten multichat cez jabber sa mi páči asi najviac... pokec je zase najvariabilnejší - dostupný z akéhokoľvek miesta, stroja, aj z takého, kde sa nedá prihlásiť na jabber/irc

námet, dej, prostredie, obrázky objektov, scén a podobne:
ak má niekto záujem, tak nech navrhne a urobí niečo krátke na testovanie - bude treba kód na niečom skúšať - formát obrázkov, veľkosť, typ a pod. sa dorieši postupne... ono, aj grafik sa bude hodiť :)
plus tu patria aj také veci ako rozlíšenie obrazovky :) lebo od toho sa budú odvíjať veľkosti obrázkov a pod :)

apokalyps: toto robím práve preto, aby sa ľudia (a aj ja) naučili ďalšie veci :) hovorím, ako základ stačí vedieť tie veci, čo boli na OP v tomto roku - hlavne teda objekt, trieda, interface, dedenie, čo sa s tým dá robiť a také podobné základné veci...
eventy a delegáty sú výhodou, lebo celý SceneManager bude na tom postavený, keďže ide o interakciu s hráčom, a ten bude vyvolávať eventy - kliknutie a pod...

#1914
2. ro?ník / 2D adventúra
11.07.2008, 03:36:52
Keďže prázdniny pomaly začínajú aj oficiálne, tak nadišiel čas rozbehnúť, čo som navrhol niekedy počas skúškového :)

Napíšem prv nejaké svoje predstavy, návrhy a pod., potom očakávam diskusiu, hlavne teda tých, čo sa chcú zúčastniť samotného projektu - tj. Mao, TradeMark a Apokalyps - ak sa chce pridať niekto ďalší, tak je vítaný, ale by som chcel upozorniť, že toto je malý projekt a miesto pre 10 kóderov tam určite nie je (to len pre prípad veľkého záujmu, hehe) :)

Je toho pomerne dosť, čo chcem napísať, tak sa to pokúsim nejak logicky rozdeliť a pokúsim sa to písať čo najzrozumiteľnejšie.

Základné informácie:
Začal by som popisom toho, o čo vlastne ide.

Moja predstava je taká, že sa napíše 2D adventúra z prvého pohľadu (dôvod je ten, že nie je potrebné kódiť postavičku a jej správanie - toto je možné potom neskôr tiež doplniť, ak by bol záujem).

Technické informácie:
Jazyk, grafické rozhranie: C# + OpenGL/DirectX
- dohodne sa, ktoré grafické rozhranie sa použije - nie je veľmi podstatné momentálne - avšak v spolupráci s C# je DirectX lepšou voľbou, avšak menej prenositeľnou)
- takisto si uvedomujem, že C# nie je práve najrýchlejší jazyk, ale na vykresľovanie adventúry stačiť v pohode bude; ak by sme robili FPS, tak samozrejme je nevhodný)

Keďže projekt je tímový, nutné je použitie systému pre revision control (použije sa SVN [@ wiki] - obľúbený tool pre win: TortoiseSVN) a takisto vhodné bude použiť nejaký issue tracking system [@ wiki].




Samotná hra:
Bude potrebné urobiť nejakú logiku pre:
- inventár
- objekty
- miestnosti
- akcie (tj. kliknutie na nejaký objekt, použitie objektu)
- grafický výstup

Inventár a miestnosti:
Logicky, musia obsahovať zoznam objektov sa v nich nachádzajúcich. Navyše musí byť možné tieto objekty použiť (či už vykonajú nejakú akciu, alebo sa stanú "vybranými", aktivovanými).
Navyše bude treba zabezpečiť ich vykreslenia a aj správne vykreslenie objektov, ktoré sa nachádzajú v nich.

Objekty a ich akcie
Toto je snáď najdôležitejšia vec :) Vykonávanie akcií po kliknutí na objekt. Je veľké množstvo možností, čo sa môže stať, ale je jasne definované, čo má ten-ktorý objekt v danej situácií vykonať. Preto je potrebné toto urobiť tak, aby bolo možné rovnakým spôsobom popísať čo najviac akcií.

Plus ku akciám: navrhujem nepoužívať rôzne stavy jedného objektu, ale namiesto toho vytvoriť rôzne objekty pre rôzny stav: napr. vypnutá a zapnutá lampa - nebude 1 objekt, ktorý bude mať flag "zapnutý", ale budú to 2 objekty, ktoré sa vymenia pri zapnutí lampy (dôvod je ten, že tých stavov môže byť obrovské množstvo a výsledkom bude neprehľadný kód, kde v týchto stavoch sa budeme strácať)

Rôzne príklady na akcie:
- vezmi objekt do inventára - objekt je v miesnosti, hráč na neho klikne a objekt sa vezme
- použi objekt - objekt sa použije - napr. hráč stalčí vypínač a rozsvieti sa lampa
- skombinuj nejaké objekty - toto sú v podstate 2 kroky: v prvom sa objekt aktivizuje (tj. vyberie sa) a v druhom sa tento vybraný objekt použije na iný objekt a to ich skombinuje (napr. zápalka sa skombinuje so zápalkovou krabičkou a výsledkom bude horiaca zapálka)
- etc. :) je toho viac, priebežne počas kódenia, návrhu deja a pod. sa určite objavia ďalšie :)

Môj návrh:
Vytvorí sa rozhranie, ktorého úlohou bude vykonať akciu, ktorá bude definovaná objektom triedy, ktorá rozhranie implementuje. Tieto jednotlivé akcie budú elementárne a výsledné správanie objektu sa môže zložiť z viacerých elementárnych akcií.
Plus je ku každej elementárnej akcií potrebné mať nejaké podmienky pre vykonanie akcie - tj. napr. ak chceme vziať objekt z miesnosti, tak ten objekt tam musí byť - toto navrhujem urobiť podobne - opäť rozhranie, ktoré bude kontrolovať podmienky a každá akcia bude mať sadu objektov, ktoré budú rozhranie implementovať, uložené napr. v ArrayListe.
pr.: Chceme objekt použiť - napr. to spomínané zapnutie lampy: to sa bude skladať z 3 elementárnych akcií: odstránenie vypnutej lampy z miestnosti a pridanie zapnutej lampy do miesntnosti:
- pred prvou akciou sa, napr., otestuje, či sa lampa nachádza v miestnosti - ak áno, tak sa objekt zo zoznamu objektov v miestnosti vyhodí
- druhá akcia pridá zapnutú lampu do zoznamu objektov v miestnosti
- tretia akcia si vynúti prekreslenie scény :)
=> tieto kroky budú na hráča pôsobiť dojmom, že došlo ku zapnutiu lampy

(navyše je to veľmi jednoduché nakódiť a kód je prehľadný + je možné použiť rovnaký postup na všetky akcie)

Grafika:
A teraz hlavná časť :) Síce C# ani zďaleka nie je najrýchlejší jazyk, ale to pre adventúru nie je podstatné. Na to, čo budeme potrebovať, je to dostatočné.

Navrhujem to takto:
- bude existovať objekt SceneManager, ktorý sa bude starať o celú scénu - o vykresľovanie, ale aj o spracovanie eventov - hlavne ide o mouseover event a click event
- vykresliteľná scéna bude implementovať rozhranie IScene (názov nie je dôležitý momentálne) - to poskytne SceneManagerovi zoznam objektov, ktoré sa v scéne nachádzajú + nejaké základné info o scéne, napr. obrázok pozadia
- všetky objekty, ktoré sa budú vykresľovať, budú implementovať rozhranie IDrawable, ktoré poskytne SceneManagerovi všetky potrebné informácie na vykreslenie - pozíciu a meno súboru, ktorý bude obsahovať obrázok objektu - samotné načítanie obrázku zabezpečí SceneManager pri vytváraní scény (napr. pri zmene lokácie)
- objekty, na ktoré sa bude dať kliknúť, budú implementovať rozhranie IClickable - takisto toto rozhranie poskytne SceneManageru základné údaje - klikateľná oblasť, metóda, ktorá spracuje kliknutie atď.
- obdobne je možné poskytnúť údaje ku animácií, prehrávaniu zvukov a pod.

Ďalšie veci:
- hra bude singleton
- potrebné urobiť Save/Load - vymyslieť tak, aby ukladal pozíciu čo najefektívnejšie




Prípadné rozšírenia:
Ak by bol záujem a chuť, tak je možné rozšíriť projekt o ďalšie veci:
- zvuk
- postavička (tj. zmena z 1st person na 3rd person)
- NPC postavy, rozhovory s nimi
- plynutie času




Toť je nateraz všetko - bol by som rád, keby sa rozdelili úlohy, a postupne sa začalo robiť...

PS: bol by som rád, ak by sa použilo VS2008 - nie je nutné - ide hlavne o to, aby mali všetci rovnaké projekty - ak sa použijú rôzne verzie VS, tak bude potrebné vytvoriť projekty ku každému VS, a súbory so zdrojovými kódmi len prelinkovať
PS2: ak niekto vyslovene nechce robiť grafiku, tak to by som si rád zobral ja na starosti...




Btw, prečítal som to po sebe len dosť zbežne, takže to môže obsahovať nezmyselné vety :) + písal som to s odstupom niekoľkých dní - po častiach - takže to môže pôsobiť trochu nekonzistentne... 
Čakám akékoľvek vaše pripomienky, návrhy... čokoľvek :)
Plus vyberte si, čo chcete robiť - samozrejme sa to dá pomeniť, podohadovať postupne - a určite sa to bude dynamicky všetko meniť, podľa toho, ako sa to bude vyvíjať, ako bude pokračovať kódenie...
#1915
letná 9? :)
#1916
O ničom / Re: VTIPY A FLIPY
08.07.2008, 15:22:47
Quote from: psicho on  08.07.2008, 15:06:24
2) nepredpokladam ze v roku 1957 sa chodilo do kina tak bezne :P

imo bežnejšie ako teraz :)
#1917
2. ro?ník / Re: co nas caka v 3.roc...
05.07.2008, 22:23:46
Quote from: Songoo on  05.07.2008, 22:07:06
...ta databaza sux, ale je to priblizne podobna praca asko s mysql....

na základe tohto sa dá usúdiť, že si nepochopil, o čom to je
#1918
loginy, privileges/credentials a pod... chceš ako uložiť v xml? tam by sa hodila nejaká symetrická šifra cez celý súbor, alebo niečo podobné, imo
#1919
3. ro?ník / Re: Predmety na inzinierskom
30.06.2008, 22:40:27
periferné zariadenia učil myslím jadlovský... nvm presne, nemal som to
#1920
3. ro?ník / Re: Predmety na inzinierskom
30.06.2008, 21:48:35
ku čomu budem vedieť, to popíšem :)

ZS:
Povinne
- Teoreticka informatika - Hudák, nvm čo pod tým názvom budete mať vy... my sme mali stavové automaty, regulárne výrazy a pod... pomerne easy, hlavne cviká a príklady imo veľmi v pohode...

- Stavba pocitacov

- Konstrukcia prekladacov - Havlice, nvm, či vy ste mali úvod do prekladačov, alebo to bude toto pre vás... ak to bude úvod, tak to je presne to, čo aj hovorí názov - ako napísať prekladač ku jazyku - písal sa tam prekladač pre jednoduchý bezkontextový jazyk podobný pascalu alebo c, podľa toho, čo kto dostal... ak to nie je úvod do prekladačov, tak ide o použitie nástrojov YACC a LEX na tvorbu prekladača (zadanie je prekladač pre objektový jazyk založený na jave) - teória dosť brutal...

Povinne volitelne - vyberaju sa 2
- Teoria typov

- Pokrocile databazove technologie

- Modelovanie a simulacia - šujanský... cviká úplne v pohode, s korečkom - prvá polovica nejaké divné nástroje na modelovanie log. obvodov, druhá polovica farebné petriho siete... na prednáškach sa brali nejaké bludy... skúška je ala šujanský... ak nvš presne podľa prednášok, tak máš problém...

- Navrh cislicovych systemov

- Webove technologie

- Technologie budovania IS II - využitie pravidiel v návrhu IS - pravidlá zadáva admin systému, na základe nich dynamicky funguje IS, ktorý sa programuje ako zadanie... csaba szabo... easy predmet, ale mňa to nudilo neskutočne

LS:
Povinne
- Semestralny projekt - ...

- Semantika programovacich jazykov

- Modelovanie a generovanie softverovych architektur

Povinne volitelne
- Logika pre informatikov

- Smerovacie algoritmy v pocitacovych sietach

- Formalne specifikacie systemov - Hudák... petriho siete, b stroje, jazyk strážených príkazov... rôzne veci pre formálny návrh...

- Periferne zariadenia a styk s prostredim

- Systemy virtualnej reality

- Diagnostika a spolahlivost

- Technologie softverovych projektov-I
#1921
O ničom / Re: VTIPY A FLIPY
25.06.2008, 04:47:42
nj... len škoda, že, žiaľ, to až také vtipné nie je
#1922
už to tu písali:
- platí do 20.6.
- a dpmk ti prepadne
#1923
O ničom / Re: VTIPY A FLIPY
24.06.2008, 05:30:23
http://www.feministky.com/index.php?option=com_content&task=view&id=73&Itemid=9##

a prejdite si tem web komplet :) sú tam aj ďalšie perly :)
#1925
O ničom / Re: matematicka hadanka
23.06.2008, 05:13:01
lol... toto je úloha s výpovedacou hodnotou na úrovni tzv. einsteinovej hádanky...