[S1.02] Spieleentwicklung mit DeltaEngine Teil 2: Die Tools von DeltaEngine

Hallo an alle Leser,

willkommen zum zweiten Teil der Spieleentwicklung mit DeltaEngine-Reihe.

Im letzten Teil haben wir uns die DeltaEngine heruntergeladen und eingerichtet sowie unsere IDE darauf eingestellt, dass wir die Benutzerdefinierten Vorlagen nutzen können für unsere Projekte. Außerdem haben wir unser erstes Programm geschrieben, nämlich ein Programm mit einem kleinen Button, welcher beim Klick mal die Hintergrundfarbe ändert. Cool, oder nicht?

Wer den ersten Teil nicht gelesen hat, der findet ihn ganz unten am Ende des Beitrags verlinkt.

In diesem Teil werden wir die Tools der DeltaEngine kennenlernen, dazu werde ich sie alle kurz vorstellen.

Danach geht es wieder an unseren Code, da wir zumindest eines der Tools nutzen werden, um unser im ersten Teil erstelltes Projekt ein wenig zu modifizieren.

Auch hier wieder genug der Vorrede, lassen wir Taten sprechen.

 

 

Die Tools von DeltaEngine

DeltaEngine liefert uns einige Tools mit, die wir im Umgang mit ihr brauchen.

Im Folgenden werden alle Tools kurz vorgestellt und erläutert.

Alle Tools befinden sich (ausgehend vom Stammverzeichnis von DeltaEngine) im Ordner Tools jeweils in separaten Unterordnern

 

Der Launcher

Den Launcher kennen wir bereits kurz vom Aussehen her. Wir haben ihn im ersten Teil verwendet, als wir die Umgebungsvariable festlegen wollten, denn jedes der Tools von Delta hat den Vorteil, dass es automatisch die Umgebungsvariable setzt/anpasst, so dass immer der passende Pfad vorgegeben ist. (zumindest sollte dies passieren, es wollte nich immer so recht, dann muss man manuell eingreifen).

Jedenfalls, der Launcher ist so ziemlich eines der wichtigstens Tools, die man benötigt, wenn man mit DeltaEngine arbeitet.
Durch ihn ist man überhaupt erst in der Lage, Builds seiner Programme/Spiele für WindowsPhone 7, Android oder iOS zu erstellen.
Dazu benötigt man allerdings eine MultiPlatform-Lizenz, anders ist man nicht in der Lage, für jegliche Plattform außer Windows zu builden.
Wenn man nur für Windows entwickelt, muss man den Launcher eigentlich nicht verwenden. Allerdings hat dieser dennoch auch hier einen Vorteil, denn man kann so einige Settings noch festlegen, die dann vom Launcher berücksichtigt werden.
So wird der Content generiert und mit dazugepackt, die ganzen Delta-Assemblies kompiliert, obfuscated und zusammen in eine einzige .exe verpackt und auf Wunsch erstellt der Launcher sogar einen Installer, den man dann einfach und komfortabel verteilen kann.

Also alles in allem ist der Launcher eins der Tools, die man sicher oft genug verwenden wird und praktisch ist er zudem auch.

Hier noch ein aktuelles Bild des Launchers, wenn er gestartet wurde:

 

Der ContentManager

Ich kann mit Sicherheit behaupten, dass der ContentManager das Tool ist, welches ihr am häufigsten benötigen werdet, wenn ihr mit DeltaEngine ein Spiel entwickelt.
Ohne ihr seid ihr nicht in der Lage, überhaupt irgendwelchen Content ins Spiel zu bringen (ok, das ist gelogen, es geht schon, aber der ContentManager ist um einiges komfortabler).

Fakt ist, der ContentManager ist euer Freund, wenn es um Inhalte geht. Dabei ist es egal, ob es sich um Musik handelt oder um Grafiken oder gar um Fonts, der ContentManager kümmert sich darum.
Und er macht seine Sache sogar gut, denn der Content wird nicht nur für euch online gespeichert, sondern u.a auch optimiert für verschiedene Qualitätsstufen. So könnt ihr den gleichen Content auf verschiedenen Plattformen nutzen, ohne euch Gedanken über Performance machen zu müssen, da dies vom ContentManager her schon optimiert ist. (Natürlich entbindet euch das nicht von der Pflicht, allgemein sauberen Code zu schreiben usw, also ihr müsst immernoch aufpassen, dass ihr keine doofen Fehler macht, die eure Framerate in den Keller zieht, es ist lediglich der Content, der so gut es geht optimiert wird.)

