Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde

Gameprogrammeren

Website:website met extra informatie
Vakcode:INFOB1GP
Studiepunten:7.5 ECTS
Periode:periode 1 (week 36 t/m 45, d.w.z. 4-9-2017 t/m 10-11-2017; herkansing week 1)
Timeslot:D
Deelnemers:tot nu toe 106 inschrijvingen
Rooster:De officiële roosters staan ook in Osiris
Docenten:
vormgroeptijdweekzaaldocent
college   wo 13.15-15.0037 RUPPERT-WIT Paul Bergervoet
Wouter van Toll
    
practicum          Ron Vanderfeesten
  
groep 1 wo 15.15-17.0037-44 BBG-103 CLZ Craig Leek
 
vr 15.15-17.0037-38 BBG-103 CLZ
40-41 BBG-103 CLZ
43-44 BBG-103 CLZ
groep 2 wo 15.15-17.0037-44 BBG-115 CLZ Ozer Ulusoy
 
vr 15.15-17.0037-38 BBG-112 CLZ
40-41 BBG-112 CLZ
43-44 BBG-112 CLZ
groep 3 wo 15.15-17.0037-44 BBG-109 CLZ Stefan Schouten
 
vr 15.15-17.0037-38 BBG-109 CLZ
40-41 BBG-109 CLZ
43-44 BBG-109 CLZ
groep 4 wo 15.15-17.0037-44 BBG-106 CLZ
vr 15.15-17.0037-38 BBG-106 CLZ
40-41 BBG-106 CLZ
43-44 BBG-106 CLZ
werkcollege groep 1 wo 13.15-15.0038 BBG-165
39 BBG-079
40 BBG-209
41 BBG-079
42-44 BBG-209
vr 13.15-15.0037-38 BBG-083
40 BBG-083
41 BBG-161
43 BBG-161
44 BBG-201
groep 2 wo 13.15-15.0038 RUPPERT-038
39 BBG-205
40 BBG-214
41 BBG-205
42-44 BBG-214
vr 13.15-15.0037 UNNIK-GROEN
38 BBG-161
40 KBG-ATLAS
41 UNNIK-GROEN
43-44 UNNIK-GROEN
Tentamen:
week: 39vr 29-9-201713.30-15.30 uurzaal: EDUC-BETA
week: 42vr 20-10-201713.30-15.30 uurzaal: EDUC-ALFA
week: 45vr 10-11-20178.30-10.30 uurzaal: EDUC-ALFA
week: 1vr 5-1-20188.30-10.30 uurzaal: EDUC-ALFAaanvullende toets
Inhoud:In dit vak leer je games programmeren in de programmeertaal C#, waarin opdrachten gebundeld worden in zogeheten methoden, die een object bewerken. Het is daarmee tevens een inleiding in objectgeorienteerd programmeren. We bekijken bijvoorbeeld hoe je het geheugen verandert, hoe je keuze en herhaling programmeert, en hoe je een programma slim kunt ordenen in objecten. Je beschrijft zelf nieuwe soorten objecten met daarbij behorende methoden, maar maakt ook kennis met de bij C# horende standaard-methoden.

Voor het game-aspect maken we gebruik van MonoGame, waarmee je games kunt programmeren voor PC, Mac, iOS, en Android. Je maakt kennis met de 'game loop' (de basis van elke game) en andere progammeerconcepten die je veel in games tegenkomt. Hoewel je met MonoGame volledige 3D games kunt ontwikkelen, richten we ons in het college op het ontwikkelen van 2D games. We zullen een aantal verschillende voorbeeldgames ontwikkelen tijdens het vak, waaronder een schietspel en een puzzelspel. Aan het eind van het vak werk je aan een volledig platformspel met graphics, physics, geluid, en animatie.

C# is een moderne programmeertaal die ook wordt gebruikt in game engines zoals Unity3D. Na deze cursus kun je jezelf vergelijkbare talen eenvoudig aanleren, zoals Java en C++ (nog steeds een belangrijke taal in de game-industrie).

Literatuur:A. Egges, J.D. Fokker, and M.H. Overmars. Learning C# by Programming Games. ISBN 978-3642365799. Springer, Heidelberg (2013).

Werkvorm:We beginnen met één introductie-hoorcollege. Daarna is er per week 2 maal 2 uur werkcollege, waarin je oefent met nieuwe concepten en voorbeelden. In elk werkcollege behandelen we een ander onderwerp zoals aangegeven in het schema. Bij elk werkcollege hoort een document met opgaven, en een voorbereiding die je thuis van tevoren uitvoert. We zullen ook regelmatig iets klassikaal behandelen.

Daarnaast is er per week 2 maal 2 uur begeleid practicum, waarin je o.a. werkt aan een drietal in te leveren games. Daarbuiten is er gelegenheid (en waarschijnlijk noodzaak) om onbegeleid practicumwerk te verrichten om de practicumopdrachten te voltooien.

We bieden de leerstof in verschillende vormen aan: een boek met opgaven en voorbeeldprogramma's, een aantal Powerpoint-slides per onderwerp, en tutorial-filmpjes op YouTube. Je kunt al deze dingen als naslagwerk gebruiken voor werkcollege en practicum, en als voorbereiding op de tentamens.

Toetsvorm:Het vak wordt beoordeeld aan de hand van drie toetsen (T1,T2,T3) en drie practica (P1,P2,P3). Het totaalcijfer voor de toetsen (T) is 0.2*T1+0.3*T2+0.5*T3 en evenzo voor de practica (P). Het eindcijfer voor het vak is dan (T+P)/2 onder de voorwaarde dat P>=5 en T>=5. Afronding van je eindcijfer gebeurt op één cijfer achter de komma, behalve tussen de 5 en de 6 (daar ronden we af op helen).

Als een van de zes cijfers ontbreekt, blijft het vak 'onvoltooid'. Als herkansing kan er een extra practicumopdracht worden gemaakt, die je kunt inzetten voor een van P1, P2 en P3 (om een onvoldoende of een ontbrekend cijfer te vervangen). Hetzelfde geldt voor de toetsen. Herkansingspracticum en -toets gaan over de hele stof, ongeacht voor welk van de drie hij als vervanging geldt.

Inspanningsverplichting voor aanvullende toets:Om aan de aanvullende toets te mogen meedoen moet de oorspronkelijke uitslag minstens 4 zijn.
Beschrijving:Dit is het eerste programmeervak, voorkennis anders dan elementaire computergebruiksvaardigheid is niet vereist. Aan de hand van (steeds ingewikkeldere) voorbeeldprogramma's en games wordt de syntax en semantiek van de belangrijkste constructies van C# behandeld. Vanaf het begin wordt object-georienteerde modellering van de probleemstelling gebruikt. In combinatie met C# gebruiken we de game engine MonoGame. We behandelen in dit vak de basisprincipes van het maken van 2D games met MonoGame, met behulp van de game loop en een aantal standaardbibliotheken om sprites, geluiden, en andere game assets te beheren.

Let op: dit vak is niet toegankelijk voor reguliere informaticastudenten. Voor die studenten wordt het vak Imperatief programmeren gegeven. Voor niet-informaticastudenten: als je in een eerder stadium Imperatief programmeren al gevolgd en gehaald hebt, krijg je voor Gameprogrammeren geen studiepunten!

wijzigen?