AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Shape Wars - Version 2.0.0
Thema durchsuchen
Ansicht
Themen-Optionen

Shape Wars - Version 2.0.0

Ein Thema von Edlmann · begonnen am 23. Mär 2011 · letzter Beitrag vom 17. Apr 2013
Antwort Antwort
Seite 13 von 36   « Erste     3111213 141523     Letzte »    
Edlmann
Registriert seit: 19. Nov 2010
Guten Nachmittag liebe DP,
ich hatte in letzter Zeit das dringende Bedürfnis, endlich einmal mit OpenGL ein fertiges Spiel auf die Beine zu stellen.
Fertig ist es noch nicht, aber Fertig ist ja auch definitionssache Es ist bisher mal Spielbar, auch wenn ich noch
einige Änderungen vorhabe.

Zur Spielidee:
Sinn hat dieses Spiel nicht, wie so viele Minigames. Der Spieler ist eine simple Figur, und muss andere
Formen abschießen. So simpel es sich anhört, ich spiele das Spiel mittlerweile mehr als dass ich es weiterentwickle
Das ganze Spiel ist im Tron-Stil gehalten, und mag dem einem oder anderem bekannt vorkommen, doch selber gemacht macht
ein Spiel imho immer doppelt so viele Laune wie runtergeladen
Die grünen "Dinger", die jeder Gegner fallen lässt, sind Multiplikatoren. Der Multiplikator bestimmt, wie viele Punkte man pro Gegner bekommt
(10 * Multiplikator), womit der Score gegen Ende stark in die Höhe schießt (In unserer Schule liegt der Record für Pacifism bei 50 Millionen)

Steuerung:
Bewegen kann man den Spieler mit den Tasten WASD wahlweise Pfeiltasten (funktionieren beide, aber am besten nicht gleichzeitig benutzen ^^), gezielt wird mit der Maus.
Mit der linken Maustaste kann man schießen.

