[Projekt] Slope

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Antworten
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

[Projekt] Slope

Beitrag von CodingCat »

Hi,

im Rahmen des Sppro.de-Processing.js-1-Woche-Wettbewerbs für ein kleines Minispiel mit maximal 5 sichtbaren primitiven zur selben Zeit auf dem Bildschirm und gezippt in maximal 4K habe auch ich ein kleines Spiel entwickelt. Da ich von JavaScript das letzte mal vor etwa 5 Jahren Gebrauch gemacht hatte, war ich anfangs etwas skeptisch bezüglich erreichbarer Leistung und Funktionalität, allerdings bietet Processing.js hier mit einem recht kleinen Set an Funktionen einen ganz beachtlichen Rahmen, mit dem sich schnell und leicht auch etwas komplexere Projekte umsetzen lassen. Etwas störend ist, dass Processing.js offenbar als RegEx-Parser realisiert wurde, um eine Java-Schnittstelle und somit Kompatibilität zur Processing-Sprache auch in JavaScript vorzutäuscht, was zwar verdammt gut gelingt, jedoch sind dadurch Fehlermeldungen, sofern überhaupt vorhanden, selten hilfreich. Dafür bietet Processing.js aber eine nette Konsole für 1A printf-Debugging. ;)

Allerdings habe ich an diesem Wettbewerb nicht nur teilgenommen, um mal wieder ein Gefühl für die aktuelle Leistungsfähigkeit von JavaScript zu bekommen, sondern auch, weil ich so endlich mal Gelegenheit hatte, selbst ein wenig 2D-Physik zu implementieren. In dieser Sache kam mir, insbesondere bei der Einbeziehung von Drehimpulsen, die großartige Artikelreihe von Chris Hecker zum Thema Physiksimulation sehr gelegen. Problematisch war am Ende vor allem das Auflösen von sich überschneidenden Objekten, Chris Hecker schlägt hier eine Bisektionssuche nach dem ersten Kontaktpunkt in der Zeit vor. Diese konnte ich im Rahmen der Größenbeschränkung leider nicht umfassend und so stabil genug umsetzen, weswegen ich am Ende die Kollisionserkennung semidynamisch um eine Schätzung der Eindringungstiefe und -richtung erweitert und Objektpositionen schlicht entsprechend korrigiert habe.

Steuerung
Rollen / in der Luft ausrichten: Pfeiltasten / AD
Auf dem Boden anschieben: Pfeiltasten / AD
Springen: Pfeiltaste / W / Space

Interaktive Version (erfordert HTML5-Browser mit aktiviertem JavaScript)
... in 4K: http://dl.dropbox.com/u/1973074/livedev ... eFinal.zip (erfordert das Contest-Bibliothekspaket)
... online: http://dl.dropbox.com/u/1973074/livedev ... Final.html

Bilder
screen2.png
screen3.png
screen4.png
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
pUnkOuter
Establishment
Beiträge: 303
Registriert: 15.04.2002, 15:59

Re: [Projekt] Slope

Beitrag von pUnkOuter »

Ganz lustig. Allerdings finde ich es ein bisschen mies, dass Schneebälle direkt aus dem Off auf den Schlitten fallen können, ohne dass man die Chance hat, auszuweichen. Aber die Physik ist nett gemacht und es spielt sich angenehm rasant.
Ein Zeiger ins Blaue ist wie ein Wegweiser nach <SEGFAULT>. Wenn du denkst, mein Name hat was mit abgefuckter Kleidung und bunten Haaren zu tun, dann kehr besser um.
DarkDragon
Beiträge: 3
Registriert: 01.07.2004, 17:19
Wohnort: Baden Württemberg
Kontaktdaten:

Re: [Projekt] Slope

Beitrag von DarkDragon »

Hallo,

Das ist ja cool. Ich wusste garnicht, dass es Processing auch für JavaScript gibt. Vielen Dank für die Information ;-) .
Zum Spiel selbst: mir erschließt sich nicht ganz der Sinn dahinter. Immerhin scheint es wohl Zufall zu sein wann das Spiel zuende ist. Und die Schneebälle fallen bei mir auch immer direkt auf meinen Schlitten, ohne Vorwarnung.
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [Projekt] Slope

Beitrag von Despotist »

