![]() |
Balanced das Spiel für Starke Nerven und Starke Graphikkarte
!! ACHTUNG !!
Balanced2 ist nun Verfügbar, den Link zum Thema gibts ![]() Hallo alle miteinander, in den Letzten 9 Wochen habe ich ja des öfteren mal wieder ein paar fragen zur OpenGL Programmierung gestellt. Hier ist nun das Resultat meiner Arbeit. Zugegeben noch lange nicht fertig. Aber die Richtung ist durchaus erkennbar. Und Spass macht es schon lange mein Spiel zu spielen. Worum es Geht ? Jeder der Marble Madness kennt weis sofort worum es hier geht. Für alle anderen : Im Spiel hat der Spieler 1 Kugel diese kann 3 verschiedene Materialien annehmen. Je nach Material gibt es unterschiedliche Eigenschaften der Kugel. Ziel des Spieles ist es mit dieser zu einem FINISH Punkt zu gelangen. Wie das geschieht ist dabei dem Spieler überlassen. Einzige Bedingung, man mus alle Checkpoints besuchen. Das im Kurzen. Für alle die nur diesen Post lesen und das File dann gleich laden hier noch die Steuerung: Pfeiltasten = Bewegung der Kugel Space = Rauszoomen STRG + K = Selfkill SHIFT + Pfeiltasten ( oder mit ASDW ) = Kamera Drehen Was dieses Spiel so besonders macht ist der Leveleditor !!! Ihr könnt also nach herzenslust neue Levels erstellen und spielen... Ich hoffe sogar das ihr viele neue Levels erstellt und mir diese dann zusendet, mit den Besten Levels baue ich dann eine Spielschrittkette ( zumindest Hoffe ich das es genug werden das ich das auch wirklich machen kann). Wer Ideen , Fragen , Kritik , Wünsche oder BUGS loswerden will der soll sich mal melden. Ich versuche dann mein bestes ;) Ach fast hätte ich den Link vergessen ![]() ![]() ![]() ![]() euer Corpsman [edit] anscheinend darf man anwendugnen nur direkt verlinken, also hab ich das mal gemacht. [edit2] Erweiterungen für die Steuerung nachgetragen. [edit3] Link für die Makros mit reingemacht. [edit4] Aufgrund von änderungen auf meiner HP musten die Links aktualisiert werden [edit5] Level Download Link entfernt, die Levels sind ab sofort nur noch über ![]() [edit6] Links Aktualisiert |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Cooles Game!!! Weiter so!!!
Mfg Tobi |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Schick ! :thumb:
Nur hätte ich gerne, dass man nicht nur in 90° Winkeln rotieren kann ;) |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
thx.
@ jfheins Eigentlich reicht es sehr gut wenn man nur die 90 Grad drehnungen zuläst. Die drehung der Camera um kleinere schritte ist auch nicht ganz so schwer siehe Editor. Allerdings ist die Berechnung des Richtungsvektors mit dem ihr dann die Kugel anschubsen müstet deutlich komplizierter. Bei den Spielen die mir Modell gestanden haben gabs wenn überhaupt auch nur das 90° drehen. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Cooles Game!
grz zer00 |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Cooles Spiel!
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
die Berechnung ist simpel.
Jedoch das Spiel so frei spielen zu können ist zwecklos. Man spielt eh nur in 90° Schritten. Alles andere ist Spielerei :D |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
@dezipaitor
Du hast den Nagel getroffen ;) |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Irgendwie kann ich die Kugel mit den Pfeiltasten nicht bewegen.
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
@luckie
Das ist merkwürdig. Meine Hauptanwendung ist nonVCL Programmiert und nutzt ein Boolean Array zum merken ob die Tasten gedrückt sind oder nicht. das geschieht folgendermasen:
Delphi-Quellcode:
Die Routine die das dann auswertet:
Function WndProc(hWnd: HWND; // Handle okna
message: UINT; // Zpráva pro okno wParam: WPARAM; // Doplòkové informace lParam: LPARAM): // Doplòkové informace LRESULT; stdcall; .. begin .. Case message Of WM_KEYDOWN: Begin keys[wParam] := TRUE; // Oznámí to programu .. end; WM_KEYUP: Begin keys[wParam] := FALSE; // Oznámí to programu .. end; .. end;
Delphi-Quellcode:
Ich weis der Code sieht nicht besonders schön aus. Das liegt daran das ich keine Ahnung von NONVCL Programmierung habe.
// SDLK_Left:
If Keys[37] And Not Keys[16] Then Begin Case CameraRot Of 0: playerdz := PlayerForce; 1: playerdx := -PlayerForce; 2: playerdz := -PlayerForce; 3: playerdx := PlayerForce; End; End; If Keys[37] And Keys[16] Then Begin Keys[37] := false; If ReverseCamera Then CameraRot := (CameraRot + 3) Mod 4 // Zoom und CameraRot sind in BalacedObjects deklariert , da sont Tplayer nicht darauf zugreifen kann. Else CameraRot := (CameraRot + 1) Mod 4; // Zoom und CameraRot sind in BalacedObjects deklariert , da sont Tplayer nicht darauf zugreifen kann. End; // SDLK_Right: If Keys[39] And Not Keys[16] Then Begin Case CameraRot Of 0: playerdz := -PlayerForce; 1: playerdx := PlayerForce; 2: playerdz := PlayerForce; 3: playerdx := -PlayerForce; End; End; // 180° drehung If Keys[38] And Keys[16] Then Begin keys[38] := false; CameraRot := (CameraRot + 2) Mod 4; End; // 180° drehung If Keys[40] And Keys[16] Then Begin keys[40] := false; CameraRot := (CameraRot + 2) Mod 4; End; // Camera Drehen If Keys[39] And Keys[16] Then Begin Keys[39] := false; If ReverseCamera Then CameraRot := (CameraRot + 1) Mod 4 // Zoom und CameraRot sind in BalacedObjects deklariert , da sont Tplayer nicht darauf zugreifen kann. Else CameraRot := (CameraRot + 3) Mod 4; // Zoom und CameraRot sind in BalacedObjects deklariert , da sont Tplayer nicht darauf zugreifen kann. End; Aber bei mir hat es immer wunderbar getan. Vielleicht erkennst du warum es bei dir nicht geht. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Liste der Anhänge anzeigen (Anzahl: 1)
Probiert mal dieses angehängte Level
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Unmöglich :shock:
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
@EDatabaseError
Ich hoffe doch du meinst dezipators level ? es ist ein wenig heftig da es seeehr viel fps zieht, bei mir liefs in low detail unter 20 fps. Das Problem an meinem Game ist das die Zeichenroutine dann nicht mehr der Physik hinterherkommt. Was ein echtes Problem ist. Da man dann nicht mehr sehen kann warum das spiel gewisse dinge tut. Ach bevor gefragt wird. Die physik wird nie Langsammer, der Code der das macht skalliert die Zeit mit, und deshalb läuft die Physik immer gleich schnell. Theoretisch könnte ich diesen Effekt aufheben. Aber dezipaitors level soll eigentlich nur die Grenzen des Games finden, und ich denke mit weit über 6000 Elementen hat es das leider geschafft ;) |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
ich habs auch nur mit 16fps gespielt. Es ist möglich, besonders da es viele Leben gibt :D
Hab auch dieses Level ohne Extraleben - das ist wirklich schwer, aber spielbar sobald man mehr als 25fps hat, was nur mit Highend Rechner zu schaffen sein wird, wenn Corpsman nicht doch noch eine Codeoptimierung macht. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Sehr schönes Game um sich die FInger zu brechen :D
Vielleicht wäre es besser die Kameraperspektiven auf WASD zu legen, finde es etwas blöde mit rollender Kugel quasi die Cam mit den gleichen Tasten umzuschalten. Vielleicht wäre eine situationsabhängige automatische Cam ja realisierbar. Sprich geht es lange in eine Richtung -> umschalten. Dabei wird die Richtung der aktuell gedrückten Taste beibehalten. Sprich ich drücke nach rechts, Kugel rollt nach rechts -> Eingine erkennt geht lange nach rechts, schaltet cam um 90 Grad um -> Kugel rollt weiterhin nach oben (ehem. rechts) obwohl ich nach rechts noch gedrückt halte. Erst wenn ich den rechten Pfeil los lasse, gilt die neue Tastenbelegung. Gab einige Spiele die nach diesem Prinziep verfahren sind (und es gab einige wo die Figur dann einen Haken schlug, sehr ärgerlich). Wäre vielleicht ne Idee, ansonsten supi Spiel :thumb: :thumb: :thumb: |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
bow man wie lang ist denn dieses eine Level !?! isch bin nach 30minuten verreckt! :pale:
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Cool, bin gerade an meinem 3. Versuch an Dezis Level.
Wünscht mir Glück ;) Gruß, Max |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
@Vjay
Super so liebe ich das Kritik und verbesserungsvorschlag. Also das ASDW werde ich einbauen und sobald es tut auch hochladen. Die sache mit der "Inteligenten" Kamera finde ich ehrlich gesagt sehr umständlich, da ich als user das nicht hinbekommen würde, zugegebenermasen. Ein weiterer wunsch war es das ich eine Zeitmessung einbaue die allen sagt wie lange das durchspielen gedauert hat. Das ist schon eingebaut. Leider hat sich auser dezi noch keiner bei mir mit Levels gemeldet und so bleiben uns nur die 4 Levels aus dem Levelpack ( die übrigens auch alle von dezi sind ). |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
So ich bins nochmal,
habe die ASDW als Camerasteuerung eingebaut. Ver 0.08 ist damit online. Ich werde den ersten Post auch noch mal editieren das das dann jeder dort auch nochmal lesen kann ;) |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Zitat:
An welcher Stelle bist du denn? |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Dabei wird die Richtung der aktuell gedrückten Taste beibehalten. Sprich ich drücke nach rechts, Kugel rollt nach rechts -> Eingine erkennt geht lange nach rechts, schaltet cam um 90 Grad um -> Kugel rollt weiterhin nach oben (ehem. rechts) obwohl ich nach rechts noch gedrückt halte. Erst wenn ich den rechten Pfeil los lasse, gilt die neue Tastenbelegung.[/quote] Hmmm, da rutscht man auf 'nem schmalen Steg mal kurz von der Taste, wärend vorher automatisch gedreht wurde und schwupps fällt man runter ._. Ach ja, irgendwie fehlte da was :gruebel: (siehe Bild) |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Zitat:
Ansonsten: :thumb: |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Zitat:
ich war nach einem Checkpoint wo irgentwas von 20% geschrieben wurde. Dann ging es in eine Steilkurve und tot. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
ja das ist hart.
Aber da kommen auch echt geile Strecken vor. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
ja loupings....... ist voll ok aber wie weit wäre es von da noch gewesen?
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Zitat:
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn das Spiel einfach sich beendet, dann ist meist die Grafikkarte
überhitzt. Aber das ist natürlich nur eine Möglichkeit. Anbei ein weiteres Level, dass etwas flotter läuft und auch einfacher ist. ADDED: Habe nochmal das Level gespielt und in 7:21 geschafft mit neuem Rekord von über 8000. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
@ Michael Habbe
Ich bin ja gewillt eure fehlerbeschriebungen zu versthen, aber welches level meinst du denn ? @ himitsu Cooler Screenshot wie du das geschafft hast ist mir absolut unklar, existieren die Dateien bk.jpg dn.jpg fr.jpg lf.jpg rt.jpg in deinem Texture verzeichnis ? Wenn ja welches Level war das das du da gespielt hast ? Ich kann Fehler nur finden , und beheben wenn ich sie bei mir Reproduzieren kann. Und auf meinem System Win98 FE mit Gforce 4600 ti läuft es tadellos. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Zitat:
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Liste der Anhänge anzeigen (Anzahl: 1)
Es ist wieder passiert, diesmal aber in dem neuen Level. Kurz vorher habe ich einen Screenshot wegen einer fehlenden Textur gemacht.
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Liste der Anhänge anzeigen (Anzahl: 3)
Bei mir sind anscheinend die Fehler nur in Level 2.
Einfach verschwunden war das Programm in dem linken Abzweig kurz vorm Ziel ... aber auch nur 1-mal in 3 Versuchen. Zitat:
fehlende Textur: (Lev2.JPG) Level 2 linke Wand hab das auch in der neusten Version und wie ich grad bemerkte ist das auch von Anfang an die verschwindet also nicht irgendwann erst Bild 2 und 3: diese Fan's scheinen überall durch ... manchmal sieht man garnichts, wenn der halbe Bildschirm voll damit ist, obwohl die meißten eigentlich hinter "Wänden" sind. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Zitat:
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Wirklich ein Klasse Game.
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Also ich habe mich nochmal hingesetzt und versucht eire Fehler nech zu vollziehen.
Die Skybox ist bei mir allerdings immer da wieso das bei euch nicht der Fall ist ist mir schleierhaft. Allerdings könntet ihr mir mal euer Betriebsystem nennen dann kann ich es da mal versuchen. Mein Programm stürtzt tatsächlich ab, das konnte ich auch feststellen , leider. Da ich es immer über den Compiler Zpocke gabs da bei mir ein CPU fenster . Habe F9 gedrückt und es ging problemlos weiter. Woran der Fehler liegen soll weis ich aber leider nicht, einzige vermutung das OpenGL vielleich irgendwann Fehler erzeugt wenn man viele sich schneidende Kanten hat. Das die Fans so durchscheinen ist mir bewusst. Das liegt daran das ich nicht weis wie man Transparente Bilder malt. bitte vergesst nicht das ich die OpenGL Programmeirung erst mit diesem Spiel gelernt habe. Da ich aber offen für verbesserungen bin , poste ich euch mal den Orginal Quellcode der die Fans rendert, zumindest ist das der Teild er die Paritkel zeichnet.
Delphi-Quellcode:
ich hoffe es ist verständlich, wer genau hinsieht merkt das es mehr oder weniger ein Sample Code von nehe.gamedev.net ist.
gltranslatef(fposition.x + 0.5, fposition.y + 1, fposition.z + 0.5);
glShadeModel(GL_SMOOTH); // Povolí jemné stínování glClearColor(0.0, 0.0, 0.0, 0.0); // Èerné pozadí glClearDepth(1.0); // Nastavení hloubkového bufferu glDisable(GL_DEPTH_TEST); // Vypne hloubkové testování glEnable(GL_BLEND); // Enable Blending glBindTexture(GL_TEXTURE_2D, FFireTexture); // Vybere texturu glBlendFunc(GL_SRC_ALPHA, GL_ONE); // Type Of Blending To Perform glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations glHint(GL_POINT_SMOOTH_HINT, GL_NICEST); // Really Nice Point Smoothing inc(ffpscount); For i := 0 To high(fparticles) Do Begin x := fparticles[i].x; // x pozice y := fparticles[i].y; // y pozice z := fparticles[i].z; // z pozice // Setzen des Alpha Kanals // glColor4f(fparticles[i].r, fparticles[i].g, fparticles[i].b, fparticles[i].life); glColor3f(fparticles[i].r, fparticles[i].g, fparticles[i].b {, fparticles[i].life}); // Wir malen jedes Paticel 2 Mal damit wir es bei Drehungen auch sehen. glBegin(GL_TRIANGLE_STRIP); glTexCoord2d(1, 1); glVertex3f(x + 0.1, y + 0.1, z); glTexCoord2d(0, 1); glVertex3f(x - 0.1, y + 0.1, z); glTexCoord2d(1, 0); glVertex3f(x + 0.1, y - 0.1, z); glTexCoord2d(0, 0); glVertex3f(x - 0.1, y - 0.1, z); glEnd; glBegin(GL_TRIANGLE_STRIP); glTexCoord2d(1, 1); glVertex3f(x, y + 0.1, z + 0.1); glTexCoord2d(0, 1); glVertex3f(x, y - 0.1, z + 0.1); glTexCoord2d(1, 0); glVertex3f(x, y + 0.1, z - 0.1); glTexCoord2d(0, 0); glVertex3f(x, y - 0.1, z - 0.1); glEnd; If ffps <= ffpscount Then Begin fparticles[i].x := fparticles[i].x + fparticles[i].xi / (fslowdown * 1000); // Pohyb na ose x fparticles[i].y := fparticles[i].y + fparticles[i].yi / (fslowdown * 1000); // Pohyb na ose y fparticles[i].z := fparticles[i].z + fparticles[i].zi / (fslowdown * 1000); // Pohyb na ose z fparticles[i].xi := fparticles[i].xi + fparticles[i].xg; // Gravitaèní pùsobení na ose x fparticles[i].yi := fparticles[i].yi + fparticles[i].yg; // Gravitaèní pùsobení na ose y fparticles[i].zi := fparticles[i].zi + fparticles[i].zg; // Gravitaèní pùsobení na ose z fparticles[i].life := fparticles[i].life - fparticles[i].fade; // Sníží život o stárnutí If (fparticles[i].life < 0.0) Then Begin fparticles[i].life := 1.25; fparticles[i].fade := (random(100) / 1000.0) + 0.006; fparticles[i].x := Random(60) / 100 - 0.3; fparticles[i].y := Random(100) / 100; fparticles[i].z := Random(60) / 100 - 0.3; fparticles[i].xi := (random(60) - 30.0) / 2; fparticles[i].yi := (random(60) - 30.0) / 2; fparticles[i].zi := (random(60) - 30.0) / 2; End; End; End; If ffps <= ffpscount Then ffpscount := 0; glDisable(GL_BLEND); // Disable Blending glenable(GL_DEPTH_TEST); // Enable Dethtest glColor4f(1, 1, 1, 1); Wie gesagt ich kann nicht wirklich gut OpenGl Programmieren. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Zitat:
man befindet sich dann einfach wieder auf dem Desktop. |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Also es läuft ganz gut, ich habe aber auch das Problem gehabt das es sich einfach beendet hat, ohne Fehlermeldung oder sonst was. Passiert ist es in dem "big" Level, gespielt mit allem an, die kleineren Level mit über 650fps, das "big" seltsamerweise nur noch 20-25 gehabt. Alles an, Vollbild und 1200er Auflösung.
Desweiteren könntest Du die Maus, solange sie nicht bewegt wird ausblenden, ist zwar ganz praktisch das man mitten im Spiel auf den zweiten Monitor kann, aber bei spielen lenkt die doch etwas ab. Man könnte mit WASD noch evtl. die Kamera um die Kugel drehen, könnte ganz Nett aussehen wenn man mit beiden Händen spielt. ;) |
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
650 fps :shock: ... ganz sicher?
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Ja, ging teilweise fast an die 700. ;)
|
Re: Balanced das Spiel für Starke Nerven und Starke Graphikk
Ich hab alle Level bis auf das 3 ... killer level durch... gibts mal was neues :stupid: :zwinker:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz