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