Innføring i spillprogrammering - V2014



Prosjekt

Vurderingsformen i kurset vil være en prosjektoppgave. Prosjektet går ut på å lage en eller annen form for spill ved hjelp av Flash. Dere står fritt til å velge hva type spill dere vil lage, men oppgaven må godkjennes av faglærer. Det legges heller ingen føringer på hva som må være med i spillet, men generelt vil det være et tips å få med så mye som mulig av det som foreleses.

Prosjektet skal utarbeiders i grupper på 3 el. 4 personer (noe annet er ikke anbefalt og må ha "tillatelse")

NB! Store deler av kurset er ment som læring gjennom praktisk arbeid. Dere kan derfor ikke regne med at alle ting dere kommer til å få brukt for vil bli forelest (forelesningene er mer ment som en introduksjon). Kurset vil i stor grad basere seg på labtimer i andre halvdel, for å få hjelp til å løse konkrete problemer.

Prosjektet vil bl.a bli vurdert på følgende kriterer:

NB! Dere vil få individuelle karakterer på prosjektet. Dette krever at dere loggfører hvem som gjør hva i prosjektet, og leverer dette sammen med prosjektbesvarelsen. Dersom man under sensuren betviler at loggene stemmer, vil man foreta en muntlig høring av prosjektdeltakeren(e).

I år vil det være enda mer fokus på at alle skal ha bidratt på alle områder (koding, grafikk, spillidee osv) for å få "prosjektkarakteren". For å stå i faget må man bevise at man både behersker grafikk/animasjon OG programmering.

NB! All hjelp og eksempler man tar utgangspunkt i må det opplyses om i prosjektdokumentasjonen. Dere må også være forberedt på å måtte forklare deler av prosjektet/koden under presentasjonen for å forsvare at det er deres eget produkt.

Innleveringer

Innlevering foregår på frigg.hiof.no. Det skal her opprettes en webside for prosjektet, som inneholder dokumentasjon, prosjektfiler osv.

NB! Kontinuerlig gjennom prosjektet skal de skrives logger over hvem som bidrar med hva i prosjektet. Denne "oppgaven" vil gå parallellt med de andre innleveringene.

1. Gruppesammensetning og prosjektforslag:

I denne innleveringen skal dere lage en webside for gruppa, samt komme opp med minimum fem prosjektforslag. Det skal være forslag til 5 ulike spill.

Disse forslagene skal være såpass detaljerte og godt gjennomtenkt at det går klart frem hva som skal lages, hvordan spillene skal fungere (i grove trekk) og hva som gjør spillene spesielle. Tegn også noen grove skisser til hvert av forslagene som viser viktige deler av spillet.

Dere kan finne inspirasjon til spill blant V09-, V10-, V11-, V12- og V13-spillene, men dere skal komme opp med egne ideer i år. NB! Det kreves at spillene skal være mer ambisiøse enn de enkleste spillene tidligere år (vurderingen skal tilpasses dette)

Flere ideer til oppgaver kan dere finne også her, men husk at dere skal komme opp med en egen vri:

Etter at innleveringen er gjort skal gruppen komme innom kontoret til foreleser og diskutere forslagene når det gjelder selve ideen samt gjennomføringen (spesielt programmeringen).

Informasjon om deltakere (med fult navn) samt frigg-konto skal sendes foreleser på mail innen fristen.

2. Detaljert Prosjektforslag:

I denne innleveringen skal dere lage en detaljert beskrivelse av prosjektet dere har valgt. Dette innebærer bl.a følgende puntker (dere trenger ikke besvare dette som adskilte punkter):

Dere skal her også gradere/prioritere funksjoner, brett osv med hva som være med, hva som bør være med, og hva som kan være med.

Denne skal være så detaljert at alle kan forstå eksakt hva det er dere skal lage, og det skal være en komplett beskrivelse av spillet. Dere vil ha mulighet for å gjøre endringer videre under utviklingen, men disse skal i såfall dokumenteres og begrunnes.

3. Detaljert Systemdesign:

Forrige innlevering (detaljert prosjektforslag) tok for seg hva dere skulle lage, og hvordan det skulle fungere. Nå skal dere se på hvordan spillet skal lages rent teknisk i Flash/AS.

Tenk også litt over hvordan koden bør/kan skrives (dette er sikkert ikke lett, men dere skal i alle fall lage et gjennomarbeidet forslag). Dere trenger ikke skrive kode, men dere må lage grov "pseudokode" eller skisser.:

Det kan ofte også være lurt å tegne ned "gangen i spillet" som f.eks et flowchart (se eksempel på flowchart her)

Jo mer arbeid dere gjør her, jo enklere vil det bli å lage/programmere systemet seinere.

4. Prototype I:

Her skal dere levere en test på ulike komponenter i spillet. Ta for dere hver av hovedproblemene når det gjelder kode, og forsøk å lage et prosjekt som løser hvert av dem

Merk at dere IKKE skal lage ett prosjekt som skal være spillet som helhet, men flere småtester. Det er langt enklere å "forfine" funksjonalitet i et eget lite prosjekt enn i ett sammensurium av kode. Disse delprosjektene skal først settes sammen på et seinere stadie i utviklingen.

5. Prototype II:

Her skal dere levere en sammensatt test på spillet basert på de ulike prosjektene i prototype I. Lag en demo som er så nær det dere ønsker å lage som mulig (kan inneholde bugs og småfeil). Må dere gjøre endringer i systemdesignet?

6. Release Candidate:

En ferdig versjon av prosjektet. Denne skal være så ferdig at den kan vises i plenum på presentasjonen, og i all hovedsak være lik produktet som skal karaktersettes (med unntak av noen små bugs mm.). Uken frem til presentasjonen har dere til å fikse småbugs.

7. Presentasjon:

Dette er en obligatorisk presentasjon av hva dere har laget (fortelle kort hva og hvorfor + en demo) på ca 5-10 min. Dette er ingen ting å grue seg til. Det kommer til å være en kontrollsensor til stede. Han/hun skal ikke vurdere selve presentasjonen, kun prosjektene. Sørg for at dere får vist det dere har laget på en best mulig måte. Sørg for å kunne kjøre prosjektet fra en nettadresse slik at vi slipper å bytte maskiner. Plan for presentasjonsdagen kommer når det nærmer seg.

8. Sluttrapporten:

En oppsummering av prosjektet. (Nærmest en samskriving av infoen fra de tidligere delene.)
Jeg har ikke lyst til å styre hvordan denne skal skrives i detlaj, men følgende punker må som minimum være med (ikke bruk dette som rapportstruktur):

Innlevering

Innlevering foregår på prosjektserveren frigg.hiof.no. Her skal dere alt ha en prosjektside for faget, og på denne siden skal alt av innlevert materiale være lett tilgjengelig og synelig. Husk også å legge ut fla- og as-filene. Rapporten skal legges ut i PDF-format eller som websider.