Meeskond:SuperPenguin

From EIK wiki

Liikmed

  • Tauri Busch - Projektijuht
  • Erika Ehmann

Meie idee

Ühe ilusal pärastlõunal sai istutud üliõpilasesinduses ja mängitud xbox'i peal Bombermani. See oli mingisugune uudne 3D versioon ja jube kohutavalt üles ehitatud; mitte midagi aru ei saanud, mis seal toimus :) Seega tekkis meil idee, et miks mitte taasleiutada Bomberman 2D versioonis, ainult et kaasaegne? Ja see meie plaan olema saabki.

Tehnoloogia

Mängu ehitamiseks kasutame C# programmeerimiskeelt ning Unity süsteemi. Unity eeliseks paljude platvormidega sobimine, ühe arendusega saab luua mängu nii erinevatele arvutitele mõeldud operatsioonisüsteemidele kui mobiilidele või mängukonsoolidele. Samuti on võimalik sama mängu teha ümber veebirakenduseks.

Eesmärk

Mänguarendus ühendab endas palju erinevaid probleeme, mida programmeerimises kohata võib. See muudab projektina mängu tegemise väga heaks õppimisvõimaluseks ning lisaboonuseks on see, et teistel on seda ka lõbus testida. Tänu ülesande atraktiivsusele on meil lihtsam leida neid, kes soovivad programmi testida ja meile tagasisidet anda. Seega on Bombermani-laadset mängu luues meile tagatud paljude uute asjade õppimine ning lõbus ja rahvarohke testimisfaas.

Rakenduse sisu

Klassikaline Bomberman kujutab endast 2D-mängu, kus kuni neli inimest saavad ühise platsi peal ringi liikuda, pomme asetada ning nendega seinu või vastaseid õhku lasta. Seinu õhku lastes on võimalik koguda boonuseid, näiteks kiirem liikumine või tugevamad pommid. Mängu põhirõhk on kiirusel ja strateegial. Kui klassikaline versioon on valmis, on võimalik selle peale ehitada ka muid variante, kus on erinevaid boonuseid rohkem ning näiteks ka erinevad kaardid, millel liikuda.

Esimese ülesandena peame looma kaardipõhja, mille peale saab ehitada nii algse kui kõik järgnevad kaardid, panema paika mängu jaoks vajaliku andmebaasi ning logivõimalused, lisaks võiks olemas olla algne menüü, milles liigelda ja mängu valida. Kuna mängu alustades küsitakse mängija nime, saab iga mängija kohta käivad andmed hõlpsasti andmebaasi sisestada ja hiljem vaadata mängustatistikat. Kui andmebaasis on vähemalt üks mängija juba olemas, pakutakse kasutajale kõigepealt olemasolevate nimede seast valimist ja kui teda nende seas pole, saab ta oma nime lisada.

Suurimaks probleemiks on kindlasti piisava keerukusega AI programmeerimine. Arvuti poolt juhitavad tegelased peavad olema piisavalt targad, et panna mängijad pidevalt proovile ja hoida nende pinget piisaval tasemel, kuid mitte sellise ülivõimetega, et inimesel on võimatu nende vastu mängides võita. Õige tasakaalu leidmine selles küsimuses on peamine osa mängus, mis hoiab mängijaid pinevil ning paneb neid tahtma uuesti proovida. Õige natuke osavam arvuti kui mängija paneb inimese tahtma arvutile "ära teha" ja hoiab motivatsiooni üleval. Liiga keeruline võitlus tekitab lootusetuse tunde ja hävitab enamusel soovi edasi mängida. Samuti on halb, kui vastane on liiga rumal - kaob ära enda proovilepaneku mõnu ning mäng muutub õige pea igavaks.

Must have

Esimese faasina teeme klassikalise mängu, lisamata sellele lisafunktsioone või kõrgel tasemel graafikat. Põhiline on saada mängu alussüsteem korralikult tööle, nii et mängimine on juba võimalik. Silmailu on sekundaarne, sellega saab tegeleda ka viimistlusvoorus. Alguses valmib vaid ühele inimesele mõeldud mäng, seega on vaja leida algoritm arvuti poolt kontrollitavate mängijate liikumiseks ja pommide asetamiseks.

  • Klaviatuuri ja xBox kontrolleri kasutusvõimalus
  • Aluskaart, millel mängijad liiguvad
  • Menüü
  • Logivõimalus
  • AI
  • Mängija statistika
  • Buffs
    • Mängija kiirendamine
    • Pommitugevuse suurendamine
    • Korraga mängus olevate pommide arvu suurendamine

Very nice to have

Kui klassikaline versioon on tööle saadud, võime hakata funktsionaalsust lisama ja mängu väljanägemist muutma. Kõige olulisemad on siin faasis mitme mängija toetuse lisamine ning korraliku kujunduse tegemine. Samuti soovime menüüsse lisada seaded, et saaks näiteks helitugevust muuta.

  • Mitme mängija toetus
  • Ilus disain
  • Seaded

Kind of nice to have

Kui kõik eelnev on tehtud ja tööle saadud, võib hakata klassikalisele mängule muid versioone lisama. Mängija saaks siis valida erinevate kaartide vahel ning valida oma mängukorra jaoks talle meeldivad lisad.

  • Lisakaardid
  • Buffs
    • Homing robot
    • Pommivise
    • Juba asetatud pommi kaugemale löömine
    • Piiratud ajaks surematus
    • Teise mängija buffide varastamine
    • Kõikide mängijate asetatud pommide korraga õhkimine
  • Debuffs
    • Liikumise aeglustamine
    • Pommitugevuse vähendamine

Prototüüp

Meie prototüübis on pallikesed, kes veerevad ringi ja viskavad maha pomme.

  • Mis olemas on
    • Praegusel juhul ei ole seal just eriti palju võimalusi, mängija saab liikuda, pomme panna ja neid vältida.
    • AI jookseb ringi ja paneb pomme vaenlase lähedal maha ja üritab ise neid vältida.
  • Buggid
    • AI on suhteliselt ebaintelligente
    • Pommide regenereerimine on natuke aeglane


Lähtekoodi leiab siit: Lähtekood

Testida saab mängu ennast siit: Mäng


Seadistamine

Lähtekoodi ennast saab uurida lihtsalt Visual Studio abil, avades rar failis oleva kaustas "Bomberman.sln"

  • Unity mängu graafiliselt vaadata:
    • Selleks tuleb tõmmata Unity
    • Kui Unity on tõmmatud, siis avada _scene kaust ja sealt seest mapBeta
    • See avab Unity ja seal saate ringi vaadata, mida soovite.
      • Võimalik, et teil ei ole seal sees vastavad elemendid lingitud vajalikele väljadele, sellisel juhul palun ühendust võtta tauri.busch@itcollege.ee


Lõpptoode

Lõpptoodet kahjuks sellest projektist ei tulnud, lõpptootena võib hinnata ka prototüüpi.

Lõpptoote ülesseadmine toimub samamoodi nagu seda on prototüübil.

Lähtekoodi leiab siit: Lähtekood

Testida saab mängu ennast siit: Mäng