Meeskond "M1": Difference between revisions

From ICO wiki
Jump to navigationJump to search
Jtooming (talk | contribs)
No edit summary
Alumberg (talk | contribs)
 
(43 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Liikmed:'''
='''Liikmed:'''=




Line 5: Line 5:
*Alvar Lumberg
*Alvar Lumberg
*Janar Tooming  
*Janar Tooming  
----




'''16.10.2010'''
='''Blogi'''=


Meeskonna loomine, teostatava mängu valimine.  Mänguks sai valitud Xonix


==='''16.10.2010'''===


'''17.10.2010'''
Meeskonna loomine.
Tarkvara installimine. Microsoft Visual Studio 2010, XNA 4.0 + Skype omavahel suhtlemiseks.


Arutelu, milline milline võiks mängu lõppversioon välja näha ja mida selleks peab tegema.


==='''17.10.2010'''===


'''18.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:  
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.
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.


'''20.10.2010'''
Meie tiim jäi väga rahule meeskonnatööga - kõik leidsid oma koha ja kellegi panus ei jäänud märkamatuks.


Ulvar on valmis saanud töötava mänguga.
='''Klasside lühikirjeldus'''=
Janar tegeleb mängu menüü tegelemisega.
Menüü tegemiseks ja õppimiseks kasutasin sellist kohta: [http://www.phstudios.com/tutorials/xna/BasicTraining/ link title]
Alvar toetab mõlemaid jõu ja nõuga.


* '''GamePlayScreen''' - Siin käib peamine aktsioon ja toimub aktiivne mängutegevus.


'''23.10.2010'''
* '''MessageBoxScreen''' - Kinnituse küsimise ekraan mängu lõpetamiseks, väljumiseks jne


Mängule sai lisatud muusika:
* '''InputState, GameScreen, ScreenManager''' - GameStateManagement üldised klassid, vastavalt sisestuse ja ekraanide haldamiseks. GameScreen on baasklass teistele ekraanidele.


<source lang="csharp">
* '''BackroundScreen''' - Taust, et iga pilt päris must poleks.
Song mysong;


protected override void LoadContent(){
* '''LoadingScreen''' - "Loading...", kuni taustamuusikat laetakse.
       
mysong = Content.Load<Song>("..."); // punktide asemele lisad om mp3 faili nimi
MediaPlayer.Volume = (.1f); // kui valjult muusika mängib
MediaPlayer.Play(mysong);  // paneb muusika tööle
</source>


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

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