COMP 4300: Introduction to Game Programming

Corso super interessante di una università americana sulla programmazione dei videogiochi.

Obiettivi del corso (ripresi dal link a seguire)

This is an introductory course for students interested in learning the fundamentals of game programming. Topics include vector math for games, fundamentals of rendering, introduction to animation and artificial intelligence, collision detection, game physics and user-interfaces. Students are required to write a fully functional game during the course.

L’ultima versione del corso (del 2023) è presente su youtube al seguente link:

Il corso si basa sul’utilizzo di una particolare architettura per sviluppare un gioco chiamata ECS, che sta per Entity-Component-System.

Le lezioni hanno i seguenti titoli (fanno capire un po’ il contenuto):

  • 01 - Couse Introduction
  • 02 - Intro to C++ (1/2)
  • 03 - Intro to C++ (2/2)
  • 04 - Assignment 1
  • 04a - SFML / ImGui Tutorial
  • 05 - Intro to ECS
  • 06 - Entity Manager + 2D Game Math
  • 07 - Assignment 2
  • 08 - Collision Detection
  • 09 - Sprites / Textures / Animations
  • 10 - Actions and Replays
  • 11 - Assignment 3
  • 12 - Course Project Explained
  • 13 - Ray Casting, Lightning, Vision
  • 14 - Game Cameras / Views
  • 15 - Pathfinding and Steering
  • 16 - Saving, Tools, Drag and Drop
  • 17 - Assignment 4
  • 18 - Advanced Game Loops
  • 19 - Caching + ECS Memory Pool
  • 20 - C++ Visual Code Profiling
  • 21 - Intro to Shaders
  • 22 - Vertex Arrays and Particle Systems

E niente, tutto molto interessante, consiglio vivamente!

2 Likes

Sul canale di recente ho caricato un video in cui mostro del codice che avevo scritto per risolvere il primo assignment. Il codice non è completo, in quanto non mi occupo di centrare il testo nelle varie shapes, ma è abbastanza funzionante, e comunque rappresenta un ottimo punto di partenza.

Il codice è disponibile qui:

Per compiarlo una volta fatto il clone dovete eseguire

./bootstrap.sh
make all

Dove lo script bootstrap.sh serve per scaricare le dipendenze di ImGui. Prima ancora di compilarlo è necessario installare sia SFML che il layer di integrazione SFML-Imgui.

In ogni caso è anche presente un Dockerfile che crea un docker con ambiente pronto in archlinux, quindi da lì si possono vedere i pacchetti scaricati.

1 Like