Blueman - Jump&Run Engine

Übersicht Sonstiges Projekte

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

SpionAtom

Betreff: Blueman - Jump&Run Engine

BeitragDi, Jan 30, 2007 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
So, da das Spiel läuft und vorläufige Grafiken existieren, erlaube ich mir diesen Projekt-Eintrag.

user posted image

Download

Was kann das Spiel?
Man kann bisher rumlaufen mit den Pfeiltasten, Springen mit der Leertaste, einen großen Sprung vollführen, indem man zweimal schnell auf die Leertaste drückt, und man kann sich den Level anschauen. Mit F1 wechselt man in die Debug-sicht, ist aber eher uninteressant.

Was kann das Spiel nicht?
Unter 16bitFarbmodus laufen, gut aussehen. Zudem sind noch keine Gegner im Spiel. Das ganze ähnelt also noch einem Spaziergang. Wird aber noch^^

Aber das tolle an diesem Programm ist, dass man sich ganz einfach selber seine Level gestalten kann. Paint allein reicht aus. Als Beispiel schaue man sich die Datei Level1_pixmap.png.

Edit 4:
Hier noch eine (leider nicht ganz bugfreie) 2 Spielerversion:
http://thomasdecker1.googlepages.com/03.rar
Spieler 1 hat die Cursertasten, Spieler 2 hat WSAD.


Edit 3:
Die Scrollengine ist nun soweit lauffähig. Sie ist jetzt auf dem Stand der Nichtscrollversion. Münzen und Plattformen sind dabei.

Dabei gibts (die nichtkompilierte Fassung des) Makelevel. Diesen startet man mit einer Pixmap und er spuckt eine Pixmap ohne Objekte aus (allerdings als bmp, muss man noch immer in png konvertieren). Die Objekte stehen einzeln in einer neuen Textdatei. Das ganze ist dafür da, damit das Laden am Anfang eines Levels zügiger voran geht.

Edit 2:
Die Plattformen sind nun da. Es gibt horizontal und vertikal fahrende. Und mit der Farbe grün lässt sich eine Plattform leicht ins Spiel einbauen (siehe Beispielwalkmap).
Jetzt gibts schon 77 Sterne zu sammeln. (Aber auch das kann jeder editieren, wie er lustig ist)
Außerdem hab ich den Himmel farblich umgestaltet.

Edit:
Es werden jetzt 60 Bilder pro Sekunde erzwungen. Man kann nun Münzen aufsammeln. Um eine Münze auf der Karte zu platzieren, muss man auf der Walkmap einen gelben Punkt setzen.
Auf der Demokarte sind 50 Münzen zu sammeln


Ich freu mich weiterhin über Kommentare Rolling Eyes
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
  • Zuletzt bearbeitet von SpionAtom am Mo, Nov 12, 2007 20:35, insgesamt 5-mal bearbeitet

Shogo

BeitragDo, Feb 01, 2007 10:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

sitze gerade im I-cafe und habe deswegen nicht viel Zeit zum Testen.
Was mir aufgefallen ist das er manchmal 2, 3 Pixel in der Luft laeuft.
Und mach denn hintergrund in ner anderen Farbe, dieses Rosa/Violet macht mich irgendwie agressive. Evil or Very Mad Smile
Wie sieht es eigentlich mit dem Grafikspeicher aus, wenn du groessere Levels machst? Oder auch mal nee groessere Aufloessung

Ansonsten finde ichs ganz gut, ich mag solche Paint grafiken. fehlt aber noch das gewisse etwas, vieleicht wenn noch gener kommen.
Bin mal gespannt was draus wird.

Mfg Shogo

Randall Flagg

BeitragDo, Feb 01, 2007 10:44
Antworten mit Zitat
Benutzer-Profile anzeigen
bei mir kommt n Memory Access Violation

EDIT: Bei mir an der gleichen Stelle wie bei The Programmer
Meine Parodien & Geschichten
  • Zuletzt bearbeitet von Randall Flagg am Do, Feb 01, 2007 10:56, insgesamt einmal bearbeitet

TheProgrammer

BeitragDo, Feb 01, 2007 10:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir kommt auch ein MAV... und zwar hier:

Code: [AUSKLAPPEN]

rgb = ReadPixelFast(x, y, ImageBuffer(pixmap))
aktuelles Projekt: The last day of human being

Abrexxes

BeitragDo, Feb 01, 2007 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir läufts. Schöne Sache.

cu

TheProgrammer

BeitragDo, Feb 01, 2007 11:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt funzt es bei mir auch. Hab einfach die zeile:

Code: [AUSKLAPPEN]
If x < 0 Or y < 0 Or x > xr Or y > yr Then Return -1


durch die:

Code: [AUSKLAPPEN]
If x < 0 Or y < 0 Or x > ImageWidth(pixmap)-1 Or y > ImageHeight(pixmap)-1 Then Return -1


ersetzt. (in Zeile 459)

Mfg
TheProgrammer
aktuelles Projekt: The last day of human being

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Feb 01, 2007 12:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo SpinAtom, ich finde das sich dein Spiel sehr gut spielen lässt. Die Steuerung ist schon sehr gut umgesetzt und der Rest zB die Grafik ist durch die Methode der Images sehr abwechslungsreich gehalten.

Ich habe aber ein kleinen 'Tipp' zu ReadPixelFast:

Der Unterschied zwischen ...Fast und nicht Fast ist, dass bei nicht Fast Blitz automatisch eine Überprüfung vornimmt, ob ein Pixel schon ausserhalb des Bildschirmes ist oder nicht. Das bedeutet: Marc wird sicherlich eine bessere und optimiertere Abfrage spziell für das Problem in Assembler oder C++ geschaffen haben als sowas If x < 0 Or y < 0 Or x > xr Or y > yr Then Return -1 hier selber macht. Lange Rede, kurzer Sinn. Um solche Probleme gleich zu Begin zu unterbinden, würde ich auf eine eigene Kontrolle verzichten und es dann von Blitz selber ausführen zu lassen. Also ReadPixel... Smile

SpionAtom

BeitragDo, Feb 01, 2007 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Endlich mal Comments!

Also fangen wir vorne an. Mir ist auch schon aufgefallen, dass die Figur manchmal leicht in der Luft rum läuft. Das liegt momentan an der niedrigen Auflösung und an der Unfähigkeit Blitzbasics genau rechnen zu können.
Violett und Pink machen euch aggressiv? Dann muss ich wohl doch babyblau und weiß nehmen Razz Vielleicht macht mir auch ein Freund einige Grafiken/Animationen neu.

Zum Thema Speicher: Da bei mir nicht gescrollt wird, wird auch immer nur Levelausschnitt benötigt. Momentan werden zu Beginn des Spiels alle Grafiken geladen. Für jeden Levelausschnitt 1 Hintergrundbild, 1 Vordergrundbild. Die könnte ich aber auch immer dann laden, wenn sie gebraucht werden (nur wird dann die Unterbrechung zwischen den Levelausschnitten auch größer).
Die Walkmap kann kleiner sein, als die benutzte Auflösung (bei mir ist sie 80x50, die Auflösung ist 320x200, also um faktor 4 größer)

Gegner und Mittel, wie man sie bekämpft kommen natürlich auch noch rein. Momentan bastle ich an Plattformen, die immer hin und her fahren. (Schließlich gibts kein gutes JumpRun ohne Plattformen)

Merkwürdig, dass bei einigen das ReadPixelFast so läuft, wie bei mir und bei einigen nicht. Ich werde euren Rat berücksichtigen und es durch ein einfaches ReadPixel austauschen.

Stay tuned for the next update...
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Vulture

BeitragDo, Feb 01, 2007 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Lol ReadPixelFast ist eigenldich sp wie Hectic gesagt hat richtig bloss ein Fehler was jeder macht ist das eine Grafik die zum beispiel 800x600 ist, hat dann eine tatsächliche Auflösung von 799x599. Der Fehler ist einfach und simpel, man muss nur die Größe -1 nehmen schon kommt es zu keine Fehler mehr !

Und der Grund ist warum es bei den anderen geht und bei den einen nicht ist, das die entweder ne alte Grafikkarte haben, oder ältere Grafikkarten Treiber !
Also ist das ding mit if x>0 bla unwichtig ihr dürft nur nicht über die größe 799 und 599 kommen !

Fast das gleiche Probleme/Verarsche ist es bei den Festplatten, oder meint ihr wenn ihr euch ne 80 GB Festplatte kauft habt ihr auch 80 GB ?

MfG
User posted image
Projekte : TerraSE Terranigma - Break Up - Final Round - Survivor Elite - Sequence Basic
  • Zuletzt bearbeitet von Vulture am Sa, Feb 03, 2007 17:12, insgesamt einmal bearbeitet

D2006

Administrator

BeitragDo, Feb 01, 2007 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hat weder etwas mit nem Fehler oder einer Verarsche zu tun.

Bei einer Auflösung von 800x600 geht es nur deshalb bis 799x599, weil man bei 0 anfängt. 0-799 sind 800 Pixel.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Feb 01, 2007 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
?? Eine 800er Auflösung hat auch 800 Pixel in der Reihe, nur begint diese ab 0. Also ist Pixel an der Position 0 bereits das 1. Pixel. Daher ergibt sich XMax=799 sind 800 Pixel...

Naja, das mit PixelFast ist so eine Sache. Wenn man zB eine Schleife hat, wo man Read- oder WritePixel anwendet, kann man im vornerein bestimmen, dass es nicht raus aus dem Bildschirm geht. Da sollte ...PixelFast angewendet werden. Für alles andere, wo man es nicht so einfach 'kontrolieren' kann, sollte auf eine eigene Überprüfung verzichtet werden und dann ...Pixel angewendet werden. Denn, eine jede Überprüfung zusammen mit ...PixelFast ist langsamer oder zumindest nicht schneller, als ganz ohne eigener Überprüfung und dem ...Pixel.

