Jump to content
Unity Insider Forum

Recommended Posts

Guten Abend liebe Insider! :)

Vor einem Jahr habe ich mit meinem Spiel "Borderless" angefangen und möchte nun mein Projekt endlich mal vorstellen. Ich denke mal, dass jetzt der richtige Zeitpunkt ist. Borderless ist mein bisher größtes Projekt, in dem ich mit Abstand am meisten Arbeit und schweiß gesteckt habe. Allerdings befindet sich das Spiel noch in den Kinderschuhen und ich werde bis zur Fertigstellung auch noch einige Zeit brauchen. 

Doch kommen wir nun zum eigentlichen Spiel: 

Borderless ist ein Open-World Sandbox Spiel, in welchem der Spieler in eine eigene Welt eintauchen kann. Genauer gesagt ist es ein Aufbauspiel, welches vom Gameplay stark an Minecraft erinnert. Dabei handelt es sich aber NICHT um einen Minecraft-Klon. Der Fokus des Spiels liegt dabei hauptsächlich auf das erbauen und erschaffen von technologischen Dingen. Angefangen mit einem simplen Holzhaus, bis hin zur einer großen Fabrik, einer Bahnstation, einem Flughafen oder was auch immer... der Fantasie sind keine Grenzen gesetzt! Dabei kann der Spieler komplexe Computersysteme selbst erbauen und vernetzen um z.B. ein eigenes Hochregallager zu bauen. Allerdings brauchen große Anlagen auch eine menge Strom! Somit muss man sich ebenso um die Energieversorgung seiner Anlagen kümmern und und und... Ich denke mal, man kann erkennen in welche Richtung sich Borderless entwickeln soll. Auch ein Multiplayer exisiert, um mit Freunden gemeinsam zu spielen. 

Da ich ein großer Fan von solchen Spielen bin, hat mich die Motivation bei diesem Mammutsprojekt (Ja, für mich als Alleinentwickler ist das in der Tat ein Mammutprojekt) nie verlassen, weswegen ich den Ergeiz habe, das Spiel bis zum Ende durchzuziehen. 

Das Spiel ist grafisch nicht sehr anspruchsvoll, da ich weder gut um Texturieren geschweige denn im Modellieren bin. Deswegen versuche ich einen eher einfachen aber stimmigen Stil zu folgen und konzentriere mich auf das was ich besser kann, nämlich Scripten. :)  Somit kann ich mich auch besser auf Performance konzentrieren und mein Spiel auch für Spieler zugänglich machen, die eine eher schwache Hardware in ihrem Rechner verbaut haben. 

 

Ich habe auf meinem Youtube-Kanal Helishcoffe einige DevLogs zu Borderless hochgeladen, falls sich jemand mein Spiel etwas genau ansehen möchte. In diesem kleinen Walkthrough, sind bisher (fast) alle Funktionen die ich bisjetzt implementiert habe vorhanden: 

 

Wölfe etc. existieren auch schon, sind aber noch nicht im Video zu sehen. Da ich nun den Levelgenerator fertig habe wird sich die Entwicklungsgeschwindigkeit meines Spiels vorraussichtlich verschnellern da der Levelgenerator bisher sehr viel Zeit eingenommen hat. Deswegen werde ich in Zukunft öfters mal weitere Devlogs posten. 

Wer mein Spiel jedoch selbst mal spielen möchte, kann sich den aktuellen build herunterladen

-> Borderless Dev. Build Herunterladen

Steuerung:

  • W, A, S, D oder Pfeiltasten: Laufen
  • Leertaste: Springen
  • B: Buildmenu öffnen
  • I: Inventar öffnen
  • T: Chat
  • Linke Maustaste: Dinge aufheben bzw. zerstören
  • Rechte Maustaste: Dinge platzieren
  • Esc: Pause

Wer ein bisschen blödsinn machen will, kann ein bisschen mit den Chatcommands rumspielen die ich bisher integriert habe: 

  • /give [Id] Man erhält einen Stack von dem Item mit der angegebenen Id. Beispiel: /give 1 für 4x Holz
  • /itemlist Zeigt eine Liste mit allen Items und der dazugehörigen Id an.
  • /settime [ticks] Setzt die Spielzeit auf die angegeben Tickzeit (0 bis 1999).
  • /summon [Id] erschafft ein Entity mit der angegebenen Id. Beispiel /summon 3 um einen Wolf zu erschaffen
  • /debug zeigt den Debugscreen für den Terraingenerator an
  • /seed zeigt den Seed des Terraingenerator an
  • /god aktiviert den Godmode. Man ist unverwundbar und kann sehr schnell laufen. Achtung: man kann ihn zwar wieder mit /god ausschalten, aber die Laufgeschwindigkeit wird dabei nicht zurückgesetzt, weil ich irgendwie nie dazu gekommen bin diesen Bug zu entfernen :D 
  • /thingmanager zeigt sämtliche Informationen
  • /time zeigt die Spielzeit an
  • /realtime zeigt die echte Uhrzeit an
  • /players zeigt die Liste der Spieler 
  • /invstat zeigt alle Informationen über das Spielerinventar
  • /entitylist zeigt alle Entitys mit der dazugehörigen Id an
  • /clearinv leert das komplette inventar