Über den ContentManager könnt ihr dabei einen Teil eures Contents erstellen, wie z.B Fonts oder auch einfache Shader sind zurzeit möglich. Weitere ContentTypen kommen mit der Zeit dazu, schaut dazu im Wiki nach, dort gibt es eine Liste, wann was kommen soll.
Mit ihm ist es sogar möglich, euren Content im Spiel immer aktuell zu halten (wer sich noch an den ersten Teil erinnert, der weiß, dass wir da beim Start unseres ersten Programmes auch ein ContentProjekt auswählen mussten und genau diese werden mit dem ContentManager erstellt und verwaltet)

Der ContentManager ist übrigens auch das Tool, mit dem wir uns in diesem Teil der Serie noch beschäftigen werden.
Näheres dazu später, zuerst möchte ich euch noch einen Screenshot des ContentManager zeigen sowie den Rest der Tools vorstellen und erläutern. Es gibt dann auch noch ein paar Informationen mehr zum ContentManager, die ich hier nicht ansprechen möchte.
Hier der Screen (wie immer leicht zensiert, da ich es nicht wirklich vermeiden kann, dass persönliche Sachen von mir auf den Bildern zu sehen sind, die ich allerdings aus Gründen des Datenschutzes und Projektgeheimnisses nicht zeigen möchte, hoffe, ihr versteht meine Gründe):

 

Der SampleBrowser

Dieses Tool ist eure Anlaufstelle, wenn es darum geht, die Tutorials zu entdecken, die Delta bietet. Hier habt ihr Zugriff auf so manches Beispiel, woran ihr sehen könnt, wie etwas gestaltet wird, z.B eine simple TileMap oder ein kleines Hauptmenü inkl. Untermenüs oder auch Samples zu den PhysikEngines, die Delta unterstützt.

Darüber hinaus bietet der SampleBrowser auch die Möglichkeit, den entsprechenden Sourcecode zu öffnen, gleich die .exe zu starten (so seht ihr das Sample in Aktion, müsst es aber nicht erst suchen und selbst ausführen) oder das Sample auf einem mobilen Gerät zu starten (dabei wird wohl der Launcher genutzt)

Um den SampleBrowser richtig nutzen zu können, müsst ihr allerdings erst einmal die Solution von Delta kompilieren.