Natürlich sollte auch bei ...Pixel der (Un)LockBuffer eingeschaltet werden, sonst wird es wirklich langsamer.^^

Abrexxes

BeitragDo, Feb 01, 2007 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine normale Colormap mit 8*8 Tiles (oder wenns sein muss 4*4) wäre wesentlich schneller und genauer.

cu

SpionAtom

BeitragDo, Feb 01, 2007 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
So, neue Version ist draußen. Mit Plattformen.

Abrexxes hat Folgendes geschrieben:
Eine normale Colormap mit 8*8 Tiles (oder wenns sein muss 4*4) wäre wesentlich schneller und genauer.

Warum ist die genauer oder schneller?
Es gibt bislang nur einen Kontaktpunkt der Figur (an den Füßen). Und es werden stets höchstens 5 Pixel in einem Durchlauf abgefragt.

Auf Tiles wollte ich ja eh verzichten, weil der Grundgedanke ja war, mit Paint allein seinen Level bauen zu können.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Abrexxes

BeitragDo, Feb 01, 2007 23:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Es wird schneller geladen. Auf meinem alten Laptop dauert das laden glatte 2 Minuten ^^

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Feb 01, 2007 23:42
Antworten mit Zitat
Benutzer-Profile anzeigen
2min!?! Dann würde ich die Konfiguration des Notebooks mal überprüfen. Es sind nicht mal 3MB insgesammt... Aber denoch könnte man es ein bischen kleiner machen. zB mit .png anstelle von .bmp

bmp vs. png (nur Leveldaten berücksichtigt)

1.561.872 Bytes vs. 22.212 Bytes

liegt bei ~ 70:1

Abrexxes

BeitragDo, Feb 01, 2007 23:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hat mit meinem Laptop nichts zu tun. Nur damit das ein armer 366 Mhz mit 64MB anfangen muss Pixel zu sortieren. ^^ Selbst mein 2.6Ghz brauch 6 sekunden (!). Aber das kann man ja später vorberechnen und abspeichern.

btw gute Arbeit. Das hat was.

SpionAtom

BeitragFr, Feb 02, 2007 0:35
Antworten mit Zitat
Benutzer-Profile anzeigen
zwei Minuten Laden?! Das tut mir leid. Erreichst du denn die 60 fps?
Zum Laden kann ich soviel sagen: Es werden alle Hinter/Vordergrund-bilder geladen, sowie die Figuranimation und Münzbilder. Außerdem wird einmal über jeden Pixel der Walkmap (80*50=400pixel) gelaufen, um zu sehen, wo besondere Objekte sind (Münzen, Plattformen).
Wenn ich die Gegner drin habe, dann sind alle essentiellen Sachen vorhanden für ein Jump&Run und ich kann mich auf die Optimierung stürzen.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Abrexxes

BeitragFr, Feb 02, 2007 8:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo das ist kein Problem. Er braucht halt nur so lange die Map aufzubauen. (Es sind 2 "gefühlte" Minuten, um genau zu sein sind es 27 Sekunden) Auf meinem 2.6Ghz Rechner dauert das laden des Levels genau so lang wie das laden eines HalfLife2 Levels (gemessen 6 sekunden) *lol* ^^ Wink

Wieso richtest du das ganze auf diese alte Auflösung aus (320*200)? Hat das einen Grund?

cu

SpionAtom

BeitragFr, Feb 02, 2007 11:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Für einen HL2 Level brauch ich glaub ich noch länger.
Bei meinem Spiel brauche ich aktiviertem Debugger weniger als 2 Sekunden.
Mein Computer: AMD Athlon 64 X2 Dual Core 3800+ 2GHz, 2GB RAM, ATI Radeon X800 Pro (die demnächst mal ersetzt werden muss).
Egal.. Hauptsache, das Spiel selber läuft flüssig.

Warum ich in der kleinen Auflösung meine Grafiken halte? Weil ich den altmodischen Stil mag (,was eine Ausrede ist für: Ich kann nicht so zeichnen und bei 320x200 fällts nicht so auf Laughing )
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Abrexxes

BeitragFr, Feb 02, 2007 11:26
Antworten mit Zitat
Benutzer-Profile anzeigen
SpionAtom hat Folgendes geschrieben:
fällts nicht so auf


öhm...ö.....also.....ok. ^^.

Beim abarbeiten der Map zählt ja nur die CPU Power und da bist du überlegen. Bei HL2 kommt es nur auf den Transfer an. Da ist meine HiEnd IBM Serverplatte wohl schneller. Trotzdem muss man das nachher vorberechnen. Du kannst keinem zumuten für ein 320*200 Game einen DualCore auszupacken damit er es "zügig" zocken kann. Aber egal, mach auf jeden Fall weiter.

cu

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group