• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Programmierwettbewerb 2: Aaah a snake!

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
@Roin:

Zum Thema Barrieren und Futterplatzierung - man müsste die Horizontale und Vertikale eines Punktes begutachen, ob diagonal wäre egal. Es muß nur sicher gestellt sein das die Schlange auf dem Feld landen kann und es eine Ausgang nach Links, Rechts, Oben oder Unten von diesem Feld aus gibt - der Spielfeldrand zählt selbstverständlich als nicht begehbares Feld. Aber das könnte man etwas umschiffen wenn man die Wände nur innerhalb des Spielfedes mit einem Abstand von einem Feld zum Rand generiert.

Aber ich finds natürlich super das du schon so schnell so weit vorgedrungen bist, die anderen alle hier sind wohl noch im Winterschlaf oder veröffentlichen einen Tag vor "Abgabe" ;)
 

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
@theSplit: Die Lösung die Barrieren mit der Überprüfung mit einem gewissen Abstand zum Spielfeldrand zu generieren wäre auch machbar - wobei es dann immernoch Konstellationen gibt, die unlösbar sind (z.B. ein Quadrat auf dem Spielfeld, welches ein 2x2 oder größer einschließt)

Es wird später eh alles online gestellt - dann ist das doch egal, wann ich was veröffentliche - und das "gewinnen" hier hat ja eh nur den Nutzen, das für sich selbst verbuchen zu können - also kein Ansporn für mich^^

Mal gucken wann ich noch was ergänze.
 

Novgorod

ngb-Nutte

Registriert
14 Juli 2013
Beiträge
3.055
@theSplit: ...oder sind schon lange fertig :D

bei den hindernissen müsste man nur sicherstellen, dass jeweils alle 8 benachbarten felder leer sind (weder wand noch schlange noch anderes hindernis; futter wäre ok), da die hindernisse ja nur ein feld breit sind.. aber so eine random platzierung aus dem nichts ist nicht besonders fair - es wäre dann evtl. sinnvoll sicherzustellen, dass in dem moment vom schlangenkopf aus betrachet in die momentane richtung z.b. mindestens 6 felder frei sind und in die dazu senkrechte richtung mindestens 2 felder oder so.. die felder kann man ja alle ausrechnen und dann aus der menge aller felder, aus denen die block-felder zufällig ausgewählt werden, entfernen..

achja, ich hab noch einen bug gefunden:
snakebug.png

wenn man sehr schnell einen 180°-turn macht, kann man die schlange manchmal dazu bringen, auf der stelle umzukehren - meistens führt es zu dem obigen bild, d.h. kollision mit sich selbst ohne dass man wirklich kollidiert ist (was ja nur gehen kann, wenn man unter 90° kollidiert), und sehr selten schafft man es sogar, dass die schlange ohne kollision in sich selbst (also auf der stelle) umkehrt :eek:..
 

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
@Novgorod:
Danke fürs berichten.
Den Bug mit dem 180° Fressen hatte ich eigentlich beseitigt - dachte ich zumindest.

Die Schlange kann sich aber nicht einfach "umdrehen" und den Schwanz zum Kopf machen. Das ist nicht möglich.
Die Kollision mit sich selbst sollte ich wohl noch einmal überprüfen, bzw überprüfen, dass der Schlangenkopf sich nicht auf den "Nacken"-Block zubewegen kann.
 

Novgorod

ngb-Nutte

Registriert
14 Juli 2013
Beiträge
3.055
mei, dann war das ein fehler in der matrix :D - 180° umdrehen ohne zu sterben ist auf jeden fall möglich, wenn die schlange nur ein element hat, und ich meine, ich hätte das auch gesehen als die schlange ein paar elemente lang war (aber nicht riesig).. das dürfte auch kein reiner grafik-glitch sein, weil es immer nur 2 tastatureingaben gab (z.b. nach oben, links); die schlange kehrt dann um, ohne sich um ein feld senkrecht zu bewegen, und kollidiert dann oder (seltener) glitcht fröhlich durch die matrix..

e: ich habs nochmal probiert zu reproduzieren.. es geht definitiv, wenn die schlange 1 oder 2 elemente lang ist - dann kehrt sie auf der stelle um ohne zu kollidieren.. mit 3 elementen habe ich es nicht mehr reproduzieren können, d.h. die schlange kollidiert immer beim umkehren..
 
