Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Version 11 (modified by bensch, 19 years ago) (diff)

Semesterarbeit: Wissenschaftlicher Kontext

Diese Seite ist eine Zusammenstellung des "Wissenschaftlichen Kontextes" einer Orxonox PPS Semesterarbeit.

Open Source Arbeitesumgebung

  • Programmierung einer Projektwebseite fuer Orxonox in HTML/PHP
  • Einfuehrung und Benutzung eines WIKIs mit Dokumentation fuer alle Entwickler
  • Verwendung des Projektmanagement tools: SVN
  • Konsequente Dokumentation des source codes mittels Doxygen

Programmiertechnische Umgebung

  • Erlernen der zugrundeliegenden Libraries: SDL, OpenGL, OpenGL Extensions, Graphics Shader Language, STL, OpenAL, FFmpeg
  • Objektorientiertes Programmieren mit Modellierung durch UML class/sequence graphs
  • Advanced C++ Programmierung (inkl. Templates und Makros)

Projektmanagement

  • Leitung eines open source Projektes ueber 2 Jahre
  • Organisation von Informationsevents zu Orxonox (Conventions)
  • Motivation von Mitprogrammierern
  • Projektplanug und Codedesign

PPS Kursleitung

  • Erstellung eines Orxonox Kurses fuer Studenten des D-ITET
  • Erstellung von Kursunterlagen
  • Fuehrung und Unterstuetzung der Studenten

Programmatisch adressierte Probleme

  • Object-Object Collision Detection Algorithm: OBB (Object aligned Bounding Boxes)
  • Spatial Terrain Separation Algorithm: Quadtree von beliebigen Vertex soups
  • Loading Framework: Objekte koennen mittels XML files erstellt/geladen werden: laden von Spielwelten
  • Dynamisches Laden: Objekte mittels shared library und Factory erzeugen und verwenden
  • Dynamische Resource Allocation von Models, Texturen, Sounds und anderen Resourcen ueber einen Resource Manager
  • Grafisches: Laden von verschiedenen Modelarten (MD2, OBJ), Particle Systems mit Billboarding, Fog Effects, Billboards
  • Sound: Implementierung einer 3D-SoundEngine zur Verwaltung von Channels, Buffers und Sourcen

Moegliche Arbeiten fuer Semesterarbeit

  • Artificial Intelligence von NPCs
  • Object-ConcaveBody Collision Detection
  • Design und Implementierung einer Qt und OpenGL Graphical User Interface Library fuer Orxonox (GUI)
  • Design und Implementierung eines Scripting Interfaces (evt. Suche nach einem identischen Open Source Projekt)
  • Erweiterung des Network Moduls von Orxonox: HTTP/Telnet status Interface