Die Überschrift ist jetzt nicht sehr glücklich gewählt aber trifft es in etwa.
(Sorry Crazy, ich publishe es mal schnell hier rein)
Vorwort:
Vor etwas längerer Zeit suchte ich eine neue Herausforderung und stolperte wieder über OpenGL.
Weil ich davon keine Ahnung habe (hat sich bis heute nicht geändert), dachte ich mir dass man es ja mal lernen kann.
Er sollte es ein kleines Spiel werden, was auch ganz in Pokemon Manier gut aussah und schon recht nett funktionierte, aber irgendwie gefiel mir der Gedanke nicht, dass das Programm dann nur für einen Zweck ausgelegt war.
So hatte ich das ganze Umgestrickt und letztlich diese "Engine" gebastelt.
Sourcecode:
Der Quellcode ist hier zu finden:
Und worauf es läuft und wie es funktioniert erkläre ich jetzt.
Voraussetzungen:
Die Engine läuft grundsätzlich auf Linux und Windows, wenn die Grafiktreiber OpenGL mitmachen.
Linux
Unter Linux sollte man auf alle Fälle GLUT, GLEW, OpenAL installiert haben.
Zusätzlich wären MP3, flac und ogg libs nicht verkehrt.
Cmake ist Pflicht und gcc sowieso.
Windows
VisualStudio >2012 und OpenSSL ist Pflicht, den Rest liefert die Engine frei Haus.
Leider ist nur ein Release-Compile möglich, Debug macht hier einige Fehler, weil ich generell die Release Libs nutze.
Ist ja alles toll und so, aber was kann es nun?
Vom Prinzip ist das Spielzeug eine Client/Server-Anwendung.
Bedeutet ihr habt euren Code, welchen der Client ausführen soll dem Server liegen und der Client läd nur die main.as herunter.
Die main.as sollte idealerweise eine Art Bootloader sein, welche dann alle anderen Dateien welche zum Projekt gehören mit herunterläd.
Sieht recht langweilig aus und für den Nutzer ists eher unspektakulär, aber
1. Läd er beim nächsten Start nur noch geänderte Dateien herunter.
(Also wirds schneller.)
2. Kann man das ganze via GLSL und einem ModuleTracker-File etwas optisch und akustisch aufwerten.
(Was bei geschickter Programmierung richtig was her machen kann)
2. Kann in etwa so aussehen und bei ~32kb Code kann man auch nicht meckern.
Source:
Wer nun sagt: Hey diese .as Dateien sehen fast wie C++ aus, liegt nicht ganz falsch.
Als Scriptsprache habe ich AngelScript genutzt, Lua war mit zu gebräuchlich und Python (auch wenn ich es gerne habe) mehr ein Overkill.
Schön und gut, Effektballerei ist zwar nice aber wie bekomme ich meinen Launcher mit dem Teil gebaut?
Das erfahrt ihr dann im nächsten Teil, wenn ich wieder halbwegs ausgeschlafen habe.
Dann erkläre ich ein wenig, wie man andere Dateien (Wow.rar, etc) herunter läd, Grafiken platziert, Buttons ansteuert und ein wenig Text nach Wahl auf den Bildschirm zaubert.