Zuletzt bearbeitet:

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
@Novgorod: Den Fehler in der Matrix habe ich nun endgültig behoben. Wenn der jetzt noch einmal Auftritt ist die Matrix in der Matrix kaputt - also eine kaputte Matrixeption.

Ich habe auch eine kleine Klasse bei diesem Release beigelegt, die es vereinfachen würde Figuren als "Barrieren" zu nutzen, was ich bisher aber nicht tue.
Ich habe lediglich die Positionierung der Barrieren eingeschränkt, sodass kein unmögliches Szenario mehr entsteht.
Zudem habe ich die Vorschläge mit der Nicht-Positioniernung von Barrieren direkt vor der Schlange (derzeit 4 Felder) und der Verlangsamung der Schlange umgesetzt.

Sollte nun alles machbar sein.
Die Punktezahl, bis die Barrieren erscheinen, habe ich nun fast verdoppelt (900 statt 500 bei Speed 5) und ihre Anzahl leicht verringert (15 statt 25), da die möglichen Positionen sich stark reduziert haben und ich bemerkt habe, dass dadurch das Spiel doch deutlich erschwert wird (bei festen Figuren wäre das aber wohl nicht anders).

Ich habe mir gedacht, dass man, sobald die Barrieren erscheinen die Schlange auf x Elemente verkürzt, sodass man einen gewissen "Neubeginn" hat.
Zudem wäre als Powerup noch möglich, die Zeit für z.B. 30 Frames anzuhalten - da bin ich mir aber nicht so sicher, ob ich das so cool finde.
Andernfalls wäre noch ein PowerUp gut, welches die Punkte, die man erzielen kann für x Frames vervielfacht (5-fache Punkte oder so) - wobei allerdings das typische Beschleunigen oder Barrieren hinzufügen erhalten bleibt.

Was meint ihr dazu? Was davon wäre sinnvoll, was wäre eher uncool?

Anhang anzeigen Snake 0.98.rar
 
Zuletzt bearbeitet:

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
Die Schlange verkürzen nachdem die Barrieren auftauchen, wäre ne Idee..., aber ob das nicht zu leicht wird?

Vielleicht kannst du die Mauern nicht zwingend nach Punkten aber nach der Länge der Schlange auftauchen lassen? Wobei ja, nach Punkten ist auch gut - hat ja was, wer schnell Punkte sammeln kann (und die Bonuspunkte einkassiert) spielt auch gut so das die Schlange nicht so lang sein muß wenn die Wände auftauchen und erhöht damit seine Überlebenschancen... - was ich zum Beispiel bei mir gemacht habe, die Punkte die man durch einsammeln erhält, steigen proportional mit der Länge der Schlange weil das Spiel ja auch schwerer wird.

Die Zeit anhalten würde ich nicht, aber eher die aktuelle Geschwindigkeit auf ein 1/4 setzen, dann 1/3, dann 1/2, dann zurück auf 3/4 und dann wieder volle Geschwindigkeit - zum Beispiel.

Ansonsten finde ich die Idee mit den Bonusmultiplikator für X Frames super, mehr Punkte sind immer gut ;)
Wobei das vergleichen mit einer Highscore nur funktionieren kann, wenn das auftauchen des Extras nach einem festen Prinzip passiert und nicht nur rein zufällig.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.757
Ort
in der Zukunft
Hmmm mal so in den Raum gesprochen - was haltet ihr von 1 Monat länger?
Einerseits ist es natürlich denen die bereits etwas abgegeben haben unfair gegenüber....
andererseits finde ich den Fortschritt und die Ideen hier gerade echt interessant - und einige Zeit mehr könnte eure Ideen noch weiter voran treiben.
Auch haben wir ja 2 die noch was abliefern wollten und Zeitlich zu sehr eingespannt waren?
 

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
@theSplit: Also die Schlange verkürzen wenn die Barrieren auftauchen finde ich jetzt nicht zu einfach - dadurch dass meine Barrieren keine regulären Formen bilden (derzeit zumindest), finde ich es selbst schon schwierig eine sehr kurze Schlange angemessen dadruch zu manüvrieren, da deutlich mehr Lenkmanöver notwendig werden.

Barrieren nach Schlangenlänge vergeben finde ich eher nicht so toll... Zum einen ist mein Code halt entweder auf Zufall oder Punkt-aktionen ausgelegt, zum anderen wäre durch das PowerUp SchlangeHalbieren ja theoretisch möglich "unendlich" Punkte zu sammeln und keine Barrieren mehr auftauchen, da man ja auch einfach sich im Kreis drehen kann und warten bis das nächste PowerUp kommt.

