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. 3-9-2018 t/m 9-11-2018; herkansing week 1)
Timeslot:D
Deelnemers:tot nu toe 12 inschrijvingen
Rooster:De officiële roosters staan ook in Osiris
Docenten:
vormgroeptijdweekzaaldocent
college   wo 13.15-15.0037 RUPPERT-040 Wouter van Toll
Remco Veltkamp
   
practicum groep 1 wo 15.15-17.0036 BBG-175 CLZ Jelle Kroon
 
37-45 UNNIK-105
vr 15.15-17.0037-38 UNNIK-101
40-41 UNNIK-101
43 UNNIK-107
44 UNNIK-101
groep 2 wo 15.15-17.0036 BBG-103 CLZ Tim Schagen
 
37-45 UNNIK-106
vr 15.15-17.0037-38 UNNIK-105
40-41 UNNIK-105
43-44 UNNIK-105
groep 3 wo 15.15-17.0036 KBG-228 Maurin Voshol
 
37-45 BBG-103 CLZ
vr 15.15-17.0037-38 UNNIK-106
40-41 UNNIK-106
43-44 UNNIK-106
groep 4 wo 15.15-17.0036 UNNIK-106
37-45 KBG-228
vr 15.15-17.0037-38 BBG-103 CLZ
40-41 BBG-103 CLZ
43-44 BBG-103 CLZ
werkcollege groep 1 wo 13.15-15.0038-44 UNNIK-211 Ron Vanderfeesten
  
vr 13.15-15.0037-38 BBG-061
40-41 BBG-161
43-44 BBG-061
groep 2 wo 13.15-15.0038-44 BBG-161
vr 13.15-15.0037-38 ANDRO-C101
40-41 ANDRO-C101
43-44 ANDRO-C101
Tentamen:
week: 39vr 28-9-20188.30-10.30 uurzaal: EDUC-ALFA
week: 42vr 19-10-20188.30-10.30 uurzaal: EDUC-ALFA
week: 45vr 9-11-20188.30-10.30 uurzaal: EDUC-ALFA
week: 1vr 4-1-20198.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?