deep

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen



    • Vorwort:

      Mein drittes und vorerst letztes 1-Woche-Projekt. Bin weiterhin auf meinem Minimalistik-Trip und hab es diesmal noch etwas weiter getrieben: kein Soundtrack, keine Grafiken, kein Text, keine Farben, 260x260px, 20fps. Keine Online-Highscore (definitiv!). Diesmal habe ich es tatsächlich darauf angelegt, mit so wenig wie möglich ein möglichst herausforderndes Spiel zu schaffen. Wer also nur mit Effektgewittern und Techno-Mucke Spaß haben kann, sollte hiervon am besten gleich die Finger lassen. Ich werde auch auf Kritik in diese Richtung ("Mit Ein menü und Efekte währe beser!!1 :thumbsup: :thumbsup: :thumbdown: :P 8) :rage2:") garnicht weiter eingehen. Umso willkommener sind Rückmeldungen zum Spielerlebnis selber. Was haltet ihr von der Spielmechanik? vom Schwierigkeitsgrad? der Spieldauer?

      Beschreibung:
      In deep navigiert ihr mithilfe eures Sonarsystems durch die absolute Finsternis. Dabei müsst ihr in jedem Level ein Ziel erreichen und Kollisionen mit eurer Umgebung vermeiden. Dabei ist euch euer Sonar hilfreich, welches mit Pieplauten angibt, wie weit ihr vom Ziel entfernt seid. Zusätzlich könnt ihr pro Level eine begrenzte Anzahl an Markierungen setzen, um nicht vollständig die Orientierung zu verlieren.

      Steuerung (WICHTIG, im Spiel nicht erklärt!):
      W,A,S,D - Umherbewegen
      Pfeiltasten links, rechts - Umschauen
      Leertaste: Markierung platzieren

      Screenshot:


      Download deep

      Viel Spaß beim Erforschen!
      MfG Waterman7

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Ponyman7 ()

    • Hi,

      hab das Spiel kurz angezockt und die ersten 3 Levels n'paar mal durchprobiert. Muss sagen, das Spiel ist spitze! Schon mal die Idee, dass man sich nur mit Hilfe eines Sonars orientieren kann ist genial. Kaum ist eine Mauer vorm Sonar, schon ist auch Schluss mit der Sichtweite. Man sieht zwar immer nur die weiße "Grenzlinie", aber mann kann sich doch einiges vorstellen von der Welt.

      Nur ein Mankerl hät ich da noch zu bemängeln (jaja, ich weiß Du willst nichts in Richtung Design und so hören :whistling: :( An und für sich sieht dieses "Weiß-auf-Schwarz" recht hübsch aus, jedoch nach schon 5 Minuten Spielzeit brauchen meine Augen ein weilchen, sich wieder an das "normale" Tageslicht zu gewöhnen. :pinch:

      Reife Leistung, für ein 1-Woche-Projekt :thumbup:
      "Es gibt nie ein glückliches Ende, denn es endet nichts." - Schmendrick
    • Ich find das Spiel klasse. Das reduzierte Design ist genial. Ein Schritt weiter wäre wenn man das U-Boot/Schiff nicht mehr sehen könnte. xD
      Ich habs bis jetzt nur bis zum 2. Level geschafft, die bewegende Umgebung ist echt verwirrend. :wacko:


      meine Schnecke i@________________________________________________________________________________________
      bitte nicht drauf treten!
    • bin erstmal bis ins 3. level gekommen :D später versuch ichs nochmal weiter zu schaffen :D

      finde das spiel bissher sehr sehr gut, die idee ist super und die umsetzung auch. das einzige was mich ein wenig gefrustet hat ist dass man nach 1ner berührung von vorne anfangen muss, aber naja ^^

      dennoch der gesamteindruck ist sehr Gut :thumbsup:



    • Danke für die Antworten. Freut mich, dass es so gut ankommt. :)
      Spoiler anzeigen

      Klaus C. Haber schrieb:

      Schon mal die Idee, dass man sich nur mit Hilfe eines Sonars orientieren kann ist genial. Kaum ist eine Mauer vorm Sonar, schon ist auch Schluss mit der Sichtweite.
      Die Idee von einem Spiel mit einem Sonar anstelle von freier Sicht hatte ich schon länger im Kopf. Ursprünglich wollte ich einen Rätsel-Platformer daraus machen, in dem man einen blinden Jungen spielt, habe mich letztendlich jedoch entschieden, lieber eine Art "Exploration"-Game daraus zu machen. Die Spielmechanik bietet sich dafür deutlich besser an, wie ich finde.

      Klaus C. Haber schrieb:

      Man sieht zwar immer nur die weiße "Grenzlinie", aber mann kann sich doch einiges vorstellen von der Welt.
      Genau das wollte ich in diesem Spiel erreichen. :) Dadurch, dass die Welt quasi unsichtbar ist, sollte umso mehr der Fantasie überlassen werden. Deshalb gebe ich auch keine Erklärung vor, wen man spielt oder wo man sich befindet. Im weiteren Verlauf des Spiels merkt man noch einige Veränderungen um sich herum, was diesen Effekt hoffentlich noch verstärkt.

      Klaus C. Haber schrieb:

      nach schon 5 Minuten Spielzeit brauchen meine Augen ein weilchen, sich wieder an das "normale" Tageslicht zu gewöhnen. :pinch:
      Hast du im Vollbild gespielt? Mir war die Optik eigentlich nie ungemütlich, das ist aber sicherlich Geschmackssache. Vielleicht solltest du einfach das Tageslicht meiden. :D

      Klaus C. Haber schrieb:

      hab das Spiel kurz angezockt und die ersten 3 Levels n'paar mal durchprobiert.

      Moos schrieb:


      Ich habs bis jetzt nur bis zum 2. Level geschafft, die bewegende Umgebung ist echt verwirrend. :wacko:

      kevb0ard schrieb:


      bin erstmal bis ins 3. level gekommen :D später versuch ichs nochmal weiter zu schaffen :D
      Das mit dem Schwierigkeitsgrad war für mich von Anfang an ein Problem. Da ich der einzige Tester war und die Level selber schon kannte, konnte ich nur ungefähr schätzen, ob sie auch für andere schaffbar sind. Verzeiht mir daher, wenn es teilweise etwas gemein ist. Ab Level 3 sind die Zielobjekte schon meistens recht gut versteckt. Umso wichtiger ist es, auf das Piepsignal zu hören.
      Ich will euch aber auf jeden Fall ans Herz legen, das Spiel durchzuspielen. Wenn ihr im dritten Level seid, habt ihr schon fast die Hälfte vom Spiel geschafft, und im nächsten Level wartet eine kleine Überraschung auf euch. ;)


      MfG Waterman7
    • Hey Waterman7,
      eine wirklich schöne Spieleidee. Umsetzung gefällt mir sehr gut. Bin aber nicht weiter wie Level 1 gekommen. Stand mit meinem Dreieck in einer Ecke, als der Piep-Ton schon fast durchgängig ohne Pausen kam, aber ein Ziel oder anderes wo ich hin muss habe ich nicht gesehen. :(
      Bin anscheinend noch nicht so ganz dahinter gestiegen...
    • Stand mit meinem Dreieck in einer Ecke, als der Piep-Ton schon fast durchgängig ohne Pausen kam, aber ein Ziel oder anderes wo ich hin muss habe ich nicht gesehen. :(
      Das Ziel wird durch einen kleinen weißen Kreis symbolisiert. Es wird aber nur angezeigt, wenn es auch innerhalb der Reichweite deines Sonars liegt. Wenn das Signal also angibt, dass du ganz in der Nähe bist, schau dich einfach ein wenig um, bis du den Kreis findest. Vergiss dabei nicht, hinter jeder kleinen Ecke nachzuschauen. ;)

      MfG Waterman7
    • habs mal angespielt und finde, dass sich das Spiel hervorragend spielen lässt wenn man eine Suchtechnik hat und Zeit(!), ich find das Sonar echt cool gelungen. Wüsst gern zu welchem Trick aus Der GM-Trickkiste gegriffen wurde, sowas zu realisieren :D
      ////////////////////////////////////////////////////////////////////////////////////////////////
    • Yay, Spiel des Monats! :)
      Wüsst gern zu welchem Trick aus Der GM-Trickkiste gegriffen wurde, sowas zu realisieren :D
      Ich habe selber eine Weile gebraucht, um ein für mich akzeptables System auszuarbeiten. Ich hab mir mal die Mühe gemacht und den Entwicklungsprozess ausführlich dargelegt:
      Spoiler anzeigen

      (Wenn euch nur das Endergebnis interessiert, schaut euch den letzten der drei Codes an!)
      Mein erster Ansatz war, mithilfe von einem Schleifengebilde jeweils den ersten Punkt zu finden, an dem in einer bestimmten Richtung eine Kollision mit dem Wandobjekt vorliegt und diesen Punkt dann zeichnen zu lassen. Das ganze sah dann ungefähr so aus:

      GML-Quellcode

      1. var i1,i2;
      2. for (i1=-45;i1<45;i1+=1) { //diese schleife geht durch alle gradzahlen von -45° bis 45°
      3. i2 = 0;
      4. do { // diese schleife überprüft die koordinaten für jeden abstand, bis eine kollision vorliegt oder der abstand >300 ist
      5. i2 += 1;
      6. } until (i2>300 || collision_point(x+lengthdir_x(i2,dir+i1),y+lengthdir_y(i2,dir+i1),oWall,true,true));
      7. draw_point(x+lengthdir_x(i2,dir+i1),y+lengthdir_y(i2,dir+i1)); // an jeder der koordianten wird ein einzelner punkt gezeichnet.
      8. }

      Das Problem hierbei war, dass es nicht annähernd performant genug war, vor allem wenn keine Hindernisse in Reichweite waren und somit jede Schleife bos zum Ende durchgezählt hat.
      Also habe ich versucht, das ganz ein wenig zu dezimieren, indem ich i1 und 12 (Richtung und Abstand) in größeren Schritten erhöht habe.
      Nachdem ich einige Werte ausprobiert hatte, kamen weitere Probleme auf: Erhöhte ich den Abstand in zu hohem Maße, wurden die Umrisse der Hindernisse verzerrt und ungenau; erhöhte ich den Winkel zu schnell, lagen die einzelnen Punkte in zu weitem Abstand von einander und es sah nicht mehr nach einem Radar aus.
      Am ersten der beiden konnte ich wenig ändern, also musste ich eine alternative Darstellungsmöglichkeit anstelle der Punkte finden. So kam ich auf die naheliegende Idee, die Punkte nicht einzeln darzustellen, sondern mit Linien zu verbinden:

      GML-Quellcode

      1. var i1,i2,i3;
      2. for (i1=-30;i1<30;i1+=3) { //i1 wird nun jeweils um 3 erhöht, was die gesamtdauer der schleife um 2/3 verringert
      3. //das sichtfeld wurde von insgesamt 90° auf 60° verringert, was die dauer um 1/3 verkürzt
      4. i2 = 0;
      5. do {
      6. i2 += 2; //i2 wird jeweils um 2 erhöht, was die gesamtdauer nochmal halbiert
      7. } until (i2>200 || collision_point(x+lengthdir_x(i2,dir+i1),y+lengthdir_y(i2,dir+i1),oWall,true,true));
      8. //die sichtweite und somit die schleifendauer wurde im 1/3 gerkürzt
      9. draw_line(x+lengthdir_x(i3,dir+i1-3),y+lengthdir_y(i3,dir+i1-3),x+lengthdir_x(i2,dir+i1),y+lengthdir_y(i2,dir+i1));
      10. // anstelle eines punktes wird nun eine gerade von der jeweils letzten zur aktuellen koordinate gezeichnet
      11. i3 = i2; // in i3 wird die letzte koordinate gespeichert (bzw der letzte abstand)
      12. }
      13. draw_line(x+lengthdir_x(i3,dir+i1-3),y+lengthdir_y(i3,dir+i1-3),x,y); // linie zurück zum spieler
      14. // insgesamt ist die dauer der schleife nurnoch 0,074mal so lang wie vorher; das ganze geht also (theoretisch) 13,5mal so schnell wie vorher
      15. //(vorrausgesetzt die schleife wird bis zum ende ausgeführt)
      Alles anzeigen

      Bei diesem Kompromiss bin ich quasi bis zum Ende der Entwicklung geblieben, bis mir eine Alternative eingefallen ist, welche besser funktioniert hat. Anstatt einzelne Punkte auf Kollision zu untersuchen und dabei den Abstand zu erhöhen, habe ich einfach collision_line benutzt und solange geprüft, bis KEINE Kollsion mehr vorlag. Ich hatte die Möglichkeit anfangs verworfen, da ich davon ausgegangen bin dass collision_line rechentechnisch aufwändiger als collision_point ist und somit vermutlich länger brauchen würde. Die Schleife wird aber mit der neuen Technik sofort beendet, wenn keine Kollision vorliegt und spart damit deutlich mehr Rechendurchläufe als die collision_point-Methode.
      Mein Code sah also letztendlich so aus:

      GML-Quellcode

      1. for (i1=-30;30;i1+=3) {
      2. i2 = 200; // i2 startet nun mit 200 und zählt runter
      3. do {
      4. i2 -= 2;
      5. } until (i2<8 || !collision_line(x,y,x+lengthdir_x(i2,dir+i1),y+lengthdir_y(i2,dir+i1),oWall,true,true)); // schleife wird beendet, wenn keine kollision vorliegt
      6. draw_line(x+lengthdir_x(i3,dir+i1-3),y+lengthdir_y(i3,dir+i1-3),x+lengthdir_x(i2,dir+i1),y+lengthdir_y(i2,dir+i1));
      7. i3 = i2;
      8. }
      9. draw_line(x+lengthdir_x(i3,dir+i1-3),y+lengthdir_y(i3,dir+i1-3),x,y);

      Mit der neuen Methode hätte ich theoretisch die Kompromisse die ich anfangs der Performance wegen eingegangen bin, rückgängig machen können, und das Sichtfeld wieder vergrößern. Das Leveldesign und der Rest der Engine war nun aber schon so sehr auf die Werte abgestimmt, dass ich es dabei belassen habe.


      Ich hoffe das ganze ist einigermaßen verständlich erklärt und der ein oder andere findet es interessant und/oder hilfreich.
      Ich selber bin jedoch alles andere als ein Experte auf diesem Gebiet, daher will und kann ich nicht behaupten dass meine pauschal die beste Lösung ist. Mich würde interessieren, ob ihr bessere Ansätze habt (um nicht offtopic zu werden, bitte nur zusammen mit Rückmeldung zum Spiel ;))

      MfG Waterman7