Die Zeit anhalten würde ich nicht, aber eher die aktuelle Geschwindigkeit auf ein 1/4 setzen, dann 1/3, dann 1/2, dann zurück auf 3/4 und dann wieder volle Geschwindigkeit - zum Beispiel.
Ich habe ja bereits ein PowerUp was die Geschwindigkeit halbiert (wenn man Glück hat, kann man das sogar staffeln, indem man 2 mal das PowerUp einsammelt und bei 1/4 Geschwindigkeit landet) - so ein "aufwendiges" PowerUp ist zwar nur eine Erweiterung, doch sinnvoll finde ich das jetzt nicht so ganz.

Ansonsten finde ich die Idee mit den Bonusmultiplikator für X Frames super, mehr Punkte sind immer gut ;)
Wobei das vergleichen mit einer Highscore nur funktionieren kann, wenn das auftauchen des Extras nach einem festen Prinzip passiert und nicht nur rein zufällig.
Vergleichbar ist das dann vielleicht nicht mehr so gut, doch da die PowerUps durch den Zufall annähernd alle 1000 Frames z.B. auftauchen, wird man entweder kürzer, ne gewisse Zeit langsamer oder kriegt halt für ein paar Sekunden mehr Punkte. - Meiner Meinung nach würde sich das annähernd ausgleichen oder was meint ihr?

Sind denn noch weitere Ideen vorhanden?

Hmmm mal so in den Raum gesprochen - was haltet ihr von 1 Monat länger?
Mir solls recht sein, da ich ja eh ab und an dran weiterarbeite und dann hier veröffentliche - vielleicht guckt sich ja sogar der ein oder andere was bei mir ab und übernimmt das ja^^
Den Preis für das schönste Snake kriege ich ja wohl nicht (wobei ich keine Grafiken genutzt habe^^)
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
@drfuture:

Mir wäre es auch recht wenn die Wettbewerb noch verlängert werden würde. Vielleicht würde das die anderen motivieren sich auch noch zu beteiligen. :T

Wenn jemand noch dazu stoßen will und mehr Zeit braucht, könnte man es auch bis Neujahr laufen lassen... in der Weihnachts- und Silvesterzeit würde es sich wohl weniger lohnen gleich mit einem neuen Thema anzufangen.
 

exomo

NGBler

Registriert
1 Aug. 2015
Beiträge
129
Ich bin nicht dazu gekommen viel zu machen, das Grundgerüst steht, aber bevor ich das rausgeben kann fehlen noch ein paar grundlegende Funktionen.
Mir ist es nicht wichtig bei der Bewertung dabei zu sein, wenn der Wettbewerb wie geplant endet. Aber wenn nicht sofort was neues startet fände ich das auch gut, dann kann ich vielleicht noch was liefern. Bis zum 8. November schaffe ich wahrscheinlich nur noch die Basis-Features fertig zu machen, wenn überhaupt. Bis Neujahr könnte ich auch die Weihnachtsferien nutzen und ein paar Features mehr einbauen.

Aktuell sieht es so aus:
snake.png

Was funktioniert:
- Bewegen der Schlange
- Früchte einsammeln (das Dreieck)
- Schlange wird länger
- Kollisionserkennung mit der Wand

Was noch fehlt (für die Basis Version, die ich wenigstens mal veröffentlichen kann)
- Kollisionserkennung für die Schlange selbst
- "Game over" Bildschirm
- Generieren von neuen Früchten an sinnvoller Position

Was noch geplant war (verbesserte Version, die ich eigentlich schaffen wollte):
- Verschiedene Level (mit Hindernissen und unterschiedlichen Geschwindigkeiten)
- Weiche Schlangenbewegug (aktuell "springt" die Schlange immer eine Position weiter)
- Bonus-Früchte / Power-Ups
- Highscore
- Startmenü (mit Starten, Beenden, Highscore ansehen)
- einfache Sounds
- Grafiken austauschen (obwohl ich den "geometrische Formen Stil" gar nicht so schlecht finde :) )

Was ich eventuell vorhatte (aber wohl kaum im Rahmen dieses Wettbewerbs)
- Multiplayer (Coop und Duell Modus)
- Animationen von Schlange und Objekten, bewegter Hintergrund, animiertes Startmenü
- Online Highscore
- Level-Editor
 

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
@exomo: Schön dass du dir da so viel vorgenommen hast! Ich finde auch die Idee mit dem Duell-Modus sehr interessant - das wäre bei mir nur unter Umständen einbaubar - ist aber eher kompliziert, daher lasse ich das mal vollkommen weg.
Kleine Sounds einbauen ist natürlich immer ein schönes Extra.