Gefällt mir auch sehr gut.
Was mir aufgefallen ist:
Die Kamera ist schlecht positioniert. Manchmal springt der "Spieler" oben aus dem Blickfeld und meist zeigt sie zu viel von dem Grundfiguren (wo spieler drauf rutscht) an und zu wenig vom eigentlichen Geschehen (spiel sich meist in oberem Drittel ab). Evtl könntest du die Kamera einfach auf den Spieler zentrieren?
Das Spielfeld ist generell ziemlich klein für diese Geschwindigkeiten.
Ich respawne manchmal (deute das als Tod) ohne ersichtlichen Grund. Der Schnellball ist noch zwei Zentimeter weg und ich könnte ihm durch springen ausweichen oder ich rutsche in ein Hindernis wo ich aber auch vielleicht noch rauskommen könnte. Es wirkt als würde ein zukünftiger extrapolierter Zustand für die Bestimmung des Respawns benutzt werden anstatt der aktuelle.
Wie werden die Respawnpunkte bestimmt? Ist da auch sichergestellt dass diese günstig liegen und der Spieler genug Geschwindigkeit hat um weiter zu kommen?
Ist der Level designt, wird er zufällig berechnet oder werden fertige Elemente einfach platziert?
Gibt es ein Ziel oder rutscht man in alle Ewigkeit?
Sound wäre hier sehr wichtig als Feedback das man aufschlägt oder springt und auch den Schneeball hört.
Ansonsten sehr gute Arbeit und eine nette Idee wenn man nur ein paar Formen zeichnen kann.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: [Projekt] Slope

Beitrag von CodingCat »

Das Spiel ist immer nach derselben festen Streckenlänge zu Ende. Der Level ist zufallsgeneriert und bei jedem Spiel anders, entsprechend auch nicht immer gleich schwer. Sound passt in die 4 KB nicht mehr rein. Die Kameraführung habe ich noch etwas verbessert, und die Schneebälle spawnen inzwischen auch nicht mehr so ungeschickt, dass man überhaupt keine Chance hat, in der aktuellen Fassung helfen sie sogar recht häufig weiter, indem sie von rechts Schubimpulse übertragen. Danke für die positive und konstruktive Rückmeldung, ich denke, der Spielspaß hat sich jetzt nochmal beträchtlich erhöht. ;)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [Projekt] Slope

Beitrag von Despotist »

Habs nochmal probiert. Der Respawn erfolgt aber immer noch ohne erkennbaren Grund. Oder hängt das mit der "Health" zusammen? Die sinkt auch recht schnell einfach nur beim springen.

Durch drücken von "a" konnte ich eine leichte Neigung hoch "fahren". Ist das so beabsichtigt?

Durch die Schneebälle bekommt man wirklich ganz schön bums drauf. Mich hat es mal ziemlich weit zurückkatapultiert genau in einen Abgrund rein. Empfand ich aber nicht als schlimm.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: [Projekt] Slope

Beitrag von CodingCat »

Despotist hat geschrieben:Oder hängt das mit der "Health" zusammen? Die sinkt auch recht schnell einfach nur beim springen.
Naja, wenn du nach jedem Sprung kopfüber im Schnee landest, dann sinkt die natürlich recht schnell. Du solltest vielleicht mal deinen Schlitten in der Luft mit den Pfeiltasten gerade halten. ;-)
Despotist hat geschrieben:Durch drücken von "a" konnte ich eine leichte Neigung hoch "fahren". Ist das so beabsichtigt?
Ja das ist beabsichtigt, wenn man nicht anschieben könnte (geht ebenfalls mit Pfeiltasten in beide Richtungen), wären die meisten Levels spätestens nach dem ersten Respawn nicht mehr lösbar.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [Projekt] Slope

Beitrag von Despotist »

CodingCat hat geschrieben: Naja, wenn du nach jedem Sprung kopfüber im Schnee landest, dann sinkt die natürlich recht schnell. Du solltest vielleicht mal deinen Schlitten in der Luft mit den Pfeiltasten gerade halten.
Einen Schlitten hab ich in der Spielfigur nicht erkannt. Muss mir wohl mal ne Brille zulegen ;). Ich habe immer schöne Piruetten in der Luft gedreht weil ich dachte es wäre egal wie rum man fährt. Jetzt wird es klarer ;). Also alles bestens.
Antworten