Neben der Arbeit ist nicht all zu viel Zeit für den Hackathon. Dennoch gibt es einige Fortschritte zu vermelden.
Die Grundlegende Spiellogik ist fertig. Die 3 Phasen des Spiels sind in der Konsole gegen einen Menschen vollständig spielbar. Jetzt geht es hauptsächlich noch darum einen starken KI Gegner zu implementieren, der eine echte Herrausforderung darstellt. Ziel ist hierbei natürlich, dass man gegen diese KI nicht gewinnen kann, sondern bestenfalls ein unentschieden herbeiführt.
Da wir die Spiellogik zu Beginn gänzlich ohne eine GameEngine oder ähnliches entwickelt haben, leben wir nun in dem Luxus, dass wir eine beliebige Engine anbinden können um das Spiel zu visualisieren, da es doch eher unpraktisch ist ein Brettspiel in der Konsole zu spielen.
Unity Macht einem das ganze noch etwas schwierig. Da es keine einfache Möglichkeit gibt seine Assemblies (.dll Dateien) in die Engine einzubinden und ständig zu updaten. Um dieses Problem zu umschiffen, haben wir uns ein mini Tool geschrieben, dass nach einem erfolgreichen Build der Spiellogik, diese Assemblies in das UnityProjekt kopiert, dort wird es von Unity erkannt und automatisch eingebunden.
Hackathon Unity
Das Unity Projekt umfasst bisher nur das Spielbrett, sowie die Möglichkeit das Brett zu drehen, sodass man das Spielfeld aus jedem Blickwinkel analysieren kann.
Die nächsten Schritte hierbei sind nun Spielsteine einzufügen und die Möglichkeit zu schaffen diese auf dem Brett zu setzen. Das ganze muss dann mit den von uns bereits entwickelten Regeln validiert werden. Es muss nun also eine Brücke zwischen dem Quellcode, den wir bereits haben und der Umsetzung in Unity geschlagen werden.
Wenn ihr interesse habt, wie das ganze hinter den Kulissen aussieht, könnt ihr euch den Quellcode im GitHub Projekt anschauen, ihn runterladen verändern, erweitert, oder auch dazu beitragen.
Dank der WTFPL Lizenz ist dies alles möglich.
GitHub Projekt:
https://github.com/Nerzal/Mills
Das Hacktoberfest läuft noch knapp 10 Tage. Das Event soll dazu beitragen, dass sich mehr Menschen an OpenSource Projekten beteiligen.
Wenn ihr den letzten Beitrag verpasst habt könnt ihr ihn hier nachlesen.
Für den aktuellen Hackaton entwickle ich ein Mühle Spiel mit einer KI. Ziel ist es den saubersten, Quellcode mit der schönsten GUI und den meisten Zusatzfeatures bereitzustellen.
Die Kriterien sind:
Bewertung:
Code Qualität in einem Spiel zu gewährleisten ist nicht immer einfach. Man entwickelt einfach so drauf los und will schnell viele Ergebnisse sehen. Dies gelingt auch meist, allerdings zu leiden der Qualität. Daher habe ich mich dazu entschieden die kritischen Komponenten des Spiels mit UnitTests zu versehen. Dies gewährleistet vorallem die korrekte Einhaltung der Spielregeln.
Während die grundlegenden Spielregeln und die KI entwickelt wird, genügt eine rudimentäre UI. In unserem Fall ist das vorerst einmal die Konsole.
Diese bietet die Möglichkeit einer Visualisierung des Spielbretts, sowie die Möglichkeit einer Benutzerinteraktion, ohne viel Zeit in hübsche 2D/3D Grafiken stecken zu müssen.
Aktuell sind die meisten grundlegenden Spielregeln implementiert. Das heißt, der Spieler kann Steine setzen, diese Bewegen, und auch „Springen“.
Die Ausgabe erfolgt, wie bereits erwähnt noch über eine Konsole. Es fehlt aktuell noch die Mustererkennung, welche Mühlen abschließend erkennt, um die Spielregeln gänzlich abzudecken.
Als nächstes muss die KI entwickelt werden. Diese KI soll so stark wie nur möglich sein, indem wir nicht nur den nächsten Schritt der KI berechnen, sondern mögliche weitere Schritte des Spielers ebenfalls miteinberechnen.
Sobald die KI fertig gestellt ist, werden wir mit Hilfe von Unity3D noch eine GUI bauen. Dort wird es ein 3D Spielbrett, Spielsteine und Steuerelemente geben.
Das Spiel wird natürlich auf der Website bereitgestellt, sobald es fertig ist.
Das Projekt liegt mit einer WTFPL Lizenz auf Github. Die What the F*ck You Want To Public License, erlaubt es euch mit dem Quellcode zu machen, was auch immer ihr wollt. Ihr könnt also auch Mit dem Quellcode rumspielen. Forks erstellen und dazu beitragen, oder Teile des Quellcodes in eigenen Projekten integrieren.
Github ist ein Portal, welches auf das Quellcode Versionierungstool Git aufsetzt. Darüber ist es einfach Quellcode zu teilen und gemeinsam daran zu arbeiten. Viele OpenSource Projekte liegen auf Github. Dort kann man auch an der Neuentwicklung von C# und .NET mitwirken.
Das Github projekt findet ihr hier.
Mein Kollege Wr4thon hat sich sofort dazu bereit erklärt bei der Entwicklung zu helfen.
Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen
Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklären Sie sich damit einverstanden.