Dazu findet ihr im Hauptpfad von Delta die entsprechenden .sln Dateien, die ihr öffnet und dann über F6 in VisualStudio erstellen könnt.
Nutzer von Visual Studio Express müssen dabei die Express-Variante der Solution nutzen, denn die andere Version enthält so genannte Projektmappenordner, die von VS Express nicht unterstützt werden (es quittiert euch das mittels Fehlermeldung und lädt das/die entsprechende(n) Projekt(e) nicht.

Sonst gibts zum SampleBrowser nicht viel zu sagen.

Auch hier wieder ein Screenshot vom Fenster, damit ihr seht, was euch erwartet, wenn ihr ihn ausführt. (Es handelt sich aber um keinen Hund, den man so ausführen kann :D):

 

Die VisualStudio Templates

Die Templates haben wir bereits im ersten Teil soweit kurz kennengelernt, hier möchte ich sie nochmals genauer erläutern.

MIttels dieser Templates ist es schnell und einfach möglich, neue Projekte zu erstellen, die mit DeltaEngine funktionieren, da die Templates entsprechend schon vorkonfiguriert sind.

Enthalten sind (zum Zeitpunkt der Veröffentlichung dieses Teils) folgende Templates:

  • Das SimpleGame-Template: Enthält schon ein kleines, simples Spiel (es wird einfach nur ein drehendes DeltaEngine-Logo gezeigt, welches bei Bewegung eine kleine Spur hinterlässt, die langsam ausblendet) und ist mit den wichtigsten Assemblies ausgestattet, die benötigt werden, damit das Spiel soweit läuft. Soweit nichts wirklich umwerfendes und (zumindest für mich) in dieser Form nicht einsetzbar, da ich doch noch einige Assemblies mehr benötige, als bereits eingebunden sind
  • Das AdvancedGame-Template: Enthält ein fortgeschritteneres Projekt (Eine 3D-Pyramide inkl. Physik, welche zB per Maus beeinflusst wird und so umfällt, wenn man ihre Kisten herauszieht/-drückt/-wirft) und ebenso die Assemblies aus dem SimpleGame-Template + einige weitere Assemblies wie z.B. einer PhysikEngine-Assembly. Schon besser nutzbar, je nach Bedürfnisse sind aber auch hier wieder weitere Assemblies notwendig, die nicht eingebunden worden sind.
  • Das WindowsForms Tool-Template: Enthält ein passend konfiguriertes Projekt, welches genutzt werden kann, wenn man DeltaEngine zusammen mit WindowsForms nutzen will (z.B. für MapEditoren oder so)
    Dieses Template hab ich selbst noch nicht genutzt, kann also dazu keine Aussage machen
  • Das WPF Tool-Template: Im Grunde das Gleiche wie bei dem WindowsForms-Template, nur eben auf WPF angepasst.
    Hier gilt das Selbe wie bei den WindowsForms, ich hab es bisher nicht genutzt, kann daher keine Aussage machen.
    Zudem läuft dieses Template ausschließlich auf Windows, da nur da WPF unterstützt wird.
  • Das Library-Template: Wird genutzt, wenn man selbst eine Library schreiben möchte, die man dann in anderen DeltaEngine-Projekten verwendet. Von mir noch nicht wirklich unter die Lupe genommen, wird aber von mir schon verwendet für ein geplantes Projekt, da dieses Projekt eben als Basis für andere Projekte dienen soll.

Dies waren alle Templates, die enthalten sind im Umfang von DeltaEngine (wie gesagt, es gilt der Zeitpunkt der Veröffentlichung dieses Artikels)
Man könnte, wenn man wollte, mein eigenes Template hier ebenfalls dazuzählen, ich habe aber darauf verzichtet, da ich mich auf die Templates beziehen wollte, die Delta mitbringt und mein Template aus dem ersten Teil schon bekannt sein sollte.

 

Hiermit hätten wir dann alle Tools, die zum Zeitpunkt der Erstellung und Veröffentlichung vorhanden waren.
Ich schließe es nicht aus, dass zwischenzeitlich nach der Veröffentlichung dieses Artikels noch Veränderungen an den Tools/Templates vorgenommen werden bzw. neue Sachen hinzukommen.

 

Aber um diesen Teil der Serie ein wenig besser zu gestalten, belasse ich es natürlich nicht nur bei der Vorstellung und Erläuterung der Tools und Templates, das wäre ja ein wenig langweilig. Zudem habe ich in dem Einleitungsabschnitt ja noch mehr genannt, was wir in diesem Teil erreichen wollen, nämlich den Umgang mit den Tools ein wenig erlernen.
Im Grunde werde ich mich hier auf den ContentManager beschränken, da ich für diesen Teil nicht mehr an Tools brauche.

Kommen wir also zum nächsten Punkt auf der Liste.

 

Das zweite Projekt.

Unser Ziel wird es nun sein, unser Programm aus dem ersten Teil des Tutorials zu erweitern. Hierzu werden wir zunächst ein ContentProjekt für dieses Programm anlegen und ich werde erklären, was wir da überhaupt so alles vorfinden werden.
Außerdem werden wir unseren ersten Content hochladen, den wir dann nutzen.

Danach werden wir ein neues Projekt anlegen, um es nicht zu kompliziert zu machen. (Man könnte das Projekt aus dem ersten Teil weiternutzen, allerdings finde ich die Lösung über ein neues Projekt einfacher und komfortabler)
In diesem Projekt werden wir dann den Content nutzen, den wir zuvor hochgeladen haben.

Aber genug geredet, lassen wir Taten folgen.

 

Anlegen des ContentProjekts:

Bevor wir unser Projekt anfangen, brauchen wir erst einmal ein ContentProjekt, in das unser Content soll, den wir für Spiele benötigen.
Dazu starten wir den ContentManager und es präsentiert sich ein ähnliches Bild wie ich auf dem Screenshot zum ContentManager weiter oben schon gezeigt habe.
Hier nochmal das gleiche Bild zur Verdeutlichung:

Jedenfalls, geht nun oben links auf Create Project. Es ergibt sich ein Bild wie auf dem obigen Screenshot, nur dass fast alle Felder leer sind.
Hier nun die Erklärung, was wo reingehört:

  • In das Feld Content Project Name gehört, wie der Name schon andeutet, natürlich der Name eures ContentProjektes rein.
    Aber Achtung, überlegt euch den Namen gut, denn er lässt sich später nicht mehr ändern, wenn das Projekt erstellt wurde. (soll sich mit einer späteren Version aber ändern)
  • Das Feld Access gibt an, wie sichtbar euer Projekt ist. Ich persönlich stelle dies immer auf Privat, da niemand meinen Content sehen soll, bevor ich es nicht selbst freigebe (ich bin immer etwas geheimniswahrend^^)
    Die einzelnen Sichtbarkeitsstufen sind schon erklärt, wenn ihr die Combobox anklickt, allerdings werde ich diese der Vollständigkeit halber nochmals erläutern. Es gibt 4 Sichbarkeitsstufen (Ich benenne sie hier eher sinngemäß, nicht so, wie sie tätsächlich im Tool benannt sind:
    • Public: Auf dieser Stufe ist das ContentProjekt sichtbar und kann eingesehen werden. Andere Benutzer von Delta können deinen Content auch in ihren Spielen verwenden, allerdings können sie das Projekt nicht modifizieren, um z.B. eigenen Content da reinzupacken. Gut geeignet, wenn ihr euren Content mit anderen teilen möchtet, aber gleichzeitig sicherstellen wollt, dass andere Nutzer diesen nicht verändern können, ohne ihn in ein eigenes Projekt zu packen.
      Die im ContentManager grau dargestellten Projekte sind allesamt auf diese Stufe eingestellt. (Eure eigenen Projekte sind in Grün dargestellt, wie ihr nachher sehen könnt)
    • Limited public: Auf dieser Stufe ist das Projekt zwar sichtbar und der Content kann eingesehen werden, allerdings können andere Benutzer diesen nicht in ihren Projekten verwenden. Gut geeignet, wenn ihr wollt, dass andere Nutzer zwar euren Content sehen können, aber er dennoch nur für euch zur Verfügung stehen soll.
    • Private: Auf dieser Stufe ist das Projekt nur für euch sichtbar und für andere User, denen ihr die Rechte dafür gebt. Um einen Benutzer dazu zu berechtigen, Uploads zu tätigen, müsst ihr seinen Benutzernamen in die Box unten rechts eintragen. (Mehr dazu später)
      Diese Sichtbarkeitsstufe ist mein Favorit. Wie ich eben schon sagte, tu ich eher ein Geheimnis draus, was ich so am basteln bin, bis ich es selbst freigebe (aus diesem Grund ist der Screenshot vom ContentManager auch zensiert, da ich andernfalls ja die Namen von meinen Projekten preisgebe, was ich nicht möchte, da dort zwei geheime Projekte drunter sind). Im Allgemeinen eignet sie sich halt eben prima vorallem für kommerzielle Projekte oder auch einfach für Projekte, deren Verbreitung bzgl. Informationen man eben kontrollieren will.
    • Disabled: Auf dieser Stufe ist das ContentProjekt deaktiviert. Es kann nicht genutzt werden. Mehr brauche ich dazu auch nicht sagen.
      Dies Option werde ich nie verwenden, da sie eher sinnlos ist für mich.
  • Bei Engine Version kommt die Version der Engine hin, die ihr nutzt. Hat glaube ich nur Relevant beim Launcher, damit dieser weiß, welche Assemblies er verwenden muss, wenn er euer Projekt später erstellen soll.
    Ich empfehle euch, das soweit immer auf die höchste Version zu stellen, wenn es nicht andere Gründe dafür gibt.
  • Das Fallback Project ist eines der Felder, das momentan nicht geändert werden kann. Kurz gesagt ist dies das Projekt, welches den Content enthält, der standardmäßig in jedem Projekt enthalten ist und vorallem auch dann genutzt wird, wenn es mal an Content mangelt. (Fehlender Content führt nicht zum Absturz des Spiels sondern wird entweder nicht abgespielt (bei Medien) oder durch ein Schachbrettmuster ersetzt (bei Bildern))
    Soll soviel ich weiß aber später änderbar werden und eignet sich dann für Sachen, die man in jedem seiner Projekte verwenden will, so dass man dies nicht immer neu hochladen müsste
  • Die Project Website ist selbsterklärend, da kommt einfach die URL zu eurer Projekthomepage hin. Mehr brauch ich dazu denke ich nicht zu sagen.
  • Darunter findet sich das Feld Languages. Hier könnt ihr eintragen, welche Sprachen euer Projekt unterstützen soll. Dazu wählt die gewünschte Sprache einfach per ComboBox aus und fügt sie ein. Derzeit sind 5 Sprachen unterstützt: Deutsch, Englisch, Französisch, Spanisch und Italienisch.
    Hier findet sich auch ein Button, womit ihr zum Localization Editor kommt. Dieser ist zusammen mit anderen Editoren im ContentManager eingebaut (zu diesen Editoren müsste ich einen extra Beitrag schreiben, da es sonst den Rahmen sprengen würde) und erlaubt es euch, die Lokalisierungsdatei für euer Projekt zu erstellen.
  • Danach kommen zwei größere Bereiche. Der linke Bereich ist die Auswahl der Target Devices. Hier ist normalerweise nur Windows auswählbar, da die anderen Plattformen eine Lizenz voraussetzen (diese kostet nicht so viel und ist das Geld wert, je nachdem, was ihr mit eurem Spiel vorhabt)
  • Der rechte Bereich ist der Bereich, wo ihr die User aufgelistet bekommt, die das Recht haben, neuen Content zu diesem Projekt hinzuzufügen.
    Einfach den gewünschten Benutzernamen eintippen in die Textbox unten und dann per Add User hinzufügen (oder per Remove User dann löschen.

Wenn ihr alles eingestellt habt, reicht ein Klick auf Save Project und euer Projekt wird erstellt. Es erscheint dann links in einer grün-blauen Färbung, die darauf hinweist, dass es euch gehört bzw. ihr hier Rechte zum Upload besitzt.

Wir sind nun bereit, um Content zu adden, den wir in unserem Spiel verwenden wollen.
Für dieses Tutorial habe ich euch eine Beispielgrafik, die ich früher mal erstellt hab (eigentlich wollte ich das als Button nutzen, aber bin dann doch hingegangen und habs ersetzt. Dafür wird es uns nun hier dienen).
Ihr findet die Grafik im Downloads-Bereich.

Jedenfalls, speichert euch die Grafik nun irgendwo hin, wo ihr sie später wieder findet. Öffnet nun den ContentManager, falls nicht schon offen und zieht die eben gespeicherte Datei einfach auf den Namen eures ContentProjektes. (Falls ihr wollt, könnt ihr auch eine andere Grafik verwenden.)
Die Grafik wird nun hochgeladen und sollte alsbald auch dann in einer roten Schrift erscheinen.
Glückwunsch, ihr habt euren ersten Content hochgeladen. Was nun folgt ist das Anlegen des Spieleprojektes in VS sowie dem Erstellen des zugehörigen Codes.

Anlegen des neuen Spielprojektes:

Vorneweg, dieses Sample wird auch wieder nur eher simpel, da ein umfangreicheres Sample den Rahmen sprengen würde. Bald wird es aber richtig zur Sache gehen, das ist sicher.

Öffnet nun Visual Studio. Geht nun in den „Neues Projekt“-Dialog und wählt erneut mein Template aus.
Gebt ihm einen beliebigen Namen, ich verwende einfach ContentTutorialSample.

Fügt nun über dem Wort Constructor (es handelt sich hierbei um eine zusammengeklappte #region) folgendes ein:

Wir haben uns damit eine Variable vom Typ Material2D angelegt, in der wir unsere Grafik laden. Für Bilder verwendet man stets Material2D oder Material2DColored als Typ.
Nun geht in den Konstruktor und fügt dort folgendes ein:

Hier initialisieren wir unsere Grafik und geben ihr den Namen des Content mit, den wir nutzen wollen.
Der Name des Content entspricht einfach dem Dateinamen des jeweiligen Typ ohne die Dateiendung.
In unserem Fall also GlowingGlassAquaButton. (Solltet ihr beim hochladen des Content eine eigene Grafik genommen haben, so müsst ihr natürlich den Namen von eben dieser angeben statt dem Namen meiner Grafik)

Nun fehlt uns nurnoch eine einzige Zeile Code zum Sieg.

In Run() fügt ihr nun folgendes ein:

Was wir hier tun, ist unserer Grafik einfach den Befehl zu geben, sich zu zeichnen.
Die Grafik wird dabei durch das Rectangle.FromCenter() im Punkt 0.5|0.5 zentriert und ist somit im Mittelpunkt unseres Spielefensters. Als Größe gebe ich der Grafik dabei 0.33 als Breite und 0.07 für die Höhe.

Zusätzlich übergebe ich in der Draw()-Methode unserer Grafik noch eine Rotation.
Diese berechne ich über die Millisekunden seit dem letzten Update geteilt durch 10. Damit erreiche ich, dass sich die Grafik kontinuierlich dreht während unser Spiel läuft.

 

Wenn ihr sämtliche Codestellen übernommen habt, sollte es etwa so aussehen:

Drückt nun F5. Es sollte sich wieder das Fenster öffnen, wo ihr zuerst eure Logindaten angeben müsst, danach sollte wieder nach eurem ContentProjekt gefragt werden.
Wählt aus der Dropdownliste das ContentProjekt aus, welches ihr weiter oben angelegt habt (Falls ihr wollt, könnt ihr auch das Projekt DeltaTutorial.Sample2 verwenden, wenn es für euch sichtbar ist, denn das ist das Projekt, welches ich angelegt habe, um den Samplecode zu schreiben und zu testen. Es enthält ebenso die Grafik, die ich für euch freigegeben habe, ist allerdings nur les- und nutzbar, wenn ihr eigenen Content noch adden wollt, müsst ihr ein eigenes Projekt erstellen, da mein Projekt zwar auf Public steht, was die Sichtbarkeit angeht, aber halt eben nicht editierbar ist ohne Rechte)

Es sollte nun in etwa folgendes Bild erscheinen (je nachdem, welche Grafik ihr verwendet habt, sieht es anders aus. Kleiner Hinweis: Achtet auf die Proportionen eures Bildes. Es könnte sein, dass es mit meinem Code ziemlich verzerrt ist, ändert dann bei Draw() einfach die hinteren beiden float-Werte, also 0.33f und 0.07f in eine andere Zahl zwischen 0-1f):

Ihr seht nun eure Grafik rotieren. Wenn ihr die Rotationsgeschwindigkeit anpassen wollt, ändert einfach hinter dem / in der Draw-Methode der Grafik die 10.0f in eine kleinere Zahl, wenn es schneller drehen soll oder in eine größere Zahl, wenn ihr eine langsamere Rotation wünscht.

 

Ansonsten endet hier der zweite Codepart. Wie ich schon sagte, es wird nur ein einfacheres Sample, denn ein größeres hätte den Beitrag noch mehr vergrößert, was mir aber zu viel wäre. Dafür wird es in den nächsten Parts aber mehr Code geben, das ist sicher, denn solangsam kommen wir immer mehr zu einem richtigen Projekt, da die Basics weitgehend abgedeckt sind.
Tut mir echt leid, dass es so ist, ich hätte euch gerne mehr geboten, aber fürs erste muss es wirklich reichen.

 

Schlusswort:

Hiermit endet auch dieser Teil der Tutorialserie. Zurückblickend muss ich sagen, dass er doch wieder groß genug geworden ist, hätte nicht erwartet, dass es so kommt (das liegt wohl daran, dass ich mir eigentlich kein Script zusammenlege, was ich schreibe, sondern eher „Frei Schnauze“ meine Teile gestalte. Und je nachdem, was mir dann so einfällt, wird es halt eben u.U noch dazugepackt, wenn es sich eignet 😀

Aber gut, ich selbst habe ja nichts gegen große Teile, denn aufgrund meiner Qualitätsregeln muss ein Teil zwangsläufig schon eine gewisse Größe haben, damit er auch seine Qualität überhaupt erhalten kann. (Bei kurzen Artikeln kann man einfach kaum was erklären, deswegen sind auch Fachbücher immer groß genug in der Seitenzahl, so dass ausreichend Platz für die Erklärungen da ist.)

Ich möchte mich auch noch kurz dafür entschuldigen, dass es so lange ging, bis dieser Teil erschienen ist. Eigentlich waren große Teile davon schon länger fertig, allerdings habe ich momentan einiges zu tun, da ich bald Prüfungen habe, so dass ich kaum am Tutorial arbeiten wollte. (Dies ist auch der Grund, weshalb es überhaupt von mir so wenig gegeben hat in letzter Zeit)
Bald jedoch sind die Prüfungen dann vorüber und danach sollte es wieder aufwärts gehen, da ich dann wieder mehr Zeit habe.

Jedenfalls, wir haben in diesem Teil gelernt, was die Tools sind, die DeltaEngine mit sich bringt, wie sie aussehen und haben ein weiteres Projekt geschrieben, welches sich die Tools zu Nutzen macht.
Des Weiteren haben wir den ContentManager näher kennen gelernt, da er auch für die nächsten Teile unerlässlich ist.

Im nächsten Teil wird es schon deutlich Codelastiger, denn wir lernen dann die Möglichkeit kennen, Input zu verwalten und zu nutzen. Ich verspreche, dass ich hier mehr Code schreiben werde (da ist aber dann auch ein Punkt erreicht, wozu ich mal wirklich schön was schreiben kann an Code, denn ab dem dritten Teil wird fast nurnoch im Code gearbeitet)

Außerdem möchte ich noch anmerken, dass zwischen diesem Teil und dem nächsten Teil noch ein weiterer Teil erscheinen wird, allerdings nur ein Nebenteil (also mit x.5 gekennzeichnet), da ich davon ausgehe, dass ich über das Thema des Nebenteils nicht so viel schreiben kann, dass ich ihn als Hauptteil ausgeben könnte.
Aber man weiß ja nie, ich werds sehen, was dabei rauskommt, wenn ich ihn schreibe und dann seh ich auch, ob es ein Hauptteil wird oder beim Nebenteil bleibt. Auf jeden Fall wird er kommen, dessen bin ich mir sicher.

Ich hoffe, es hat euch auch dieses mal gefallen. Gerne könnt ihr mir einen Kommentar mit eurer Meinung hinterlassen, ich bin für Lob, Kritik und Fragen offen und stehe euch zur Seite.

Ich möchte zudem auch noch den Kommentator Icii ansprechen, der schon den ersten Teil kommentiert hat:
Icii, ich hoffe, dieser Teil gefällt dir ebenso und ich habe deine Kritikpunkte soweit ausreichend behoben/verbessert.
Immerhin möchte ich nur das Beste für meine Leser, denn ich schreibe die Tutorials ja nicht für mich, sondern für euch und da sind Leute wie du hilfreich, indem sie einem sagen, was man verbessern kann, was du ja getan hast.
Mich würde es interessieren, wie du diesen Teil findest und freue mich schonmal auf deinen Kommentar.

 

Ansonsten sehen wir uns beim nächsten Teil wieder. Eins kann ich euch sagen, es wird sicherlich gut werden.
Bis dann.

 

~internetfreak

Downloads:

Auch hier haben wir wieder einen Download, immerhin haben wir ja auch etwas gearbeitet und laut meinen Regeln, die ich mir selbst aufgestellt habe, gibt es am Ende jedes Teils den Sourcecode des Teils.

 

Zuerst die im Tutorial angesprochene Grafik, die ich verwendet habe:

ButtonGrafik
ButtonGrafik
GlowingGlassAquaButton.png
39.0 KiB
2516 Downloads
Details

 

Und hier der Download des aktuellen Sourcecode. Aber Achtung, frisch aus dem Werk und daher noch heiß. 😀

Teil2 Source
Teil2 Source
DETutorialTeil2Source.zip
31.5 KiB
44 Downloads
Details

 


Die "Spieleentwicklung mit DeltaEngine"-Reihe

8 Gedanken zu „[S1.02] Spieleentwicklung mit DeltaEngine Teil 2: Die Tools von DeltaEngine

  1. Icii

    Also die Übersichtlichkeit hat sich auf jeden Fall verbessert. Ich konnte in einem Fluss lesen, was mir schon recht Wichtig ist. Auch die Erklärungen der Funktionen gefallen mir. (Im Grunde gabs ja nur bei einer Funktion richtig was zum Erklären ^_^)
    Ich finde sogar tatsächlich keine Negativpunkte.

    Also von meiner Seite aus, gibt es da im Moment nichts zu Verbessern.

    Antworten
    1. internetfreak Beitragsautor

      Dann hab ich ja dieses Mal alles richtig gemacht. Freut mich, dass es dir gefällt. Hoffe, die anderen Teile werden dir dann ebenso gefallen. (Und auch das, was sonst noch so kommt hier auf dem Blog)

      Antworten
  2. Barsack

    Danke für dieses Tutorial!!!
    Hat mir total geholfen!!
    Jedoch eine Frage: Woher weist du eigentlich das alles? Den ganzen Delta-Code „analysiert“ oder gibt es auch ein offizielles Tutorial?

    Antworten
    1. internetfreak Beitragsautor

      Danke für das Lob und freut mich, dass es dir geholfen hat.
      Das mit dem Code analysieren könnte stimmen wobei ich eher sagen muss, das ich in den normalen Code kaum reingeschaut habe sondern eher die Samples, die im Umfang von Delta dabei sind. 😀
      Ansonsten, das meiste Wissen, was ich habe, hab ich mir entweder selbst beigebracht über die Dokumentation oder eben die Samples oder ich hab halt eben im Forum nachgefragt, wenn ich bestimmte Dinge wissen wollte (wie z.b das mit dem blinkenden Text aus „Blitz Delta #1“, der Code stammt aus dem Forum, da ich genau sowas schon nachgefragt hab)

      Offizielle Tutorials gibt es meines Wissens noch keine wirklichen, das einzige, was offiziell ist, sind die ganzen Samples und Tutorials (die ja mit dem SampleBrowser aufrufbar sind)
      Soviel ich auch weiß, bin ich der erste Anbieter von deutschen Tutorials für DeltaEngine, also quasi Monopolist in dem Gebiet 😀 (soll jetzt aber nicht heißen, dass ich machtgeil wäre, ich tu das nicht wegen irgendwelchen Monopolen oder so, sondern weil ich helfen will 😉 )

      Jedenfalls, ich würde mich freuen, wenn du öfters vorbeischauen würdest und auch den nächsten Teil liest. (Dieser wird hoffentlich bald kommen, bin derzeit mit Prüfungen beschäftigt und hab daher kaum Zeit/Lust zum Tutorials schreiben oder meine Projekte vorantreiben)

      Antworten
      1. Barsack

        Natürlich werde ich dein Tutorial weiter verfolgen 🙂
        Finde die Delta Engine sehr interessant, und da bist du einer der wenigen „Wissensquellen“ =)

        Antworten
        1. internetfreak Beitragsautor

          Na dann freu ich mich schonmal drauf.
          Wäre auch mal schön zu wissen, was du so mit Delta erschaffst.
          Falls du mal irgendwas interessantes hast, lass mir einfach einen Hinweis zukommen und dann schau ich mal, was zu machen ist.

          Antworten
  3. TTJJ

    Ich find es echt gut das du Turorials zur Delta Engine machst ..
    Mir haben die ersten beiden sehr weiter geholfen und das dritte wird mir bestimmt auch einen weiter guten Einstieg in die Engine geben ..

    Viele Grüße TTJJ

    Antworten
    1. internetfreak Beitragsautor

      Hey,
      freut mich, dass dir das Tutorial gefällt.
      Ich hoffe, du hast viel Spaß mit delta und schaust auch öfters mal hier rein, ich geb in eher unregelmäßigen Abständen (die Tutorials zur Hauptserie haben bisher immer etwa nen Monat Abstand) immer wieder neue hilfreiche Tutorials raus.
      Falls du Fragen hast, wäre ich durchaus bereit, dir zu helfen (abhängig von der Frage)

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.