Aber natürlich. Videospiele haben ALLES was es gibt. Man braucht ein ordentliches Model für die Datenhaltung, Nutzereingaben, Speichern / Laden, Netzwerkkommunikation, GUI programmierung, künstliche Intelligenz, Grafikprogrammierung, Zeitverhalten, Multithreading, Plugins, komplexe Algorithmen (Pathfinding, Graphenalgorithmen, etc) und wahrscheinlich noch viel mehr.
Natürlich hat nicht jedes Videospiel all diese Dinge, aber Videospiele im Allgemeinen können eine beliebige Kombination aus all diesen Themenbereichen verwenden.
Andere Applikationen, zum Beispiel Simulationssoftware, Finance oder Controller von eingebetteten Systemen müssen sich immer nur um ein paar ganz spezielle Teilbereiche kümmern. Aber in Videospielen sind alle diese Dinge wichtig, sie sind perfekt dazu geeignet um gutes Programmieren zu lernen und zu üben, darum verwenden wir in unseren Praktiken an der Universität immer Videospiele für die Gruppenarbeiten.
Man kann sie zudem auch noch beliebig schwierig und komplex machen. Von Pong über Zelda zu World of Warcraft kann man die komplexität der Arbeit ins unendliche steigern.