Kitchen

Hi,

ich habe mal wieder ein kleines Projekt gestartet. In KitchenChef (ja ich weiß Name ist doppelt gemoppelt) muss man eine KI schreiben und die bestimmte Rezepte kochen soll. Es ähnelt Overcooked natürlich, aber auch dem genialen Brettspiel KitchenRush (wovon derzeit auch der Hintergrund ist). Es gibt verschiedene Spielmodi (mit verschiedenen Küchenchefs (zwischen 1 und 3, alle durch die KI gesteuert), verschiedene Anzahl an Punkten zu erreichen und verschiedene Anzahl an Gerichten bereitzustellen etc).
Es macht einfach Spaß, mal wieder etwas zu bauen.

Da das Spiel noch in Entstehung ist, gibt es erst mal nur ein Screenshot. Werde den Thread planmäßig als Tagebuch nutzen.

Hallo liebes Tagebuch,

heute ein kurzes Update. In der Nacht kam mir eine Idee.

Da das Spiel als möglicher Programmierwettbewerb an der Universität gedacht ist, steht natürlich das Schreiben einer KI im Vordergrund und das kommt gut voran. =)
Ich bin aber auch ein großer Freund das Spiel als Mensch selber zu spielen. Deshalb habe ich mich dazu entschieden auch den menschlichen Spieler gleich von Anfang an mit umzusetzen. Das bedeutet mit einem Spieler funktioniert alles super, wenn man als Mensch aber nun 3 Küchenchefs gleichzeitig steuern soll, kommt man an seine Grenzen (also ich auf jeden Fall).

Da kam mit in der Nacht die glorreiche Idee, das Spiel als Mensch ähnlich zu gestalten wie beim Schreiben einer KI.
Mein Plan nun ist es, dem menschlichen Spieler zu ermöglichen, seine Spielfiguren nicht nur mit wasd zu steuern, sondern wie bei Human Ressource Machine (HRM) ihnen eine Abfolge von Befehlen mit an die Hand zu geben und somit die Aufgaben zu erledigen. Also bei drei Spielern kann der Mensch einen per Hand steuern und den beiden anderen wie bei HRM Befehle geben, die sie abarbeiten.
Anders als bei HRM aber die Befehle natürlich immer wieder auf die Gegebenheiten anpassen. Ich denke das könnte echt spaßig werden.

1 Like

Hallo Tagebucheintrag:

Um das Ziel zu erreichen, das Spiel so zu gestalten, dass es auch mit mehreren Spielern gut spielbar ist, bin ich auf das „kleine“ Problem der Wegfindung gestoßen (ich möchte ja schnell sagen können, laufe mal zum Kunden und hol dir von ihm die Bestellung oder renne mit dem Essen zum Backofen). Bis jetzt in meinen Spielen gab es immer ein Array und zwischen diesen konnte ich schnell und einfach den A* gestalten.
Tja bei diesem Spiel gibt es aber nur eine Fläche und irgendwo Wände. Wie komme ich nun also am schnellsten von Punkt A nach Punkt B.
Erster Ansatz einfach ein Raster über die Fläche legen und dann ist das 2D Array da, welches ich nutzen kann. Problem hierbei war aber die Performance. Sehr klein aufgelöst (z.B. alle 5 Pixel - bei einer Fläche von 1500 px x 800 px wird das Array sehr groß), gibt es SEHR viele Punkte und wenn die freie Fläche sehr groß ist, dann gibt es auch SEHR viele Nachbarn etc … Wenn es zu grob aufgelöst ist, können dünne Durchgänge vlt nicht mehr gefunden werden. Diese Lösung habe ich also verworfen.

Zweiter Ansatz es wie bei der Berechnung von SIchtlinien zu machen und von allen Wänden sich die Ecken geben (welche nicht durch eine Wand verdeckt ist) lassen und damit zu rechnen. Und was soll ich sagen, das klappt SUPER. Und ich bin echt glücklich mit der Lösung. Im Bild seht ihr die Wände und auch die Wegpunkte. Wenn ich jetzt berechnen will, dass der SPieler zu einem bestimmten Punkt hinlaufen will, ist der Graph sehr klein und damit die Berechnung viel besser, schneller. Ach ich freue mich. =)

