[ZFX Action] Zelle - hier bedeutungsvollen Titel einfügen

Unterforum für die Action vom 17.10.2014 bis 19.10.2014
Forumsregeln
Damit Bilder im Showroom erscheinen, bitte das Präfix [ZFX Action] für Wettbewerbs-Beiträge benutzen.
Antworten
Benutzeravatar
Schrompf
Moderator
Beiträge: 4042
Registriert: 26.02.2009, 00:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

[ZFX Action] Zelle - hier bedeutungsvollen Titel einfügen

Beitrag von Schrompf » 19.10.2014, 19:00

Moin,

http://www.dreamworlds.de/privat/Zelle.zip (16 MB mit Sourcen)

Nach ein bisschen Grübeln habe ich mich für die "Zelle" als Lebewesen-Bestandteil entschieden, weil mir dazu am meisten einfiel. Ich wollte ein Fressspiel machen, bei dem man eine amorphe Zelle durch's Wasser steuert, Dinge frisst und damit wächst, und mit der Nahrung Fähigkeiten kauft. Soweit ist es dann aber nicht gekommen, weil ich mich zum Einen ziemlich lang mit der Surface Extraction aufgehalten habe und zum Anderen das mein erstes Wochenende nach dem Urlaub war, was ich dann zu gewissen Teilen mit Freunden anstatt mit Coden verbracht habe.

Das geht. Bzw. sollte gehen, denn aktuell crasht die Exe, wenn ich sie von außerhalb der IDE starte. Mistgriebel.

- Zelle mit Pfeiltasten oder WASD steuern
- Shift für Sprint, der Nahrung (== Punkte) kostet
- Zoomen mit Ziffernblock-PlusMinus
- im Wasser herumtreibende Krümel können gefressen werden
- die rutschen dann nach innen (bzw. rutschen manchmal sonstwohin) und werden im Innern verdaut
- das Spielfeld ist ein kreisrunder Wasserplanet
- außenrum herrschen heftige Strömungen, die man ausnutzen oder mit Sprint überwinden kann
- die Strömungen treiben manchmal Nahrungskrümel in einer Ecke zusammen, was sehr praktisch ist

Was es nicht geschafft hat:

- kein Zellwachstum
- kein Fähigkeitenausbau
- keine Meeresbodendeko
- keine Stachelhindernisse
- keine Unterwasser-Lichtverteilung
- kein Sound, keine fluffigen Partikeleffekte

Benutzte Technologien:

- Visual Studio mit meinem Framework (immernoch im Umbau, daher wahrscheinlich der Grund für meinen aktuellen Crash)
- Box2D, GLFW, Freetype, OIS
- GIMP
zelle_scr8.jpg
zelle_scr9.jpg
zelle_scr91.jpg
Häuptling von Dreamworlds. Baut an was Neuem. Hilft nebenbei nur höchst selten an der Open Asset Import Library mit.

Benutzeravatar
Schrompf
Moderator
Beiträge: 4042
Registriert: 26.02.2009, 00:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [ZFX Action] Zelle - hier bedeutungsvollen Titel einfüge

Beitrag von Schrompf » 22.10.2014, 15:50

Hab die Tasten für Zoom nochmal geändert, weil gestern im Dresdner Stammtisch der Laptop keinen Ziffernblock hatte. Man kann jetzt zoomen mit PageUp und PageDown.

Vielleicht ein bisschen allgemeines Labern:

Eine Zelle per Box2D zu modellieren ist nicht ganz simpel. Ich wollte es amorph halten, also keine banale Kugel nehmen, weil sich die Zelle an Hindernisse anschmiegen soll und sich teilweise durch enge Gassen durchquetschen soll. Dazu hatte ich eine Reihe Rechtecke genommen und mit Gelenken verbunden. An die Gelenke habe ich jedesmal noch eine Kugel drangesetzt, damit sich nix zwischen den öffnenden Spalt zwischen zwei Rechtecken schieben kann. Dazu kommt eine nach außen gerichtete Kraft auf jedem Wandsegment, die die Kugelform herstellen soll. Leider konnte ich die Kraft nicht so groß machen, dass die Kugelform halbwegs erhalten bleibt - dann fliegen die Gelenke auseinander. Für's nächste Mal baue ich evtl. noch ein paar Abstands-Federgelenke zwischen gegenüberliegenden Wandsegmenten ein, damit die Kugelform besser erhalten bleibt.

