3D Game Engine for Multiplayer Online Games
Transcrição
3D Game Engine for Multiplayer Online Games
BI Informatik Informatique 3D Game Engine for Multiplayer Online Games 3D Computergrafik / Prof. Urs Künzler, Prof. Dr. Jürgen Eckerle Experte: Dr. Federico Flückiger Computerspiele haben sich in den letzten Jahren sehr stark weiterentwickelt. Nicht nur Jugendliche sondern auch Erwachsene vergnügen sich immer mehr mit Computerspielen, somit ist ein sehr grosser Markt entstanden. Durch die Weiterentwicklung des Internets sind kostengünstige Breitbandverbindungen wie ADSL auch für Privatanwender nutzbar. Somit werden Online-Computerspiele, welche eine grosse Anzahl von Spielern unterstützen, immer beliebter. Um ein Spiel zu entwickeln, bedarf es einer soliden Game Engine. Dies ist ein Softwareframework, welches die Grafik, Netzwerk und Ressourcen verwaltet. Cédric Rohrbach 1984 079 273 35 13 [email protected] Matthias Rieder 1980 079 532 98 78 In dieser Diplomarbeit wurde eine komplette Game Engine entwickelt, welche grosse 3D Landschaften darstellt und von mehreren Spielern gleichzeitig online betreten werden kann. Solche Spiele sind unter Mas sively Multiplayer Online Games (MMOG) bekannt. Die Engine wur de mit der Programmiersprache C++ entwickelt und ist Plattform unabhängig. Um die 3D Szene zu zeichnen, wurde die OpenGL Grafikschnittstelle verwendet, wel che neben DirectX die führende 3D Grafikbibliothek ist. Die Engine ermöglicht die Entwick lung von Server und Client Program men. Benutzerkonten werden von einem Account Server verwaltet. Um die virtuelle Welt persistent zu halten, wird der Status von jedem Spieler auf einem Master Server abgespei chert. Damit die Netzwerk- und Be [email protected] geladen. Bewegt sich der Spieler in eine andere Zone, werden die ent sprechenden Ressourcen im Hinter grund geladen, ohne dass der Spie ler etwas davon merkt. Moderne Grafikkarten erlauben die Programmierung des Grafik kartenprozessors. Mit der OpenGL Shading Language wurden Ver tex- und Pixelshader in das eigene Materialsystem, welches auf XML basiert, implementiert. Somit kön nen spezielle Effekte, erweiterte Beleuchtungen und dynamischer Schatten realisiert werden. Um die Game Engine zu testen und zu präsentieren, wurde ein Prototyp eines Computerspiels entwickelt, in welcher unser Spieler in Form von zwei verschiedenen Charakteren eine virtuelle Welt erkunden und mit anderen Spielern interagieren kann. Netzwerk Architektur Charaktermodellierung mit Blender 116 rechnungslast verteilt werden kann, wird die virtuelle Welt in verschie dene Zonen aufgeteilt und von meh reren Zone Servern verwaltet. Der Client verbindet sich mit dem Zone Server, verwaltet die Eingabe- und Netzwerkdaten und zeichnet die 3D Welt auf den Bildschirm. Um Res sourcen zu sparen, wird die virtu elle Welt auf dem Client dynamisch geladen. Befindet sich der Spieler in einer bestimmten Zone, werden nur die Ressourcen für diese Zone Berner Fachhochschule - Technik und Informatik Prototyp-Game welches die Fähigkeiten der Game Engine demonstriert http://www.ti.bfh.ch Haute école spécialisée bernoise - Technique et informatique