Der nächste Schritt nun eine kleine KI schreiben, um zu schauen wie „leicht“ es ist und dann den HumanRessourceMachine Ansatz weiterbringen.

1 Like

Haha als ich gesehen habe, dass es den Thread hier gibt und wir zufällig am Wochenende Kitchen Rush zum ersten Mal gespielt habe, dachte ich mir, wäre doch lustig das zu programmieren und Netzwerkfähig zu machen hinsichtlich Kontaktbeschränkungen :smiley:

Zufälle gibts

1 Like

Hallo Tagebuch,

ich bin mit der KI echt gut vorangekommen. Sie ist schon ein guter Küchenchef.
Auch habe ich nun ein paar Bilder für die Köche und Kunden eingefügt.
Außerdem noch das Bewertungssystem für ein Essen verändert, nun kommt es darauf an wie schnell das Essen beim Kunden landet, ob alle Zutaten richtig sind etc

Glücklich macht mich der Umstand, dass eine Freundin ein paar schicke Grafiken basteln möchte.

Als nächstes kommt nun wirklich das HumanRessourceSystem für den Menschen. Bin gespannt wie es wird. =)

1 Like

Hallo Tagebuch,

um in etwas Weihnachtsstimmung zu kommen, gibt es nun einen Weihnachtshintergrund und somit ein weiteres Level.
Außerdem kann man nun einstellen wie viele Bots mitspielen sollen (zwischen 1 und 3), es gibt neue Rezepte, die man nicht mehr zwangsläufig kochen muss und die Chef KI kommt mit zwei Personen sehr gut klar. Ach das war ein Kampf. =) Aber nun bin ich sehr glücklich.

Jetzt kann ich wirklich damit starten zu überlegen, wie ich die Steuerung bei mehr als 1 Spieler genau umsetze. Aber toll =)

Hallo Tagebuch,

damit ihr euch minimal vorstellen könnt, wie das Spiel derzeit abläuft, habe ich mal ein Video hochgeladen.

1 Like

Hallo Tagebuch,

in den letzten Tagen wollte ich „nur“ noch die letzten bekannten Bugs aus der Chef KI entfernen. Aber ja, das hat länger gedauert als erwartet. Jetzt bleibt sie aber nicht mehr einfach nur stehen.
Auch haben die Köche nun unterschiedliche Mützen bekommen, damit sie besser unterscheidbar sind und auch sonst einige kleine Anpassungen an der GUI.
Meine nächsten Ziele sind nun erst einmal eine Website für das Spiel und den Wettbewerb bauen. Falls jemand dies liest und Lust hat zu helfen, würde ich mich freuen.

Hi Tagebuch,

nun gibt es die erste Version der Website unter http://apo-games.de/kitchen/ . Naja wenn ich ehrlich bin … so richtig glücklich bin ich nicht, aber sie ist funktional. :smiley: Ich müsste da so viel mehr Arbeit und vor allem Zeit reinstecken, aber dazu habe ich gerade noch keine Lust.
Jetzt baue ich erst einmal ein paar Videos mit Erklärungen. Dann starte ich endlich mal mein Ziel der Steuerung verschiedener Küchenchefs als Mensch. =)

Hallo Tagebuch,

jetzt gibt es neue Missionen, die auch der gute Chef Bot nicht wirklich immer schafft. Zeigt mir, dass ich ihn auch noch stark verbessern kann. =)
Auch verlassen die Kunden nach einer bestimmten Zeit das Lokal wieder und man bekommt Minuspunkte.
Auch wurden einige Bugs behoben und jetzt wird nicht nur auf die Fläche gemalt, sondern der Spieler kann hinter Wände gelangen (sieht man im Video sehr gut, wenn der Bot Zutaten und Gewürze holt).
Kleinigkeiten halt, aber die machen die Sache runder.

2 Likes