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!

../../_images/projektiplaani_pilt1.png ../../_images/projektiplaani_pilt2.png
  • 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