SluitenHelpPrint
Switch to English
Cursus: INFOB1GP
INFOB1GP
Gameprogrammeren
Cursus informatie
CursuscodeINFOB1GP
Studiepunten (EC)7,5
Cursusdoelen
De student kent de taalconstructies en het gangbare idioom van de imperatieve en objectgeoriënteerde programmeerparadigma's, en is in staat om daarmee een 2D game-omgeving met sprites te bouwen.

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.

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.
Inhoud

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.

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).

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.
 
SluitenHelpPrint
Switch to English