Projektiplaani näited
Näide: Tiny Bear Cafe projektiplaan
Mängu idee kokkuvõte: Luua "top-down view" ehk ülalt vaatega kohvikumäng, kus klientideks on AI-tegelased. Mängija või mängijad peavad võtma vastu tellimusi, minema kööki neid täitma (minigame popups) ja viima lauda.
Idee kirjeldus: Idee tulenes meie lemmikmängudest, nagu näiteks Stardew Valley, Penguin's Diner, Good Pizza Great Pizza. Me soovisime luua hubase ja armsa ajaviitemängu, mis pakub ka natuke intensiivsust tellimuste täitmise näol. Teemaks on kohvik, kus peategelane on armas loomake, kelle vanaema kohvikut ähvardab sulgumine. Mängija peab päeva lõpuks saama raha kokku, et kohvik päästa. Mäng on 2D pixel art stiilis. Kasutatud on pixel art asset packe, mis on saadud itch.io lehelt ning kooskõlas andmekaitseseadustega. Mängu AI komponent esineb kohviku klientide näol. AI klient valib endale sobiva laua ning annab vastavalt raha. Tellimuste täitmine toimub köögis, avaneb popup, kus on väike minigame vastavalt tellimusele. Kui aga on soov sõpradega mängida, siis saavad lobby'ga liituda vähemalt 2 sõpra, kes saavad võistelda kiiruse peale, kes esimesena päeva lõpetab. Teeni piisavalt raha, et vanaema kohvik päästa!
1. Sprint - eesmärk seadistada projekt programmides ning saavutada algfunktsioonid nagu serveri ja kliendi ühendus ning tegelase algne liikumine.
- 1. nädal
LibGDX allalaadimine
serveri ja kliendi projektide loomine
ühendus serveri ja kliendi vahel
- 2. nädal
esimene test fail koos tegelasega
testimiseks loodud demo kaart
tegelase liikuma panemine
2. Sprint - eesmärk lisada järjest juurde peamiseid funktsioone nagu AI tegelane ning alustada multiplayer süsteemi arendamist.
- 1. nädal
test kaardi implementeerimine mängu koos assetite’ga
kaamera liikumine tegelasega kaasa
sünkroonimine serveri ja kliendi vahel mängija tegevuste näol
- 2. nädal
multiplayer funktsionaalsuse arendamine
test-AI klient (nii öelda hardcodeitud) algoritmide harjutamiseks
tegelase liikumise viimistlemine
collisionite või objektide testimine mängija ja kaardi vahel
3. Sprint - eesmärk töötada AI tegelaste algoritmide kallal ja lisada graafikakomponendid, nagu peamenüü ja objektide välimused.
- 1. nädal
mängu lõpliku kaardi täiustamine valitud art assetpack'iga
tellimuste minigame'ide valmistamine
esimene AI-kliendi algoritmi käitumine arendatud
- 2. nädal
teenindaja AI algoritmi arendamine
peamenüü ekraani loomine koos nuppudega
tegelane saab testimiseks interact'ida klientide ja köögitarvikutega
4. Sprint - eesmärk saada valmis multiplayer funktsionaalsus ja luua mängule algus-lõpp süsteem, kus on levelid, mida “võitma” peab.
- 1. nädal
kahe uue AI-tegelase algoritmi arendamine
tellimuste vastuvõtmine, tegemine, viimine ja makse saamise funktsiooni valmimine
mängu võitmise ja kaotamise koodimine
- 2. nädal
lobby ekraani valmistamine
koosmängimise funktsionaalsuse viimistlemine
mitme lobby hostimise võimaluse arendamine
5. Sprint - eesmärk lisada kõik viimased vajalikud funktsioonid, mis kindlasti peavad olemas olema ja töötama, nagu exit nupp, mängureeglid, lisaks tagada AI algoritmide korrektsus.
- 1. nädal
peamenüü ekraani viimistlemine
exit nupu tegemine kasutajasõbralikuks
settingute võimaluse lisamine
igale päevale aja- või rahalimiidi rakendamine
- 2. nädal
playthrough beta versioon valmis (enne lõppmängu)
tegelase välimuse valikuvariantide menüü koostamine
AI-algoritmide muutmine, täpsustamine
6. Sprint - eesmärk saada valmis beta versioon, mis on korralik ja funktsionaalne ning lisada täiendavad funktsionaalsused.
- 1. nädal
AI pathfindingu parandamine ja lõpetamine
tellimuste ikoon käes ja kliendile viimine
köögitarvikutega interactimise arendamine
- 2. nädal
settingute ja skini vahetamise võimalus
heli lisamine (taustamuusika ja heliefektid)
mängu võitmine ehk päeva lõpetamine
esimene beta versioon bug fixid
7. Sprint - eesmärk olla valmis lõpliku mänguga, kus ainukesteks ülesanneteks oleks vigade leidmine ja koodi silumine.
- 1. nädal
mitme NPC lisamine koos pathfindinguga
võiduekraan raha kokku saamisel disainida
mängu intro disainimine settings menüü tegemine
- 2. nädal
klientidele tellimuse thought bubble'i panemine
tutorial popupi tegemine
algeline mäng on valmis - töötav multiplayer süsteem, töötavad AI-kliendid
8. Sprint lisasprint vajadusel
- 1. nädal
bug fixes
mitu NPC'd korraga
skin vahetub ka teisel mängijal
peamiselt jäänud ainult bug fixes!
Lõpphinne - Soovime saada 500 punkti. Meie idee on väga hea tasemele kohane, oleme läbi mõelnud, kuidas AI komponent integreerub loominguliselt meie mängu looga, oleme leidnud sobiliku alguse ja lõpu ning lisanud juurde palju elemente, mis teevad iga mängukorra unikaalseks. Meie peamine soov on luua mäng, mis meeldiks meile endal ja mida me mängiksime ise, kui näeksime seda kuskil mängulehel. - Meie mängus on vähemalt järgnevad funktsioonid:
10 mängijat
AI klient
collision loogika kahe tegelase kokkupuutumisel
kaamera jälgib alati mängijat
graafika on ühtlane sprite'de, menüüde ja ikoonidega
tellimuste vastuvõtmise, täitmise ja toimetamise loogika
minigame popup süsteem
rahasüsteem, mis on mängu lõpu indikaatoriks
intro- ja õpetusekraan mängu juhistega
ise loodud heliefektid ja taustamuusika
Tööriistad
mängu kirjutamine Java's
kasutame LibGDX ja Kryonet raamistikke
GitLabi repo link
Punktitabeli link