Das die Schlange "springt" finde ich nicht so schlimm, so ist meiner Meinung nach auch viel einfacher zu erkennen, auf welchen Feldern die Schlange sich befindet und auf welchem Feld dann die nächste "Kurve" ausgeführt wird. Es sieht zwar schöner aus, wenn sie sich wirklich Pixel für Pixel vorschiebt und nicht Feld für Feld, ist hierbei aber (besonders bei höheren Geschwindigkeiten) eher ... hinderlich.

Ein Highscore finde ich natürlich auch nicht schlecht! Ich überlege mir ebenfalls noch, ob ich den vielleicht noch einbaue, ich habe ja auch kein Endscreen oder etwas in der Art, wäre aber sicherlich auch nicht schlecht.

Überlege ich mir noch :)
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
@DrFuture, willst du nicht einfach mal grünes Licht geben den Contest noch bis Neujahr zu verlängern? :)

@exomo - da hast du dir viel vorgenommen :) Finde ich sehr ambitioniert und kommt ja fast schon auf eine Deluxe Snake Version heraus :D
Und der Stil der Grafiken ist auch eine interessante Idee. :T

In was für einer Sprache setzt du deine Version um?
 

exomo

NGBler

Registriert
1 Aug. 2015
Beiträge
129
Meine Version ist in C++ geschrieben. Ich kann meinen Code auch demnächst mal ins git repo einchecken wenn mir jemand das Passwort gibt.
Eventuell lasse ich das eine oder andere Feature auch noch weg, ich bin im Moment beruflich schon genug ausgelastet und habe nicht so viel Motivation in meiner Freizeit auch noch am PC zu sitzen und zu programmieren. Da komme ich nicht so schnell voran.
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
  • Thread Starter Thread Starter
  • #115
Ja, ich würde ebenfalls vorschlagen das wir den Wettbewerb bis 31.12 laufen lassen. Es gibt doch ein paar interessante Ideen und vl. findet der ein oder andere in der Weihnachtszeit die Muse was zu machen ;)
 

BurnerR

Bot #0384479

Registriert
20 Juli 2013
Beiträge
5.507
Ich klinke mich übrgens ein mit einer Java Version von Snake :). Als 2D Library habe ich Slick2D hergenommen.
Schwerpunkt lege ich allerdings in erster Linie auf das Programmdesign also ist nichts optisch schönes zu erwarten :D.
Bis zum 8. würde ich fertig werden aber bis Ende des Jahres wäre genug Zeit für mehr features und ausführliches refactoring.

Ich lads die tage mal auf github hoch, sobald sich da was bewegt :D.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.757
Ort
in der Zukunft
Somit hat der MOD ja gesprochen - Wettbewerb wird bis Ende des Jahres verlänger!
Sagt es allen die es hören wollen *fg*
 

Timon3

Team ModMii

Registriert
17 Juli 2013
Beiträge
499
@BurnerR: Verdammt, klaust du mir den Ansatz :D auf Java und Slick2D basiert auch meine Version. Ist noch nicht weit, aber durch die Verlängerung werde ich sicherlich Zeit finden für Weiterentwicklung.
 

BurnerR

Bot #0384479

Registriert
20 Juli 2013
Beiträge
5.507
Achso, hm. Also Java war ne Bauchentscheidung, auf Slick2D kam ich tatsächlich über dich :P. Hat ne schön simple API, ging alles sehr schnell damit.
Ich seh da aber kein Problem, auch generell nicht beim gegenseitigen 'klauen' guter Ideen solange man das transparent macht.
Ich habe deins jedenfalls noch nicht angeschaut, falls du schon was oben hast :D.
 

Timon3

Team ModMii

Registriert
17 Juli 2013
Beiträge
499
@BurnerR: Bisher hab ich noch nichts hochgeladen, hat mir alles noch nicht gut genug gefallen. Ich finds aber auch ganz spannend, wenn wir beide mit der selben Bibliothek entwickeln, da kann man dann tatsächlich unterschiedliche Ansätze verfolgen und sehen, wie sich möglicherweise unterschiedliche Grundentscheidungen weiterentwickeln ;)
 
Oben