UNet-Fallstricke: Ausführungsreihenfolge von OnStartClient-Events

Unitys Multiplayer-Netzwerkschicht UNet ist einfach zu verwenden und eine gute Lösung für Projekte ohne besondere Anforderungen in dieser Hinsicht. Allerdings finde ich in meinem mittlerweile zweiten Projekt mit UNet immer noch neue Fallstricke die mit zeitweise den Spaß am Programmieren rauben. Dieses Mal wunderte ich mich über einige SyncVars, die nicht korrekt synchronisiert wurden, bis ich herausfand, dass mein Problem gar nichts mit ihnen zu tun hatte. Vielmehr entdeckte ich dass die OnStartClient-Methode der NetworkBehaviour-Klasse nicht immer in der gleichen Reihenfolge mit anderen Callbacks wie Awake und Start ausgeführt wird.

UNet-Fallstricke: Ausführungsreihenfolge von OnStartClient-Events weiterlesen

3D-Architekturskizzen mit ProBuilder

Unity is ein großartiges Werkzeug zur Spieleentwicklung, besonders wenn man es für die Erstellung von Prototypen für neue Ideen verwendet. Unity ist allerdings nicht nur großartig für die Spieleentwicklung, sondern findet noch in vielen anderen Bereichen seine Anwendung. Während ich derzeit Pläne für ein eigenes Haus erarbeite habe ich entdeckt, dass sich Unity, zusammen mit ProBuilder, sehr gut für die Skizzierung von Grundrissen in 3D eignet. Die Ergebnisse sind ganz ansehnlich und erlauben einen ersten Eindruck davon, wie das zukünftige Eigenheim tatsächlich aussehen könnte.

3D-Architekturskizzen mit ProBuilder weiterlesen

Unsere Hausregeln für Civilization

Wenn man sich gerne mal etwas Zeit nimmt für ein komplexes Strategiespiel dann ist das Brettspiel Civilization ein echter Klassiker, den man sich nicht entgehen lassen sollte. Allerdings ist das Regelwerk von Civilization an einigen Stellen recht ungenau und lässt Spielraum für Interpretationen. Andererseits sind einige Regeln schlecht für das Spielgleichgewicht oder verlangsamen das Spiel unnötig, das ja sowie schon etliche Stunden in Anspruch nimmt. Daher haben wir im Laufe unserer Partien unsere eigenen Hausregeln entwickelt, die ich Euch nicht vorenthalten möchte.

Unsere Hausregeln für Civilization weiterlesen

ConquestRelay-Server jetzt auf GitHub

Wie bereits in meinem Beitrag vom August in Aussicht gestellt habe ich nun den Quellcode meines Relay-Servers aufgeräumt und eine erste Version unter dem Namen ConquestRelay bei GitHub hochgeladen. Er richtet sich vor allem an Hobbyspieleentwickler die schnell erste Prototypen ihrer Online-Spiele ausprobieren wollen. Entsprechend fehlen natürlich viele Features die professionelle Netzwerkschichten bieten.

ConquestRelay-Server jetzt auf GitHub weiterlesen

Civilization: wie man Kreta nicht spielen sollte

Am Sonntag vor knapp zwei Wochen war es mal wieder Zeit für eine Runde Civilization, das Brettspieloriginal von WdS. Wieder einmal musste ich mich mit Kreta als Startposition abgeben. Anders als im letzten Spiel ging das diesmal aber vollkommen daneben. Der folgende Artikel ist also eine Analyse dessen, was man als Kreter besser nicht machen sollte, will man überhaupt eine Chance auf den Sieg haben.

Civilization: wie man Kreta nicht spielen sollte weiterlesen

Conquest! ist ein beliebter Name für Strategiespiele

Letzte Woche bin ich über einen Beitrag von Gamasutra-Mitglied James Bennet über sein Spiel „Conquest!“ gestolpert. „Verdammt“, dachte ich, „das ist genau der Arbeitstitel meines eigenen Hobbyprojekts, sogar bis hin zum Ausrufungszeichen“. Aber was soll’s, Conquest ist so ein eingängiger Name dass es wahrscheinlich nicht das erste Mal ist dass er benutzt wird. Daher habe ich eben schnell im Netz danach gesucht und hier sind meine Ergebnisse.

Conquest! ist ein beliebter Name für Strategiespiele weiterlesen

Ein Relay-Server mit WebSockets für Online-Spiele mit Unity Personal

Wie in meinem letzten Beitrag beschrieben macht es Unity Hobby-Entwicklern ziemlich schwer, Online-Spiele zu entwickeln. Einen mit Unity erstellten Game-Server auf einer Amazon AWS-Instanz zu betreiben ist dank fehlender Batchmode-Option unmöglich. Als Workaround habe ich für mein aktuelles Projekt einen eigenen Relay-Server implementiert, der auf Basis von Websockets arbeitet und so das Betreiben eines eigenen Servers ermöglicht kombiniert mit den Vorzügen eines Servers in der Cloud mit fester IP-Adresse.

Ein Relay-Server mit WebSockets für Online-Spiele mit Unity Personal weiterlesen

Unity im Batchmode: nur was für Pros

Seit ein paar Monaten bastle ich mit Unity an einem eigenen kleinen Multiplayer-Spiel. Mittlerweile sind Client und Server soweit, dass man die ersten Spiele spielen kann, zumindest in meinem Heimnetz. Aber natürlich soll das Spiel später auch mal über das Internet gespielt werden können, daher sollte der Server in der Cloud von Amazons Web Services (AWS) gehostet werden. Wie man dort einen eigenen Server einrichtet ist ein eigenes Kapitel, das ich hoffentlich später noch erzählen werden. Unity im Batchmode: nur was für Pros weiterlesen

Ubuntu: zuviele Kernels verstopfen die Boot-Partition

Neben meinem Windows-Rechner, auf dem ich im Moment hauptsächlich programmiere, habe ich noch einen kleinen Ubuntu-Server laufen, der mir als Media-Server dient, nebenbei aber auch noch z.B. ein SVN-Repository zur Verfügung steht. Gestern Abend nun wollte ich ein kleines Programm übersetzen das ich gerade für eine Dateikonvertierung brauchte, das aber nur als Linux-Source zur Verfügung stand. Dafür mussten noch einige Pakete nachinstalliert werden. Eigentlich kein Problem, aber nichts ging: ständig meldete apt-get, es stehe nicht mehr genügend Speicherplatz zur Verfügung. Ubuntu: zuviele Kernels verstopfen die Boot-Partition weiterlesen

Kostenfreie Spieleentwicklung mit Unity und Visual Studio

Seit einigen Jahren lässt sich ein dramatischer Wandel in der Spielebranche beobachten: neben den etablierten, großen Entwicklerstudios und Publishern entstehen immer mehr kleine, unabhängige Studios, die in Eigenregie ihre Spiele entwickeln und vermarkten. Möglich machen dies neben Vermarktungsplattformen wie App Stores und Steam auch kostenfreie Game Engines wie Unity und seit 2. März 2015 auch die Unreal Engine 4. Mit seinem Vermarktungsmodell, einer kostenlosen Version für Indie-Entwickler und eine Pro-Version für größere Studios, war Unity allerdings der Vorreiter dieser Entwicklung. Eine vollständige Toolchain für die Entwicklung zu installieren ist damit kinderleicht, und will ich im Folgenden kurz beschreiben. Kostenfreie Spieleentwicklung mit Unity und Visual Studio weiterlesen