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.


Topics - Agamemnon

Pages: [1]
1
2. ročník / bakalarka
« on: 21.02.2012, 11:23:19 »
mam jednu bc na buduci rok (tj. ked budete tretiaci)... bol by som jej konzultant... bc je pre firmu siemens pse (teoreticky s potencialnou moznostou nastupu na brigadu, ak by sa student osvedcil)...

webova aplikacia, ktora sa bude realne pouzivat... v podstate standardny informacny system... zaobera sa dochadzkou zamestnancov, standardne funkcie CRUD, potrebny vystup na obrazovku + rozne tlacove vystupy a pod... konkretna podoba a poziadavky systemu osobne... ziadna zlozita funkcionalita, vsetko zakladne veci...

teoreticky je mozne vyuzit tdd pri vyvoji, podla zaujmu...

technologia je asp.net
jazyk je c#
znalost aspon zakladov sql by sa hodila...
znalost principov oop je vitana (skoro nutna)...

kto nechce programovat, nech mi ani nepise... ak neviete ani zakladnu syntax c#, tiez nepiste... nema to zmysel...
samozrejme necaka sa, ze vsetko budete vediet, mnozstvo veci sa da naucit za behu, vysvetlit a podobne...

edit:
pre javistov: medzi c# a javou je pomerne malý rozdiel, takže ak ovládate javu (a oop), tak prejsť sa dá v pohode

2
O ničom / Reklamacia HP nb
« on: 27.08.2009, 22:05:44 »
nemate niekto nejake skusenosti s reklamaciami hp notebookov na tych servisnych strediskach v ke?
ako rychlo, ako ochotne a pod.?

za info vopred vdaka :)

3
O ničom / Na zamyslenie... troška psychológie
« on: 09.11.2008, 20:16:54 »
skoro by som zabudol, čo som pôvodne chcel postnúť... hehe :D

http://melichar.blog.sme.sk/c/171157/Stanford-Prison-Experiment-alebo-preco-ublizujeme-bliznemu-svojmu.html

jeden na prvý pohľad zaujímavý, určite zvláštny a originálny experiment... výsledky sú prekvapujúce, a sú vynikajúcim dôvodom na zamyslenie sa

4
O ničom / "Press any key to continue..." What do you press?
« on: 03.11.2008, 22:19:12 »
takže? :D

inspired by blackhole.sk :)

5
5. ro?ník / Medicínska informatika
« on: 27.09.2008, 20:21:23 »
je to otvorené? ná to niekto? ak áno, tak kedy to je, pls?

6
5. ro?ník / Piataci
« on: 09.09.2008, 00:52:49 »
takže koľko nás tu vlastne je?

7
2. ro?ník / 2D adventúra
« on: 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...

Pages: [1]