IMT3603

Spillprogrammering

Høst

Gjøvik

Engelsk

Oversikt

Snitt

B

3,57

likt

Ståprosent

100 %

likt

Karakterfordeling
Snitt over tid
Ståprosent over tid

Om emnet

Faglig innhold

Forelesningstemaene vil fokusere på det studentene trenger å kunne for å komme videre i utvikling av spill ved hjelp av moderne teknologi. Temaene kan blant annet omfatte:

  • Design patterns
  • Grafikk
  • Fysikk i spill
  • Karakterutvikling
  • Animasjon
  • Game-spesifikk AI
  • Implementering av spillmekanikk
  • Game production process
  • Prosjektledelse i team
  • Memory management
  • Algorithm efficiency
  • Avanserte programmeringsteknikker

Læringsmål

Ved fullført emne har studentene:

Kunnskap

Studentene kan:

  • forklare arkitekturen og kjerne-subsystemene i moderne game engines (rendering, physics, input, animation, scripting, asset pipeline)
  • beskrive hvordan vanlige design patterns (component-based design, state machines, event systems, ECS) brukes i game programming
  • forklare hvordan version control og continuous integration / continuous delivery (CI/CD) støtter game development workflows
  • diskutere typiske tilnærminger til game-spesifikk AI (f.eks. finite state machines, behaviour trees, navigation) og deres innvirkning på gameplay
  • analysere sosiale, kulturelle og etiske problemstillinger i game development, inkludert representasjon, player well-being, monetisation models og online behaviour

Ferdigheter

Studentene kan:

  • designe, implementere og iterativt forbedre et lite, men komplett dataspill som del av en gruppe
  • estimere arbeidsmengden som kreves for å implementere ulike funksjoner i et dataspill
  • bruke project management tools til å planlegge og følge opp utviklingsarbeidet
  • integrere og håndtere assets (graphics, audio, animation) og implementere grunnleggende UI/UX-flows, inkludert rask GUI prototyping av interaksjoner
  • stille fokuserte, kritiske spørsmål om spill, spillmekanikk og utviklingsprosessen, og bruke svarene til å styre design og implementasjon

Generell kompetanse

Studentene kan:

  • samarbeide effektivt i et development team, inkludert ta roller, håndtere avhengigheter og reflektere over gruppedynamikk og kommunikasjon
  • gi og motta spesifikk, konstruktiv kritikk av game design, code og player experience på en profesjonell måte
  • dokumentere spillet og utviklingsprosessen (design documents, technical notes, changelogs) og presentere resultatene både skriftlig og muntlig
  • reflektere over egne styrker og svakheter som game programmers og gruppemedlemmer, og identifisere konkrete steg for videre profesjonell utvikling

Dette er et gruppearbeid, og en vesentlig del av læringsutbyttet er knyttet til å arbeide i gruppe og å kunne avgrense og estimere tiden det tar å designe og implementere et spill.

Læringsformer og aktiviteter

  • Forelesninger
  • Øvinger
  • Prosjektarbeid

Tilleggsinformasjon: Studentene vil arbeide i grupper for å utvikle et spill. Øvinger i timene og forelesninger vil være knyttet til gjeldende fase i utviklingsprosessen.