Game Engine in C: Unterschied zwischen den Versionen

Wir modden nicht "server" sondern "game" und "cgame"
K (wrong category)
(Wir modden nicht "server" sondern "game" und "cgame")
==Idee==
Um Wissensdurstigen einen Einblick in die fortgeschrittene C Programmierung zu geben wird die [http://de.wikipedia.org/wiki/Quake_III_Arena Tech 3] Gameengine von idsoftware weiterentwickelt. An Hand des Open Source Projekts [http://ioquake3.org/ ioquake3] werden die Teilnehmer in die praktische C-Programmierung abseits der Schulbuecher eingefuehrt. Der im Workshop erarbeitetegezeigte Code wird produktiv eingesetzt. [http://www.q3df.org/]
 
 
 
==Zielgruppe==
* Neulinge in der C-Programmierung
 
 
 
==Todo-Liste==
* Existierenden Code Aufräumen
* Konzept für verschiedene Ebenen des Anspruchs erstellen
 
 
 
==Verantwortlich==
* Daniel "hk" Steuer
 
 
 
==Der Engine==
 
'''ClientVM''' <-syscall-> '''ClientServer''' <--IP--> '''Server''' <-syscall-> '''ServerVM'''
 
 
 
===Eigenheiten===
* Der Gesammte Engine ist vollständig SingleThreaded. Das bedeutet, dass innerhalb des Spiels niemals zwei Dinge gleichzeitig berechnet werden, was gewaltige Vorteile bei der Speicherverwaltung mit sich bringt.
* Die mathematischen Optimierungen für häufige Berechnungen sind sehr tiefgreifend und führen in den untiefen der math.c zu nur für C-Liebhaber gut lesbaren Quellcode.
 
 
 
==Lehrinhalt==
* Die Furcht vor Strukturen und Zeigern ablegen.
* Abfangen und Manipulieren von Syscalls zwischen VM und Server (transparenter Proxy)
* Die Furcht vor Bit-Operationen ablegen.
* Erzeugen von Modulen die zur Laufzeit ge- und enladen werden können
* Schreiben einer einfachen modifikation fuer ioquake3.
* Erzeugung und Benutzung von Threads
 
* Erstellen einer Datenbankschnittstelle (MySQL)
 
 
==Weblinks==
* Einsatzbereich für eine solchein C geschriebene Proxymod: [http://www.q3df.org/]
 
 
852

Bearbeitungen