Portierungs-Idee: A Ball-Slapping Good Time

Es gibt 38 Antworten in diesem Thema, welches 8.149 mal aufgerufen wurde. Der letzte Beitrag (13. Juni 2016 um 07:15) ist von ZeHa.

  • Hallo,

    dieses kleine aber feine Spiel auf der OUYA Konsole macht einen Heidenspass, vielleicht hat ja jemand Lust, das Spiel zu portieren? Ich selber habe es leider nicht so mit Sinus-Bewegungen usw, daher weiss ich nicht, ob ich sowas hinkriegen wuerde, aber falls jemand auf der Suche nach einer Idee ist, was er sich als naechstes Projekt vornehmen soll, dann koennte er sich ja diesem Projekt annehmen ;)

    Bitte melde dich an, um dieses Medienelement zu sehen.

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • (...man sollte vielleicht dazu sagen, dass es sich um ein 2-Spieler-Spiel handelt und der Typ im Video nur alleine zockt :whistling: )

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Mockup wie das ganze auf dem C64 aussehen koennte...

    Bitte melde dich an, um diesen Anhang zu sehen.

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Haha wie cool..Muss ich morgen mal ausprobieren....

    Ich muss gestehen,das meine OUYA´s viel zu kurz kommen und zu 98% als XMBC Skalve missbraucht werden

  • Ich selber habe es leider nicht so mit Sinus-Bewegungen

    Könnte man vielleicht bei "Pi R Squared" 'entleihen'...

    dann koennte er sich ja diesem Projekt annehmen

    Ich würde es dann aber in "Schädelspalter" umbenennen :):haue::LOL ...

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?

  • Mir ist leider noch eingefallen daß es mit der Steuerung nicht ganz hinhauen könnte, zumindest das Bewegen des kleinen Balls dürfte unmöglich sein. Auf der anderen Seite gibt es im Spiel einen Modus, in dem das eh nicht möglich ist, und diesen finde ich eigentlich auch am besten. Aber somit ließen sich die anderen Modi halt nicht wirklich umsetzen.

    Es sei denn, man überlegt sich wirklich eine sehr ausgefeilte Steuerung, z.B. Springen nicht auf Knopfdruck sondern auf Joystick-nach-unten und dann loslassen, dann ließe sich der kleine Ball mit Knopfdruck und links/rechts bewegen. Ich bezweifle aber daß das gut ist :D

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Kurze Beschreibung der Steuerung für diejenigen, die das Spiel nicht ausprobieren können:

    Im Original bewegt man den großen Ball mit Links und Rechts. Der kleine fährt natürlich entsprechend mit, bleibt aber relativ gesehen an der gleichen Stelle.

    Springen tut man per Feuerknopf; allerdings lädt man quasi die Sprungkraft auf, indem man entsprechend lange auf dem Feuerknopf bleibt. Erst sobald man losläßt, springt der Ball mit der entsprechenden Kraft nach oben. Ein wesentlicher Punkt ist jedoch, daß nach ca. 1-2 Sekunden, also sobald die Sprungkraft beim Maximalwert liegt, der Ball von alleine springt. Hat man den Feuerknopf also einmal gedrückt gibt es kein zurück mehr, der Ball wird auf jeden Fall springen. Das ist fies aber trägt zum Spielprinzip bei.

    Schlußendlich läßt sich je nach Spielmodus noch der kleine Ball mit den Schultertasten des Controllers nach links und rechts bewegen. Dies dürfte wie gesagt auf dem C64 unmöglich werden.

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Könnte man vielleicht bei "Pi R Squared" 'entleihen'...


    Was halt auf jeden Fall schwierig sein dürfte ist daß man sehr unterschiedlich hoch springen kann, im Extremfall bis fast an den oberen Bildschirmrand, d.h. man braucht wahrscheinlich sehr viele Sinus-Wertetabellen je nach Sprunghöhe. Auf der anderen Seite ist das Spiel ansonsten ja nicht sehr umfangreich, dürfte also vielleicht gar nicht so schlimm sein.

    Vielleicht einfach für die Sprungkraft einen Wert zwischen 1 und sagen wir mal 128 wählen (entspräche dann der Sprunghöhe in Pixeln), diesen dann noch zB durch 4 oder 8 teilen und dann als Index verwenden um eine der 16 oder 32 vorbereiten Sinus-Wertetabellen zu wählen?

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Wirkt wie Daumen-Catchen etwas besser aufgezogen. =)

    12345678901234567890123456789012345678901234567890
    12345678901234567890123456789012345678901234567890
    12345678901234567890123456789012345678901234567890

  • d.h. man braucht wahrscheinlich sehr viele Sinus-Wertetabellen je nach Sprunghöhe

    Warum? Das einzige im Video wo ich Bedarf für Sinus/Cosinus sehe ist die Position des kleinen Balls relativ zum grossen, aber die ändert sich nur wenn der Spieler der kleinen Ball umpositioniert - bei Bewegungen und auch Sprüngen des grossen Balls bleibt der kleine relativ dazu am gleiche Platz.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Naja aber auch der eigentliche Sprung duerfte ja in einer Sinus- oder sonstigen Kurve passieren. Oder Parabel oder keine Ahnung. Bin nicht so der Mathe-Freak, aber er muss ja schnell aufsteigen, nach oben hin langsamer werden, bis er in der Luft stillsteht und anschliessend wieder faellt. Und da er sehr unterschiedlich hoch springen kann (je nach Sprungstaerke, die man ja ueber die Laenge des gedrueckten Feuerknopfes bestimmt), braucht man ja entsprechend viele unterschiedliche Kurven (und ich glaube nicht dass man die Werte alle on-the-fly berechnen sollte, da es ja auf dem 6502 keine Multiplikationen usw gibt).

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Naja aber auch der eigentliche Sprung duerfte ja in einer Sinus- oder sonstigen Kurve passieren.

    Sinus-förmige Sprünge sind sehr, sehr falsch.

    Zitat

    Oder Parabel oder keine Ahnung.

    Parabel ist das richtige Stichwort, aber für die braucht man nicht unbedingt eine Tabelle: Man wählt eine Startgeschwindigkeit in Y-Richtung - die bei Sprüngen natürlich sinnvollerweise nach oben zeigen sollte - und verschiebt in jedem Frame das Objekt um die aktuelle Y-Geschwindigkeit bzw. weniger falls es irgendwo anstösst. Ausserdem wird in jedem Frame eine Konstante von dieser Geschwindigkeit abgezogen, um die Schwerkraft zu simulieren - dass die Geschwindigkeit dabei irgendwann negativ wird ist ausdrücklich erwünscht, das ist die Phase in der das Objekt wieder herunterfällt. Mathematisch betrachtet ergibt das eine diskretisierte Parabel und physikalisch betrachtet ist das (Luftreibung und so mal ignorierend) genau das richtige Modell für ein in die Höhe springendes Objekt.

    Die Höhe des Sprungs bestimmt sich hierbei alleine aus der Startgeschwindigkeit, der in jedem Frame abgezogene Wert bleibt unabhängig davon konstant - schliesslich ändert sich die Schwerkraft nicht in Abhängigkeit der Stärke des Absprungs. Falls eine Schwerkraft von einem Pixel pro Frame pro Frame zu stark sein sollte müsste man ggfs. zu Fixkommazahlen greifen, aber mit je 8 Bit vor und hinter dem Komma dürfte das genau und flott genug zu berechnen sein.

    Zitat

    Und da er sehr unterschiedlich hoch springen kann (je nach Sprungstaerke, die man ja ueber die Laenge des gedrueckten Feuerknopfes bestimmt), braucht man ja entsprechend viele unterschiedliche Kurven (und ich glaube nicht dass man die Werte alle on-the-fly berechnen sollte, da es ja auf dem 6502 keine Multiplikationen usw gibt).

    Die Startgeschwindigkeit könnte z.B. von der Anzahl der Frames abhängen, die der Joystick-Knopf gedrückt wurde.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Parabel ist richtig und das ist Physik kein Mathe :wink:
    Tatsaechlich sind dann unterschiedliche Sprunghoehen sehr einfach zu realisieren.
    Man gibt dem Ball einen 'Impuls' nach oben, gegen den dann beharrlich die Schwerkraft arbeitet und irgendwann ueberwiegt (und dann noch weiter'arbeitet').
    Es ist also EINE 'Formel' egal wie hoch.
    Davon abgesehen, moechte ich dazu ermuntern keine Spiele zu portieren, sondern eigene zu entwerfen :wink:

    Edit: Unseen war schneller

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Hmm, solch einen Sprung habe ich auch mal programmiert, fand den aber irgendwie auch "falsch", daher dachte ich immer, Sinus sei die korrekte Loesung. Aber dann ist es ja wirklich gar nicht so schwer. Die Idee mit der Anzahl Frames, wie lange der Joystick gedrueckt wurde, hatte ich auch, ich denke das waere die einfachste Moeglichkeit.

    @ enthusi: Ich bin persoenlich auch fuers Eigene-Spiele-machen, aber manche sind einfach so cool, dass es schade ist, dass es die nicht auch auf der geliebten Plattform gibt ;) und dieses hier ist so lustig und nett gemacht und obendrein auch noch recht simpel, dass es halt vielleicht eine coole Idee waere, das zu portieren. Zumal man auch bedenken muss, dass es viele Programmierer gibt, die zwar gut programmieren koennen, aber keine eigenen Ideen haben oder keine eigenen Grafiken usw entwerfen koennen - fuer so jemanden waere solch ein Projekt vielleicht auch was.

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Hier schon mal die Sprites ;)

  • Hier hatte ich das recht einfach implementiert mit der Beschleunigung:
    Bitte melde dich an, um diesen Link zu sehen.
    Wirkt echt auf mich.
    Man braucht nur einen Code der darauf achtet dass man auch AUF dem Boden landet und nicht reinrast...

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • @ The Real Wanderer: Haha sehr cool :) hast Du die Animations-Phasen alle von Hand gezeichnet? Oder mit einem Tool rotiert?
    Btw ich wuerde wenn dann das grosse Sprite nehmen und fuer den grossen Ball einfach gezoomt darstellen (dann entspricht es auch den Groessenverhaeltnissen in meinem Mockup-Screenshot)

    @ enthusi: Werde ich mir nachher gleich mal angucken :thumbup:

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • hast Du die Animations-Phasen alle von Hand gezeichnet? Oder mit einem Tool rotiert?

    Das erste Gesicht ist von Hand gezeichnet. Spritepad hat eine Rotationsfunktion. Die funktioniert soweit ganz okay, aber trotzdem ist noch etwas Handarbeit (und H/V Spiegeln) dabei. ;)

    Wegen der Größe.... hmmm... Ich denke, das Original hat (auf C64 Hires bezogen) ca. 37 Pixel pro grossem Ball. Dein Mockup ca. 46 Pixel und meine Sprites 24 Pixel.
    Wenn ich die Sprites in X und Y Richtung vergrößere, bin ich bei 48 Pixel (also wie du schon sagst, in etwas wie dein Mockup) aber die Auflösung ist dann etwas grob.
    Wäre eine größeres Spielfeld bzw. mehr Platz denn ein Problem?

  • Ich weiss nicht, wie exakt das sein muss, um noch gleich viel Spass zu machen. Ich persoenlich finde mein Mockup von den Groessenverhaeltnissen ganz gut, aber jetzt wo Du es sagst, sehe ich auch, dass die Baelle dort sogar etwas groesser sind als im Original. Muesste man vielleicht auch einfach mal ausprobieren, was besser passt...

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Schlußendlich läßt sich je nach Spielmodus noch der kleine Ball mit den Schultertasten des Controllers nach links und rechts bewegen. Dies dürfte wie gesagt auf dem C64 unmöglich werden.

    Joystick hoch/runter ist doch frei, oder wird das im Spiel noch irgendwann benutzt? Sonst könnte man das ja benutzten (also die Diagonalen davon).

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?