Home/Vakken/Game programming
INFOB1GP7.5 ECTSQ1DutchBachelor

Game programming

FaculteitFaculty of Science
NiveauBachelor
Studiejaar2026-2027

Beschrijving

Course goals

NB Het Nederlands wordt als voertaal gebruikt in de colleges, de communicatie en de toetsing van deze cursus, tenzij betrokken docenten deze taal onvoldoende beheersen. Het gebruikte cursusmateriaal zal typisch Engelstalig zijn.

After completing this course, students will be able to:
G1. explain the language constructs and common idioms of the imperative and object-oriented programming (OOP) paradigms.
G2. design and develop a 2D game environment collaboratively, incorporating 'sprites' and the 'game loop' to create a functional game.
G3. apply programming concepts frequently used in games, such as lists and arrays, to implement simple algorithms for collaborative game development.
G4. model a data structure in the form of classes with member variables and methods, organize these classes in a subclass hierarchy, and analyze the relationships between parent and child classes.

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.

Om aan de aanvullende toets te mogen meedoen moet de oorspronkelijke uitslag minstens 4 zijn.

Ingangseisen
Dit vak is voor studenten Gametechnologie.
Voor andere 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.

Content

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.


Werkvorm:
Introductiecollege, 2 x 2 uur werkcollege per week, 2 x 2 uur practicum per week

Studiemateriaal

  • W. van Toll, A. Egges, J.D. Fokker. "Learning C# by Programming Games", second edition ISBN 978-3642365799. Springer, Heidelberg (2019). DOI 10.1007/978-3-662-59252-6. eBook ISBN 978-3-662-59252-6. Hardcover ISBN 978-3-662-59251-9, Softcover ISBN 978-3-662-59254-0.
 

Reviews0 reviews

Nog geen reviews voor dit vak. Wees de eerste!

Heb jij dit vak gevolgd?

Deel je ervaring met toekomstige studenten. Inloggen met je Universiteit Utrecht mailadres duurt één minuut.

Schrijf een review