Das Aufnehmen der Nahrungskugeln ins Innere erschien anfangs als gute Idee - man wird mit Essen im Inneren auch Träge und verformt sich ein bisschen. Leider ist der Übergang einer Nahrung ins Innere extrem unsicher, da die Zelle quasi nie Kreisform hat. Jetzt werden Nahrungsflocken oft grob in eine Richtung bewegt und sind wegen extrem deformierter Zelle danach doch wieder außerhalb oder auf einer Zellwand. Ich finde es super, wie stabil die ganzen Box2D-Algorithmen da rechnen, selbst wenn sich Physikkörper vollständig überlappen. Für später baue ich vielleicht ein, das Nahrung bereits bei Kontakt langsam verdaut wird und das Verdautempo schneller wird, je mehr von der Zellwand sich um die Nahrung schlingt. Ganz am Anfang hatte ich noch einen Kollisionsfilter drin, so dass man mit genügend hoher Relativgeschwindigkeit auf die Zelle prallen musste. Das war aber mühsam und hat nicht nachvollziehbar funktioniert, also habe ich es rausgebaut.

Die Strömung mag ich inzwischen sehr. Sie ist nicht immer nachvollziehbar, aber ist lokal schon ganz glaubwürdig und macht das Manövrieren in der Spielwelt etwas spannender. Außerdem ergeben sich dadurch richtige Anschwemmungen von Nahrung an manchen Ecken, was die Spielwelt interessanter macht. Leider wäre das alles erst dann wirklich cool, wenn es auch irgendwelche Stacheligel oder sowas gäbe, die bei Kontakt Schmerzen verursachen. Oder andere bewegte Lebewesen, an die man sich mit Hilfe der Strömung anschleichen könnte... da besteht noch viel Potential. Und ich werde irgendwann nochmal ausprobieren, ob ich eine global stabile Strömung berechnen kann, die auch lokale Wirbel in den engeren Schluchten drinlässt. Aktuell wird die Strömung nur "lokal" berechnet und umströmt Wände nur bis zu einem gewissen Abstand. Größere Höhlen werden dann in der Mitte wieder global in Planetenkreisrichtung beströmt, was physikalisch gesehen völliger Quatsch ist.

Und für's nächste Mal: ich splatte dann einfach die Planetenoberfläche oder mach irgendwas Anderes ganz einfaches. Die Konturextraktion hat mich fast einen ganzen Tag Arbeit gekostet und sieht jetzt nicht sooo cool aus, dass ich sagen würde: das war's wert. Ich bin leider auch nicht dazu gekommen, die Wände noch mit kleinen Dekosteinchen, Muscheln oder Korallen zu versehen, so dass die Oberfläche etwas spannender aussieht.

Der ganze Karriere-Modus ist leider auch der Zeit zum Opfer gefallen. Da hätte man auch extrem viel machen können: kleine Ventrikel, um sich schneller bewegen zu können. Giftimmunität, um mehr Nahrungsgruppen essen zu können. Tentakelfüßchen für Bewegungsbonus nahe Wänden. Elektroschock wie bei Aalen, um Nahrung kurz zu betäuben. Evtl. sogar Farbveränderung, um sich an Wände angeschmiegt tarnen zu können... da gibt's unglaublich viele Ideen.

Irgendwann baue ich das Spiel mal weiter. Auch wenn ich dazu den gamejam-artigen Code erstmal ordentlich saubermachen muss. Aktuell ist das meiste public und alle greifen sich gegenseitig in die Karten... das fliegt einem schnell um die Ohren, wenn das Projekt etwas größer wird.
Häuptling von Dreamworlds. Baut an was Neuem. Hilft nebenbei nur höchst selten an der Open Asset Import Library mit.

Benutzeravatar
Max Gooroo
Establishment
Beiträge: 341
Registriert: 09.12.2012, 00:16
Wohnort: Dresden
Kontaktdaten:

Re: [ZFX Action] Zelle - hier bedeutungsvollen Titel einfüge

Beitrag von Max Gooroo » 22.10.2014, 16:14

Fühlt sich sehr Spore (Stage 1) artig an, was bestimmt kein reiner Zufall ist.
Als Zelle irgendwelches Zeug zu fressen fesselt seltsamerweise sofort, auch ohne das jetzt schon Sinn vorhanden ist :D, vielleicht hängt das aber auch nur daran, dass man mit klassischen simplen Arcade Spielen groß geworden ist.

