Fiasko/Deliverables/ObligatoriskOppgave1.md
2020-02-04 21:13:28 +01:00

165 lines
5.0 KiB
Markdown

#Team Fiasko
##Organisering av teamet
###Kompetanse
####Petter Tobias Madsen:
Relevante fag: INF101.
Kan grunnleggende ting i Java men har ikke utført krevende prosjekter.
Nesten ingen GUI-erfaring.
####Steinar Aalstad Lillesund:
Føler seg komfortabel med Java men ikke noe veldig avansert.
Ingen GUI-erfaring.
####Kristian Knarvik:
Relevante fag: INF100, INF101 og INF102.
Ganske erfaren i Java og har gjort ting med GUI før.
####Torbjørn lunde jensen:
Relevante fag: Tar INF101 inneværende semester.
Litt erfaring, men ikke veldig mye.
Ingen GUI-erfaring.
####Gabriel Ingolf Olav Magnus:
Relevante fag: INF101 og INF102.
Litt komfortable med Java.
###Oppsummering
Overall kompetanse i java koding ligger på medium mens erfaring med git eller gui er relativt lav.
###Roller
####Titler
Kristian -> Team leder (Ansvarlig for å vite hva alle gjør og burde gjøre til enhver tid)
Tobias -> Kommunikasjonsleder ( planlegger møter og parprogrammerings timer)
Steinar -> Møte organisere (Ansvarlig for å organisere hva som skal gjennomgås på de avtalte møtene.)
Torbjørn -> Dokumentasjons ansvarlig (dokumenter møtene og sørger for at innleveringene er riktig)
Gabriel -> Kundeansvarlig (Ansvarlig for å vite alle spilleregler)
####Grunnlag
Tobias -> Vi trenger noen som kan ta ansvar for å planlegge tidspunkt for møter
og kontaktperson for om noen ikke kan stille på møter.
Kristian -> Han har mest erfaring med kode og var en naturlig leder. han har overblikk over hva som skal bli gjort
Steinar -> skal organisere møtene slik at vi har en plan før møte. slik at vi ikke møter uten å ha noen plan
Torbjørn -> skal sørge for at det er korrekt dokumentasjon og bra nok dokumentasjon.
Gabriel -> leder for spilleregler og ansvar for riktig spillmekanikk
##Produktutforming
###Overordnet mål
Vi vil lage en fungerende digital versjon av RoboRally som er kompatibel med MAC, Windows og Linux.
Applikasjonen må kunne kjøre og fungere uten å ha noen ødeleggende feil eller mangler.
Det skal kunne fungere over LAN med opptil 8 spillere.
Spillet skal implementere alle spillereglene fra RoboRally (om tiden strekker til).
###Systemkrav
* En visuell representasjon av et spillbrett.
* En spiller som kan bevege seg på brettet.
* En spiller taper når de mister alle liv.
* En spiller dør om de tar 10 skade.
* En spiller trenger liv.
* Spilleren trenger å kunne ta skade.
* En spiller må kunne vinne.
* Kort for å programmere roboten.
* Forskjellige funksjonelle objekter/ruter på kartet (eks. vegg, laser).
* Runder (Består av 5 faser. Du får nye kort, reparasjon, powerdown etc.).
* Faser (Ett kort fra hver spiller blir brukt, og objekter på brettet interagerer.
Registrering av flagg skjer etter hver fase).
* Kunne spille med andre spillere over lan.
* Lasere skyter i slutten av hver fase.
* Spillere beveger seg hver fase og kort bestemmer hvem som går først.
* Velge kort i starteren av runden.
* Kunne velge powerdown etter alle har låst kortene sine.
* Slutten av runden får spillere reparasjoner hvis de står på en reparasjonsbrikke eller flagg.
* Sjekke om noen spillere står på riktig flagg.
* Respawn etter en robot er ødelagt ved slutten av runden/fasen gitt at de har flere liv.
* Hvis en spiller er i powerdown blir spilleren spurt (i starten av nye runden) om han vil bli i powerdown eller ikke.
* Roboter må kunne dytte hverandre.
* Samle inn kort i slutten av en runde.
* Ikke samle sammen kort som er låst.
* Vise hendelser som skjer på skjermen med en delay slik at spillet ser riktig ut.
* Roboter dør hvis de går utenfor spillbrettet eller faller i ett hull.
###Prioriterte krav
1. Vi har et brett tegnet inn med libgdx.
2. Ha en brikke tegen inn med libgdx.
###Prosjektmetodikk
* 2 fysiske møter i uke. En på gruppetimen og en på torsdager.
* Møter på discord online med skjerm deling for parprogrammering.
* Syklus oppsett mellom hver oblig. sette opp oppgaver over hva som skal gjøres over hver syklus.
* Vi tenker å ta en blanding av scrum og parprogrammering under prosjektet.
* Tirsdager brukes for å re cape hva som har blitt gjort uken før
og for å avklare om vi føler oss ferdig med oppgaver.
* Torsdag er satt av for parprogrammering.
* Deling av dokumenter skjer over git eller discord.
* Bruke project board for at vi skal ha kontroll over alle oppgavene og hvem som skal gjør hva.
###Bruker historier
#### Vise et brett
* Som en spiller må jeg kunne se et brett får å kunne spille spillet.
* Som spillbrett må jeg vise alle elementer som er på meg
* Som spillbrett må jeg vær delt inn ruter/tiles der brikkene på meg må være i bare en rute av gangen.
#####Akseptansekrav
* Vi kan se et brett der noe kan bli plassert på brette i en rute/tile
####Plassere en brikke på brettet
* Som brikke må jeg kunne plassere på spillbrettet
* Som brikke må jeg være synlig på brettet
#####Akseptansekrav
* Brikken blir plassert synlig i en bestemt tile på brettet