Einstellungen etc:
F3: Screenshot machen, wird im Unterordner Screenshots erstellt
F5: Partikel an/ausschalten, sollte auf aktuellen Maschinen nicht nötig sein (In der Schule ist dies aber von Vorteil )
F6: Lichteffekte an/aus (sieht mit deutlich besser aus, aber wers lieber schlicht haben möchte...
F7: Equalizer im Hintergrund an/aus
F8: Fenstermodus/Vollbildmodus
F9: Joypad an/aus
Esc: Menü aufrufen (funktioniert nicht bei der Game-Mode-Auswahl)
X: Nächster Song
+ -: Lautstärke der Musik einstellen

Die verschiedenen Spielmodi:
On the Run: Nur relativ langsame Gegner, die dem Spieler folgen. Der einfachste Spielmodus bisher.
Moshpit: Alle Gegnerarten, die ich bisher implementiert habe, erscheinen zufällig. Meiner Meinung nach der schwierigste Modus, da man auf viele verschiedene Dinge achten muss.
Waves: Nur Gegner, die sich gerade über den Bildschirm bewegen, immer über die gesamte Bildschirmbreite. Man muss sich also einen Weg durch die Gegner bahnen, um hier zu überleben.

Download:
http://shapewars.sogru.de/download.php?id=0
Ohne Musik:
http://shapewars.sogru.de/download.php?id=1

Homepage:
http://shapewars.sogru.de

Dank an:
Sascha Willems für den OpenGL-Header der DelphiGL
Der Community der DelphiGL für ihre Tutorials
Jan Horn für seinen Texture-Loader
Den Machern der bass.dll/bass_fx.dll
1024MB (aka Leslie Wai) für einige der Songs
ParagonX9 und Kid2Will für einige der Songs
Culxxaw für das Bereitstellen von Server-Kapazitäten und das schreiben der nötigen .php-Scripte für den Online-Highscore
igel457 für seine Klasse zum Kapseln eines Gamepads (veröffentlicht hier)

Würde mich über Feedback, Verbesserugnsvorschläge etc freuen,
Und es wäre super wenn ihr mir Rückmeldung über die Performance geben könntet, die Partikel-Engine ist schon relativ aufwendig...
Vor allem das testen des Online-Highscores auf Bugsicherheit ist wichtig
Lg, Edlmann

Geändert von Edlmann (21. Sep 2011 um 21:31 Uhr)
 
Edlmann
 
#121
  Alt 6. Apr 2011, 22:27
Okey, der Online-Highscore ist soweit wieder funktionsfähig, muss nur noch ein zwei Bugs bei der Platzierung am Ende (Manchmal wird die falsche Nummer angezeigt) beheben.

Weitere Änderungen:
- Waffensystem bei Waves/Moshpit überarbeitet
- Neue Gegnerart ist drinne, eine weitere ist schon in Planung
- Habe weitere Partikeleffekte hinzugefügt
  Mit Zitat antworten Zitat
angos

 
Delphi 11 Alexandria
 
#122
  Alt 7. Apr 2011, 12:58
hiho,

teste gerade die neue Version

Ein BUG: die Höchstpunktzahl welche im Mainmenu angezeigt wird entspricht nicht der Höchstpunktzahl welche tatsächlich erspielt wurde (oder wirst dort sowieso immer nur du angezeigt ^^)

Siehe Screenshots
Miniaturansicht angehängter Grafiken
screenshot_4.jpg   screenshot_5.jpg  
Ansgar
  Mit Zitat antworten Zitat
Edlmann
 
#123
  Alt 7. Apr 2011, 13:35
hiho,

teste gerade die neue Version

Ein BUG: die Höchstpunktzahl welche im Mainmenu angezeigt wird entspricht nicht der Höchstpunktzahl welche tatsächlich erspielt wurde (oder wirst dort sowieso immer nur du angezeigt ^^)

Siehe Screenshots
ö_ö muss ich mir mal anschauen, kann sein dass er das einfach noch nicht vernünftig übernimmt und mir da beim neuem Highscore ein Fehler unterlaufen ist
  Mit Zitat antworten Zitat
Culxxaw
 
#124
  Alt 7. Apr 2011, 14:57
Bei Eingabe des Namens erscheint bei mir ein "Listenindex überschreitet Maximum"-Fehler.
Ich glaube da müsstest du nochma ran...

"NO NETWORK" im Hauptmenu dürfte da eigentlich auch nicht stehen. Habe es gerade nochmal überprüft: Alle 3 Dateien sind erreichbar und über das Testprogramm funktioniert das Ganze auch.

Der neue Gegnertyp ist total geil! Macht viel mehr Spaß, weil man mehr Abwechslung hat, auch vom Gameplay her (obwohl es ja nur ein Gegner ist).

Meine Wunschliste wäre nun noch, dass es noch mehr Gegnertypen gibt, die in verschiedenen Scoreintervallen erscheinen.

Z.B. Gegnertypen 1+2 bei 0-1E6 Punkten, Gegnertypen 2+3 bei 1E6-1E7 Punkten und so weiter...

Der zweite Punkt auf der Wunschliste wäre, dass der Spieler sich bei der Auswahl der Upgrades entscheiden kann, sodass man nach einem bestimmten Intervall 2-3 Auswahlmöglichkeiten zwischen Waffenupgrades, zusätzliches Leben, einmal alle Gegner zerstören etc. hat
  Mit Zitat antworten Zitat
Edlmann
 
#125
  Alt 7. Apr 2011, 15:47
Werd ich mal schauen, die nächste Woche werd ich daran nicht so viel Basteln, wird ne anstrengende Zeit xD aber ich Versuch so viel wie möglich neues mir auszudenken und zu implementieren.

Hab gerade erstmal die Fehler bei den Spielmodi Moshpit/Waves gefixxt, sollte jetzt kein "No Network" mehr stehen.

Geändert von Edlmann ( 7. Apr 2011 um 16:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG
 
#126
  Alt 8. Apr 2011, 04:35
Sind diese "Mehrfachwellen" (zwei oder mehr Wellen direkt (!!!) übereinander?) im Moshpit-Modus eigentlich beabsichtigt?
Ohne das erste Waffenupgrade sind die Dinger ziemlich tödlich

Jeah, erster bei Waves mit 14009060

Geändert von BUG ( 8. Apr 2011 um 04:47 Uhr)
  Mit Zitat antworten Zitat
Edlmann
 
#127
  Alt 8. Apr 2011, 08:41
Sind diese "Mehrfachwellen" (zwei oder mehr Wellen direkt (!!!) übereinander?) im Moshpit-Modus eigentlich beabsichtigt?
Ohne das erste Waffenupgrade sind die Dinger ziemlich tödlich

Jeah, erster bei Waves mit 14009060
Sagen wir ich weiß woher die kommen und warum, arbeite noch an nem Weg die rauszunehmen, ist auch noch nen bisschen dumm wenn von allen 4 Seiten Wellen kommen xD
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch
 
#128
  Alt 8. Apr 2011, 10:18
@Edlmann: Also meine CPU ist ein Dualcore@2.66GHZ. Davon ausgehend dass du eine Singlethread Applikation hast bleibt noch immer ein kern mit ca 2.66GHZ übrig. Das sollte schon machbar sein .

Zeitlimitierung ist relativ einfach:


Definiere eine Double namens TimeStep.

pseudocode:
Delphi-Quellcode:
OptMS = 1000 / 60;//davon ausgehend das 60fps volle geschwindigkeit bedeutet, errechnen wir die zeit
                  //bei optimaler geschwindigkeit bzw wieviel ms optimal pro frame gebraucht werden.
TimeStep = UsedMS / OptMs;//UsedMS ist die zeit die wir für unseren letzten framezyklus gebraucht
                          //haben
Braucht ein Frame die optimale anzahl MS, ist TimeStep 1. Braucht ein FrameZyklus mehr ist TimeStep > 1. Braucht ein FrameZyklus weniger ist TimeStep < 1.

Alle kalkulationen laufen dann z.B. so:

[pseudocode]
MeinePosition.X := MeinePosition.X + Speed*TimeStep; Speed währe hier unsere geschwindigkeit die wir auf eine position dazu rechnen wollen(im optimalen FPS fall), der wert wird automatisch mit TimeStep skaliert und an die FPS angepasst.

Das bedeutet aber natürlich dass du(wenn du es nicht eh schon tust) öfters mit Extended rechnen und das aufrufen von Round() zu einem minimum reduzieren musst. Ka wie du da verfährst in deinem Game^^.

MFG
Memnarch

Geändert von Memnarch ( 8. Apr 2011 um 10:21 Uhr)
  Mit Zitat antworten Zitat
Edlmann
 
#129
  Alt 8. Apr 2011, 13:37
Das Prinzip dahinter hab ich schon verstanden, und ich benutz auch an vielen Stellen schon SingleVariablen (Single reicht meiner Meinung nach).

Wie gesagt, werd ich mich einfach mal dransetzen müssen und weniger das Spiel spielen
  Mit Zitat antworten Zitat
Notxor

 
Delphi XE2 Professional
 
#130
  Alt 8. Apr 2011, 14:12
Kann man die Highscore-Liste eigentlich auch ansehen ohne spielen zu müssen?

Das 2000er Waffenupgrade finde ich etwas zu schwach, da die Streuung zu groß ist, ein dritter paralleler Strahl so wie bei Waffe100 wäre mMn hilfreicher(hauptsache kein so großer Winkel, ev. auch Kanonen die genau nach hinten feuern oder ähnliches).


146mio
(Btw, ist der Topscore echt? >400m scheint mir gar unmöglich)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 13 von 36   « Erste     3111213 141523     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
C-Sharp-Forum.de - Shape Wars - Version 0.9.9 This thread Refback 11. Apr 2011 15:31
Delphi-Forum.de - Shape Wars - Version 0.9.9 This thread Refback 7. Apr 2011 17:55

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz