Meeskond "M1": Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
 
(25 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  
----


='''Mängu loomist saab näha siin : [[ http://m1xonix.codeplex.com/releases/view/54951]]'''=


='''Blogi'''=


----
='''Blogi'''=


==='''16.10.2010'''===
==='''16.10.2010'''===
Line 33: Line 31:
==='''20.10.2010'''===
==='''20.10.2010'''===


Ulvar: on valmis saanud töötava mänguga.
*Ulvar: on valmis saanud töötava mänguga.
Janar: tegeleb mängu menüü tegelemisega.
*Janar: tegeleb mängu menüü loomisega.
Alvar: omades kõige rohkem programeerija kogemust, aitab leida paremaid lahendusi.
 


==='''23.10.2010'''===
==='''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.
Menüü ühendamine mänguga.


==='''24.10.2010 - 30.10.2010'''===
==='''24.10.2010 - 30.10.2010'''===
Line 51: Line 46:
==='''31.10.2010'''===
==='''31.10.2010'''===


Alvar tegi mängu koodi paremini hallatavaks, tekitas iga Screeni kohta eraldi klassi.
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.
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.


==='''02.11.2010'''===
* '''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=


Levelite vahele sai loodud vahescreen.
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 17: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

... 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 :-)