Achtung: Der Multiplayer ist zwar schon spielbar, allerdings noch nicht ausgibig getestet und es existieren noch ein paar Bugs. Wer trotzdem auch den Multiplayer spielen möchte, der kann das gerne tun. Beim Starten einer Welt mit "Play World" startet man automatisch einen Server. Andere Spieler können nun über "Join World" im Hauptmenü unter angabe der IP-Adresse des Hosts direkt joinen. Allerdings muss der Port 2204 freigeschaltet sein wenn man nicht im LAN spielt (oder man benutzt ein VPN). 

Wichtig: Wie bereits erwähnt bin ich mit meinem Spiel noch lange von dem entfernt, was ich oben beschrieben. Der Umfang ist noch recht gering im Vergleich zu meinen Plänen, allerdings möchte ich euch schonmal zeigen woran ich zurzeit arbeite und würde mir gerne ein paar Meinungen und Anregungen von euch einholen :)

 

 

  • Like 3

Share this post


Link to post
Share on other sites

Gefällt mir sehr gut! :) Da steckt einiges an Arbeit drin!

Mal eine Frage, wie machst du das mit dem Platzieren der Objekte. Nutzt du da eine Art Raster?

  • Like 1

Share this post


Link to post
Share on other sites

Jaa ich richte die Objekte an ein Raster aus und berechne mit Raycasts wie sie platziert werden sodass man Objekte z.B. leicht aneinander stellen kann und sich der Umgebung anpassen :)

Danke für dein Feedback :)

 

  • Like 1

Share this post


Link to post
Share on other sites

Könntest du das mit dem Raster etwas näher erläutern? Ich hab bei meinem Projekt etwas ähnliches vor und bin da gerade schwer am grübeln, dass das Abfragesystem sich nicht zu einem kleinen Monster entwickelt.

Share this post


Link to post
Share on other sites

Ich benutze bei jedem Objekt welches ich platziere Boxcollider. Bei dem Objekt, welches ich platziere schieße ich nun von einer Wand zur anderen innerhalb des Boxcolliders einen Raycast. Also macht dies 6 Raycasts die von einer Seite zur gegenüberliegenden Seite gehen. Außerdem benutze ich einen Raycast aus dem Viewport der Kamera in die Spielwelt hinein um die Position zu kriegen, auf welche der Spieler zeigt. Das Objekt wird nun an diese Stelle platziert (rechnerisch). Dann werden die Raycasts innerhalb des Colliders ausgewertet, um zu schauen ob das Objekt überhaupt an die vom Spieler gezeigte Stelle hinpasst. Die Raycasts bestimmen nun, wie weit und in welche Richtung das Objekt verschoben werden muss, damit es sich nicht mit einem anderen Objekt überschneidet. Das kann man gut ab Minute 7:30 im Video oben erkennen: Die einzelnen Holzplatten werden direkt aneinander gelegt, obwohl der Spieler hier nur die Position grob anzeigt. Das eigentliche Raster welches du meintest ist jetzt nur noch dafür da, damit dem Spieler es leichter fällt, dinge Symetrisch zu bauen und um einheitliche Abstände zu erzeugen damit alles schön stimmig ist. Dies erreiche ich indem ich einfach nur die Koordinaten der Position wo ein Objekt plaziert werden soll, aufrunde auf 0,2 Einheiten. 

Share this post


Link to post
Share on other sites

Kleines Update

Options wurden etwas angepasst und erweitert:

image.thumb.png.666ada98884a9ad63fee2e112e0a07a0.png

 

Und an eine neue Art von Objekten habe ich mittlerweile gearbeitet, die sich jetzt mit benachbarten Objekten verbinden können. Hier am Beispiel vom Holzzaun:

image.png.b4474d82574c6bfd47181f0e56e85ba3.png

  • Like 3

Share this post


Link to post
Share on other sites

Soo mal nach fast einem Jahr mal wieder ein Kleines Update

Die UI und das ganzen System dahinter habe ich nochmal komplett neu gemacht und funktioniert nun viel besser (und sieht auch viel besser aus ;) )

1.jpg


2.jpg


4.jpg

 

Außerdem wurden 3 neue Objekte hinzugefügt. Links Solar Panels mit denen man später Strom erzeugen kann, rechts 2 Türen und vorne ein Stromkabel :)


5.jpg

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...