Eigentlich braucht es denke Ich mal wirklich nur noch ein paar fluff Effekte und hier und da mal einen Entwicklungsschub, so dass man merkt, dass das Herumgefresse der Zelle auch etwas bringt und schon hat man einen spaßigen Zeitvertreib.

Dem Konzept kann man auf jeden Fall extrem schnell Spielfördernde Dinge hinzufügen, von denen du ja auch einige schon aufgezählt hast. Ich denke auch, dass durch die Einfachheit des Grundkonzeptes es viel Anklang finden könnte, weil man bis jetzt zumindest nicht sonderlich viel begreifen muss um das Spiel zu spielen. Wahrscheinlich wird es sogar als Zen Erlebnis genutzt oder so :D

Benutzeravatar
RustySpoon
Establishment
Beiträge: 296
Registriert: 17.03.2009, 14:59
Wohnort: Dresden

Re: [ZFX Action] Zelle - hier bedeutungsvollen Titel einfüge

Beitrag von RustySpoon » 23.10.2014, 18:56

Genau, noch bisschen Polish und ich hab da schon echt Bock drauf. Vielleicht noch ein paar fremde Zellen mit denen man um Nahrung konkurriert und damit das ganze nicht so einsam wirkt. So 'ne wachsende Zelle wär auch sehr geil. Vielleicht könnte die sich auch abhängig davon entwickeln, was sie frisst. Und natürlich sollten gegnerische Zellen gefressen werden können, sobald man groß genug ist. Ist aber als Idee glaub ich auch nicht ganz frisch - ich kann mich leider nicht mehr ganz genau erinnern wie das in Spore damals so war.

Laguna
Beiträge: 74
Registriert: 24.05.2004, 13:05
Wohnort: Fürth
Kontaktdaten:

Re: [ZFX Action] Zelle - hier bedeutungsvollen Titel einfüge

Beitrag von Laguna » 23.10.2014, 19:36

Gefällt mit! Die Fluidsimulation funktioniert gut und auch so konnte ich keine Probleme feststellen.
Was noch sinnvoll wäre, wäre ein Anreiz für den Spieler, seiner Zelle Futter zu geben. Sei es , dass diese dann wächst und der Bauch mehr Glieder bekommt,dass man sich gegen Fressfeinde zur Wehr setzen muss oder dass es einfach einen Timer gibt, nach dem die Punkte gezählt werden. So fehlt irgendwie noch etwas die Motivation, nochmal zu spielen.

Technisch sicherlich eines der anspruchsvolleren Projekte der Action. Ich wünschte, ich könnte sowas mal eben aus dem Ärmel schütteln.

Es würde mich freuen, wenns davon mal noch eine aufpolierte Version geben wird.

So Far...
Laguna

Benutzeravatar
Jonathan
Establishment
Beiträge: 1395
Registriert: 04.08.2004, 20:06

Re: [ZFX Action] Zelle - hier bedeutungsvollen Titel einfüge

Beitrag von Jonathan » 05.11.2014, 01:05

Jup, ist cool. Erinnert mich ganz schön an Osmos, wo man als Zelle auch andere Lebewesen fressen muss und Punkte verliert, wenn man sich zu schnell bewegt.
Die generierte Landschaft ist cool, aber ich muss dir zustimmen, dass es zwar gut, aber jetzt nicht mega krass aussieht. Trotzdem ist es natürlich immer wieder schön, wie aus Algorithmen Spielwelten entstehen.
Die Partikel im Hintergrund zeigen schön, wie die Strömung fließt und lassen die Landschaft lebendiger aussehen. Und die Physik von der Zelle ist zwar noch etwas eigenwillig, aber es ist halt trotzdem so viel cooler, als einfach nur immer einen runden Charakter zu haben. Erinnert mich an damals, als ich mich gefragt habe, die die Jungs von Gish es bloß geschafft haben, einen Teerklumpen als Spielfigur zu programmieren...

Größter Kritikpunkt wäre bisher (abgesehen von den fehlenden Spielelementen), dass es relativ langatmig ist. Man kann sich langsam bewegen, aber weil die Spielwelt halt so groß ist, dauert das ewig. Oder man verliert Punkte, wenn man sich schnell bewegt. Natürlich ist die Idee gut, abzuwägen, ob man gegen Strömung angehen soll oder nicht, aber ich bin halt eher ungeduldig und will nicht Minutenlang in eine Richtung schwimmen, bloß um einen kleinen Klumpen zu finden.
Lieber dumm fragen, als dumm bleiben!

Antworten