Meeskond "M1": Difference between revisions
No edit summary |
|||
(57 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Liikmed:''' | ='''Liikmed:'''= | ||
*Ulvar Petmanson | *Ulvar Petmanson | ||
*Alvar Lumberg | *Alvar Lumberg | ||
*Janar Tooming | *Janar Tooming | ||
Meeskonna loomine, | ='''Blogi'''= | ||
==='''16.10.2010'''=== | |||
Meeskonna loomine. | |||
Tarkvara installimine. Microsoft Visual Studio 2010, XNA 4.0 + Skype omavahel suhtlemiseks. | |||
'''17.10.2010''' | ==='''17.10.2010'''=== | ||
Arutelu, | Teostatava mängu valimine. Mänguks sai valitud Xonix. Arutelu, milline võiks mängu lõppversioon välja näha ja mida selleks peab tegema. Plaan teostada analoogne mäng [[ http://www.yook.de/xonix/]], aga natuke sõbralikuma mängu. Mängule ei tule vaenlaseid, kes mängija tsoonis(SafeZone) mängijat taga ajavad. Mängule tuleb kindlasti menüü leht, kus on New Game, Optsions, Exit ja võibolla veel midagi. Mängule on plaanis taustaks panna ka muusika, sest muidu on jube igav mängida. Mängu lõpus võiks olla ka Score tabel, see vaid sellisel juhul, kui selleks jääb aega. Kindlasti ka XBoxi tugi, kuna XBoxi tugi oli ülesandes kindel nõue. | ||
'''18.10.2010''' | ==='''18.10.2010'''=== | ||
Tööjaotus: | Tööjaotus: | ||
*Ulvar progemine - projektijuht | *Ulvar progemine - projektijuht | ||
*Alvar progemine | *Alvar progemine | ||
*Janar progemine -wiki | *Janar progemine- wiki | ||
==='''20.10.2010'''=== | |||
*Ulvar: on valmis saanud töötava mänguga. | |||
*Janar: tegeleb mängu menüü loomisega. | |||
==='''23.10.2010'''=== | |||
Mäng sai üles pandud [http://m1xonix.codeplex.com/ Codeplex] keskkonda. | |||
Mängule sai lisatud muusika. | Mängule sai lisatud muusika. | ||
Menüü ühendamine mänguga. | |||
==='''24.10.2010 - 30.10.2010'''=== | |||
Sai tegeletud klasside loomistega, vaenlasele eraldi klass jne. | |||
==='''31.10.2010'''=== | |||
Tiimitöösse oma panust andma jõudis Alvar, kes pages vahepeal välisriiki. Alvar tegi mängu koodi paremini hallatavaks, tekitas iga Screeni kohta eraldi klassi. Sai lisatud mängule heliefekt, muusikale sai lisatud lisakäsklus, et kui mäng saab läbi, siis lõpetab ka muusika mängimise. Sai muudetud koll (Enemy) juhuslikumaks ja intelligentsemaks. | |||
==='''02.11.2010'''=== | |||
Levelite vahele sai loodud vahescreen, mis kuvab kaetud maa-ala protsenti ja leveli skoori. | |||
==='''04.11.2010'''=== | |||
Lisatud high score tabel. Infot hoiame Windowsi registrys - kuna pole proovimiseks Xboxi, ei hakanud platvormist sõltumatut salvestamist tegema. Teksti küsimine käib GamerServicesComponenti abil. | |||
==='''05.11.2010'''=== | |||
Eemaldasime GamerServicesComponenti sõltuvuse, kuna see vajab lisakomponenti (Games for Windows LIVE), mida enamikus arvutites pole. Selle asemel võtame tabelisse sisseloginud kasutaja nime. | |||
='''Mängu tegemine, lühikirjeldus'''= | |||
Versioonihalduse ajalugu on saadaval [http://m1xonix.codeplex.com/SourceControl/list/changesets Codeplex'is]. | |||
Mängu valmimisel on kõvasti abiks olnud [http://create.msdn.com/en-US/education/catalog/sample/game_state_management GameStateManagement näidis]. Ka praegune versioon sisaldab sellest pärit klasse, mille funktsionaalsus on laiem, kui meie mängu toimimiseks otseselt vajalik, kuid mida saab edasiarendamise puhul hõlpsasti tarvitusele võtta. Samuti täidab veidi rikkalikum kood ülevaatlikkuse lisamise ja õppimise tõhustamise eesmärki. | |||
Arendusprotsessi üldiselt võib pidada üpris lihtsaks, tänu valmis näidetele. Suhteliselt lihtne oli ka võetud ülesanne, kuid keerukust lisas võõras keel ja tundmatud teegid. Kokkuvõttes oli tehtud töö väljakutseid pakkuv ja huvitav. | |||
Meie tiim jäi väga rahule meeskonnatööga - kõik leidsid oma koha ja kellegi panus ei jäänud märkamatuks. | |||
='''Klasside lühikirjeldus'''= | |||
* '''GamePlayScreen''' - Siin käib peamine aktsioon ja toimub aktiivne mängutegevus. | |||
* '''MessageBoxScreen''' - Kinnituse küsimise ekraan mängu lõpetamiseks, väljumiseks jne | |||
* '''InputState, GameScreen, ScreenManager''' - GameStateManagement üldised klassid, vastavalt sisestuse ja ekraanide haldamiseks. GameScreen on baasklass teistele ekraanidele. | |||
* '''BackroundScreen''' - Taust, et iga pilt päris must poleks. | |||
* '''LoadingScreen''' - "Loading...", kuni taustamuusikat laetakse. | |||
* '''HighScoreScreen''' - Edetabel, kuvatakse peale mängu lõppu või peamenüüst valimisel. | |||
* '''ScoreBox''' - See klass joonistab punktide akna ja peab punktiarvestust | |||
* '''Enemy''' - Vaenlase loomise klass, oskab luua vaenlasi ja hoida vaenlaste asukohta, antakse vaenlasel randomiga liikumissuunad. | |||
* '''Square''' - Klass, mis oskab joonistada ruudukest ja salvestada olekuparameetreid. | |||
* '''PauseMenuScreen''' - Pisuke pausiekraan väsinud mängijale silmade puhkamiseks. | |||
* '''PlayerIndexEventArgs''' - EventArgs implementatsioon, mis hoiab aktiivse mängija indeksit. | |||
* '''M1XonixGame''' - Initsialiseerib ekraani ja komponendid. | |||
* '''MenuScreen, MenuEntry''' - Menüüekraanide baasklassid. | |||
* '''MainMenuScreen''' - Peamenüü. | |||
* '''OptionsMenuScreen''' - Seadete menüü. | |||
=Kasutatud materjal= | |||
* Kasutatud sai kindlasti palju [http://www.bing.com/ Bingi] ja [http://www.google.ee/ Google'i] abi. | |||
* Läbi sai loetud ka eBook Visual Studio 2008. | |||
* Piiramatut abi osutas [http://msdn.microsoft.com/en-us/library/aa187916.aspx MSDN arendusvahendite raamatukogu] | |||
... ning kindlasti veel kümned blogid ja veebilehed, mille panus ükshaaval oli tagasihoidlik, kuid kokkuvõttes hindamatu. | |||
=Kokkuvõte= | |||
Iga meeskonnaliige tegi oma tööd nii palju kui oskas. Kokkuvõtteks võiks öelda, et lõpptulemus tuli päris hea. Nagu paljude muudegi kaasaegsete platvormide puhul, oli esmase toimiva tulemuse saamine suhteliselt kiire. Siiski võib aimata, et ''devil is in the details'' ehk küpse ja kvaliteetse produktini läheks veel palju-palju vaeva. Meie meeskond kiidab esimese kodutöö ülesandepüstitust, sest "päris oma mäng" teha on miski, mis kindlasti mõnelgi progejahakatisel 10-aastasest peale hinge peal on olnud :-) | |||
[[Category: Programmeerimine CSharp keeles]] | [[Category: Programmeerimine CSharp keeles]] |
Latest revision as of 16:07, 5 November 2010
Liikmed:
- Ulvar Petmanson
- Alvar Lumberg
- Janar Tooming
Blogi
16.10.2010
Meeskonna loomine. Tarkvara installimine. Microsoft Visual Studio 2010, XNA 4.0 + Skype omavahel suhtlemiseks.
17.10.2010
Teostatava mängu valimine. Mänguks sai valitud Xonix. Arutelu, milline võiks mängu lõppversioon välja näha ja mida selleks peab tegema. Plaan teostada analoogne mäng [[ http://www.yook.de/xonix/]], aga natuke sõbralikuma mängu. Mängule ei tule vaenlaseid, kes mängija tsoonis(SafeZone) mängijat taga ajavad. Mängule tuleb kindlasti menüü leht, kus on New Game, Optsions, Exit ja võibolla veel midagi. Mängule on plaanis taustaks panna ka muusika, sest muidu on jube igav mängida. Mängu lõpus võiks olla ka Score tabel, see vaid sellisel juhul, kui selleks jääb aega. Kindlasti ka XBoxi tugi, kuna XBoxi tugi oli ülesandes kindel nõue.
18.10.2010
Tööjaotus:
- Ulvar progemine - projektijuht
- Alvar progemine
- Janar progemine- wiki
20.10.2010
- Ulvar: on valmis saanud töötava mänguga.
- Janar: tegeleb mängu menüü loomisega.
23.10.2010
Mäng sai üles pandud Codeplex keskkonda. Mängule sai lisatud muusika. Menüü ühendamine mänguga.
24.10.2010 - 30.10.2010
Sai tegeletud klasside loomistega, vaenlasele eraldi klass jne.
31.10.2010
Tiimitöösse oma panust andma jõudis Alvar, kes pages vahepeal välisriiki. Alvar tegi mängu koodi paremini hallatavaks, tekitas iga Screeni kohta eraldi klassi. Sai lisatud mängule heliefekt, muusikale sai lisatud lisakäsklus, et kui mäng saab läbi, siis lõpetab ka muusika mängimise. Sai muudetud koll (Enemy) juhuslikumaks ja intelligentsemaks.
02.11.2010
Levelite vahele sai loodud vahescreen, mis kuvab kaetud maa-ala protsenti ja leveli skoori.
04.11.2010
Lisatud high score tabel. Infot hoiame Windowsi registrys - kuna pole proovimiseks Xboxi, ei hakanud platvormist sõltumatut salvestamist tegema. Teksti küsimine käib GamerServicesComponenti abil.
05.11.2010
Eemaldasime GamerServicesComponenti sõltuvuse, kuna see vajab lisakomponenti (Games for Windows LIVE), mida enamikus arvutites pole. Selle asemel võtame tabelisse sisseloginud kasutaja nime.
Mängu tegemine, lühikirjeldus
Versioonihalduse ajalugu on saadaval Codeplex'is.
Mängu valmimisel on kõvasti abiks olnud GameStateManagement näidis. Ka praegune versioon sisaldab sellest pärit klasse, mille funktsionaalsus on laiem, kui meie mängu toimimiseks otseselt vajalik, kuid mida saab edasiarendamise puhul hõlpsasti tarvitusele võtta. Samuti täidab veidi rikkalikum kood ülevaatlikkuse lisamise ja õppimise tõhustamise eesmärki.
Arendusprotsessi üldiselt võib pidada üpris lihtsaks, tänu valmis näidetele. Suhteliselt lihtne oli ka võetud ülesanne, kuid keerukust lisas võõras keel ja tundmatud teegid. Kokkuvõttes oli tehtud töö väljakutseid pakkuv ja huvitav.
Meie tiim jäi väga rahule meeskonnatööga - kõik leidsid oma koha ja kellegi panus ei jäänud märkamatuks.
Klasside lühikirjeldus
- GamePlayScreen - Siin käib peamine aktsioon ja toimub aktiivne mängutegevus.
- MessageBoxScreen - Kinnituse küsimise ekraan mängu lõpetamiseks, väljumiseks jne
- InputState, GameScreen, ScreenManager - GameStateManagement üldised klassid, vastavalt sisestuse ja ekraanide haldamiseks. GameScreen on baasklass teistele ekraanidele.
- BackroundScreen - Taust, et iga pilt päris must poleks.
- LoadingScreen - "Loading...", kuni taustamuusikat laetakse.
- HighScoreScreen - Edetabel, kuvatakse peale mängu lõppu või peamenüüst valimisel.
- ScoreBox - See klass joonistab punktide akna ja peab punktiarvestust
- Enemy - Vaenlase loomise klass, oskab luua vaenlasi ja hoida vaenlaste asukohta, antakse vaenlasel randomiga liikumissuunad.
- Square - Klass, mis oskab joonistada ruudukest ja salvestada olekuparameetreid.
- PauseMenuScreen - Pisuke pausiekraan väsinud mängijale silmade puhkamiseks.
- PlayerIndexEventArgs - EventArgs implementatsioon, mis hoiab aktiivse mängija indeksit.
- M1XonixGame - Initsialiseerib ekraani ja komponendid.
- MenuScreen, MenuEntry - Menüüekraanide baasklassid.
- MainMenuScreen - Peamenüü.
- OptionsMenuScreen - Seadete menüü.
Kasutatud materjal
- Kasutatud sai kindlasti palju Bingi ja Google'i abi.
- Läbi sai loetud ka eBook Visual Studio 2008.
- Piiramatut abi osutas MSDN arendusvahendite raamatukogu
... ning kindlasti veel kümned blogid ja veebilehed, mille panus ükshaaval oli tagasihoidlik, kuid kokkuvõttes hindamatu.
Kokkuvõte
Iga meeskonnaliige tegi oma tööd nii palju kui oskas. Kokkuvõtteks võiks öelda, et lõpptulemus tuli päris hea. Nagu paljude muudegi kaasaegsete platvormide puhul, oli esmase toimiva tulemuse saamine suhteliselt kiire. Siiski võib aimata, et devil is in the details ehk küpse ja kvaliteetse produktini läheks veel palju-palju vaeva. Meie meeskond kiidab esimese kodutöö ülesandepüstitust, sest "päris oma mäng" teha on miski, mis kindlasti mõnelgi progejahakatisel 10-aastasest peale hinge peal on olnud :-)