Devblog #1 - Teil 1

Mittwoch, 07. März 2018, 09:56 Uhr

Neben der ganzen Planung und Entwicklung meines ersten PC-Spiels ist es schwer zu entscheiden, worüber man eigentlich in einem Devblog schreiben soll. Immerhin gibt es gefühlt 100 Baustellen. Also versuche ich mal vorne anzufangen und gehe in diesem ersten Devblog auf die verwendeten Tools und Assets ein, die es mir als einzelner Entwickler ermöglichen mich mehr um die Spiellogik zu kümmern.

Als erstes musste ich mir überlegen, welche Tools ich benötige, ohne das Rad neu zu erfinden (für Unity3D):

In diesem ersten Teil des Devblogs geht es um das Networking und die 3D-Modelle.

Networking

Mich hat natürlich von Anfang an interessiert: Ist es mir möglich ein kleines MMO zu stemmen? Gibt es schon stabile Multiplayer-Lösungen die zu gebrauchen sind? Ich habe mich also tagelang mit der Frage beschäftigt und ein Tool (uMMORPG) gefunden. Nicht nur die Multiplayerumsetzung ist dabei, sondern auch alle benötigten (rudimentären) Features wie Account-System, Charakter-Erstellung, Inventar, Equipment, Quests und und und. Der Entwickler hat sogar Unity's Multiplayer-System verbessert (HLAPI Pro). Genau die richtige Basis also, mit der ich Monate Arbeit spare.

Ich habe einige Wochen experimentiert, erweitert und gelernt. Mittlerweile kann ich für das System Addons schreiben, den Kern erweitern und auch Fehler beseitigen, die ich dem Entwickler melde. Die Community ist hilfsbereit und der Entwickler immer im Discord erreichbar. Daumen hoch.

Mit dem richtigen Server und einer guten Umsetzung meiner eigenen Features, sollte es möglich sein ein stabiles MMO zu bauen. Richtige Stresstests hat aber bisher wohl niemand damit gemacht.

Anmerkung: Der Netcode von Unity soll ja nicht der Beste (für MMOs) sein, also habe ich auch Alternativen in Betracht gezogen wie z.B. ForgeNetworking. Jedoch steht mir hier nur die grundlegende Kommunikation zur Verfügung und ich müsste die ganzen Features erst selbst bauen. Das würde Monate dauern.

3D-Modelle

Das war eine schwere Entscheidung. Ich habe kurzfristig einen Prototypen auf Basis von uMMORPG gebaut. Blender installiert und versucht, eine kleine Spielwelt zu erstellen. Mehr als eine Woche verging und ich hatte ca. 10 kleine 3D-Modelle für die Spielwelt erstellt. Einen 3D-Charakter hatte ich mit Make Human hinbekommen. Der Stil gefiel mir aber überhaupt nicht. Programmierung und 3D-Modelle erstellen? Das würde wieder alles Monate dauern.

Also ab in den Unity Asset Store und mal schauen was zu gebrauchen ist. Ich mag den Low-Poly Style und war kurz davor einige Assets auszuprobieren. Das wären aber wieder nur wenige Modelle gewesen und ich müsste ordentlich nachliefern. Dann stieß ich auf ein Paket mit Low-Poly "Block" Modellen, in denen richtig viele Gegenstände drin waren die ich brauchte. Nach kurzem Blick in das Profil des Entwicklers fielen mit direkt die beiden dicken Bundles ins Auge. Da ist einfach alles drin, alles was ich brauchte, was ein Zufall?!

Ich habe mich dann dazu entschieden, die beiden Bundles (Simple World 1 und Simple World 2) für Tycoon$ zu verwenden. Ich brauche also absolut keine Modelle, nichtmal Charaktere selbst zu erstellen. Sogar die Tiere für die Farm sind schon animiert. Großartig!

Open World

Innerhalb einer Woche habe ich eine kleine Open World (die Stadt heißt Tycoopolis) gebaut. Genug Platz für 100-200 Spieler würde ich schätzen. Die Vielfalt der gekauften 3D-Modelle ist wirklich extrem. Aber es fehlten jetzt noch einige Aspekte. Was ist schon eine Open World ohne Tag/Nacht Zyklus, Wetter und schickes, passendes Wasser (denn wir haben einen Hafen in der Welt)?

Also wieder ab in den Asset Store. Es hat nicht lange gedauert da bin ich auf Enviro gestoßen. Ich musste nicht lange überlegen: Tag/Nacht und Wetter, was auch noch übers Netzwerk synchronisiert werden kann. Wow! Gekauft, installiert, konfiguriert und innerhalb weniger Minuten hatte meine Spielwelt extrem viel Atmosphäre, denn Enviro kommt auch noch mit einigen Sounds. Das Wetter wird vom Server vorgegeben, so dass alle Spieler das selbe Wetter haben.

Natürlich will man mehr. Schnee und Regen sind mit Enviro möglich. Enviro bietet die Integration von verschiedenen Shadern, sprich Tools die Schnee und Näße auf 3D-Modellen anzeigen. Ich habe mich hier nach Recherche für die UBER Shader entschieden. Und es war eine weise Entscheidung. Wieder nur wenige Minuten nach der Installation und Konfiguration war meine gesamte Stadt in Schnee gehüllt oder naß vom Regen. Wie geil und einfach war das denn bitte?

Ein kleines Detail war aber noch offen. Um Tycoopolis herum ist Wasser, denn die Stadt ist eine Insel, mit einem Hafen und Stränden. Also braucht es Wasser, welches zum Stil passt. Im Asset Store gibt es zu dem Thema einige Assets und hier mache ich es kurz. Ich nutze derzeit das Low Poly Water. Passt vom Stil großartig ins Spiel. Ich benötige später aber Wasser mit Physik (damit Schiffe darauf schunkeln) und andere Features, so dass ich hier wohlmöglich nochmal verschiedene andere Assets auf meiner Liste genauer unter die Lupe nehmen werde.

Fazit

Ich möchte den ersten Teil dieses Devblogs mit einem Fazit abschließen. Durch den heutigen Zugang zu wirklich großartigen Tools und Assets ist es möglich, in nur wenigen Wochen einen Prototypen zu bauen, sofern man sich damit abfinden kann, einen gewissen Stil zu übernehmen. Der Stil der 3D-Modelle passt wirklich gut zu Tycoon$ und ich bin extrem glücklich über die viele gesparte Zeit. Ich habe bisher erst 4 Wochen an Tycoon$ gearbeitet und könnte euch bereits einladen mit mir zu testen. Natürlich ist die Spielwelt und vor allem die Logik, die das Spiel ausmachen, noch nicht fertig. Aber das Fundament steht und funktioniert.

Im zweiten Teil gehe ich in den nächsten Tagen auf die weiteren Tools und Assets ein, für die ich mich entschieden habe. Vorweg: es ist so toll bei Schnee durch Tycoopolis zu laufen und dabei seine Fußschritte zu hören.

Bis dahin!

Links der verwendeten Assets bisher:

Spoiler: Wer nicht auf den zweiten Teil warten will, kann sich die Liste aller verwendeten Assets im Unity Asset Store angucken.

Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links (Werbelinks). Wenn du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Für dich verändert sich der Preis nicht.

Zurück