AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Spiel] BloodyQuest (~ do you like zombies ~)

[Spiel] BloodyQuest (~ do you like zombies ~)

Ein Thema von BUG · begonnen am 19. Jan 2009 · letzter Beitrag vom 11. Apr 2011
Antwort Antwort
Seite 7 von 9   « Erste     567 89   
Benutzerbild von BUG
BUG
Registriert seit: 4. Dez 2003
Wer kennt folgende Situation nicht:

Man ist auf einem umgrenztem Feld von 800x600 Pixeln und hat 2 automatische Waffen mit nur 1.000.000 Schuss Munition.
Plötzlich strömen von überall her Zombies auf einen ein.

Während der Programmierung dieses Spieles sind keine Zombies zu Schaden gekommen.
  • Laufen: W-A-S-G
  • Schießen: Maustasten
  • Freeze: mittlere Maustaste
  • benötigt: openAL & openGL
So ungefähr lässt sich der Inhalt dieses Spiels zusammenfassen. Im Großem und ganzen eine Spielerei mit Partikeln* und Licht. Getestet unter Windows Vista.

Ich hab das Ganze mit einen Quadcore (Core 2 Quad Q6600) getestet, es kann also sein, dass einige Systeme mit den voreingestellten Einstellungen lahmen. Dann einfach daran schrauben und die Ergebnisse evtl. hier posten.

Ersetzt nicht grade den neusten Egoshooter, aber kurz vorm Einschlafen vorm PC ist es doch eine Herausforderung.

Benötigt openAL für Tonausgabe:
Eine Downloadseite gibt es hier: openAL-Download (ca. 550 kb)

// OpenSource Version //


Da mir mittlerweile klar ist das ich diesen Source nicht mehr anfasse und ja danach gefragt wurde, stelle ich ihn mal rein.
Wenn jemand etwas gravierendes auffällt, kann er das natürlich posten, aber ich werde den Code nicht weiter betreuen.

Der Highscoreteil ist dahingehend entschärft, das er nicht mehr mit dem Server von Mikescher funktioniert, kann aber wieder zum laufen gebracht werden.

Wenn jemand den Code als Ganzes oder in Teilen verwendet, bitte ich um die Verlinkung dieses Themas (auch in der Readme / in den Credits).

Um Verwechselungen vorzubeugen, bitte ich um die Vermeidung des Namens "BloodyQuest" in eigenen Veröffentlichungen (insbesondere als Titel).

Fremder Code:

dglOpenGL.pas und openAL.pas stehen unter ihrer eigenen Lizenz. Diese muss natürlich beachtet werden.
winutils.pas enthält u.a. Code aus fremden Quellen, z.B. der Code-Library oder Themen der Delphi-PRAXiS.
Der Code zur Nutzung von OpenGL und insbesondere letters.pas ist unter Beeinflussung verschiedener Tutorials (meist http://www.delphigl.com/) entstanden.

Anmerkung zum serverseitige Highscoreteil:

Wenn im serverseitigen PHP-Code irgendwelche Sicherheitslücken auftauchen bitte ich um eine Benachrichtigung an mich.

MfG,
Bug

* Achtung: Splatter-Effekte, bei Nichtgefallen nicht spielen.
Angehängte Dateien
Dateityp: zip bloodyquest_102.zip (1,06 MB, 299x aufgerufen)
Dateityp: zip bloodyquest_opensource_187.zip (687,3 KB, 39x aufgerufen)
Dateityp: zip highscores_112.zip (4,2 KB, 22x aufgerufen)
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
 
Benutzerbild von BUG
BUG
 
#61
  Alt 25. Jan 2009, 11:12
Zitat von Florian H:
Ich weiß ja nicht, wie du die Daten konkret übergibst...
Das ist gut so

Problem wurde serverseitig gelöst.


MfG,
Bug
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#62
  Alt 25. Jan 2009, 13:27
Uiui Nun sind die Zombies auch verschiedenfarbig. Vielleicht sollte man da eine Mustererkennung drüberjagen Oder einfach den aktuelle Lichtkegel von der Anzeige subtrahieren, und alle Stellen die nicht schwarz sind, sind auf jeden Fall Zombies. Aber das mit dem "Lichtkegel" könnte problematisch werden.

Übrigens habe ich nur 6.000 Punkte (ohne Bot)

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#63
  Alt 25. Jan 2009, 13:38
Mein Bot macht doch schon eine (rudimentäre) Mustererkennung ?

Er such tja nach größeren Bereichen, die vollständig Zombiefarben sind (Zombiefarben ist sehr weit gefassst, aber durch den großen Bereich werden das Blut und die Patronenhülsen ausgeschlossen)

Aber er funktioniert immernoch Wobei er nicht mehr ganz sowaeit kommt - muss ich wohl mal an den konstanten herumdrehen ...
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#64
  Alt 25. Jan 2009, 14:18
Also mit Gimp und Kanten finden - Neon bekommt man sehr gute Ergebnisse mit Radius = 2,53 und Menge = 0,67. Wenn man jetzt wüsste, wie er arbeitet wäre man sehr weit. Außerdem findet er Gegner, die einen normalerweise nicht auffallen o.O (Wenn man Menge noch hochdreht).

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

 
FreePascal / Lazarus
 
#65
  Alt 25. Jan 2009, 15:26
So, ich habe fertig, mein Bot läuft soweit.
Hab den heute nochmal auf den neuen Patch umgeschrieben. *DAAAHHH, zufällige Startpunkte!! *

Der Bot greift momentan nicht auf das Zielprogramm zu und interpretiert auch keine Grafiken.
Hab den jetzt mal laufen lassen. Er ist noch nicht perfekt aber immerhin hab ich schonmal lockere 108.231 Kills bekommen.
(Beweis siehe Anhang)

Nur ich stell den Bot erstnochmal nicht online, ich wollt nochwas ändern.
Miniaturansicht angehängter Grafiken
bqscore2_212.png  
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#66
  Alt 25. Jan 2009, 16:43
Nana Da will doch sich jemand nicht in den Highscore eintragen?

Zuerst Neon: Radius = 2,71 Menge = 0,58
Dann Die Kurven festgelegt mit den Punkten (7|0) und (8|255). Ergebnis ist im Anhang!

MfG
xZise
Miniaturansicht angehängter Grafiken
bq_mod_210.png   bq_871.png  
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

 
FreePascal / Lazarus
 
#67
  Alt 25. Jan 2009, 22:57
Zitat von jfheins:
Was denn für ne Taktik? Einfach nur im Kreis drehen funktioniert nicht und um die Gegner zu erkennen braucht man halt graphische Verfahren !?
Ist im Kreis drehen und ballern eine Taktik?
Nein, anders, morgen poste ich den Bot, dann siehst du wie.
Edit: Ich und termine, ich find immernochwas, was ich einbauen könnte. (Ich lad´s am Wochenende hoch)

Zitat von xZise:
Nana Da will doch sich jemand nicht in den Highscore eintragen?
Nein, ich darf und will nicht. Botscores gehören nicht in Highscorelisten.

Btw:
Mit dem "grafischem Interpretationsverfahren" kommt ihr sowieso nicht extrem weit.
Ab 1000 Zombis gleichzeitig kommen die schon dauerhaft um euch herum, womit ihr wieder bei der "Taktik" im Kreis drehen und ballern seid.
  Mit Zitat antworten Zitat
Florian H

 
Delphi 6 Professional
 
#68
  Alt 30. Jan 2009, 20:47
Nur noch gut 2h, dann gibts endlich den Bot mit der geheimen Taktik *vorfreu*
Florian Heft
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

 
FreePascal / Lazarus
 
#69
  Alt 31. Jan 2009, 06:45
Die "geheime Taktik" ist eigentlich mit ein bissl mathe gar nicht so schwierig.
Eure "Taktik" schaltet gezielt alle Zombies um euch herum aus.
Besser ist es imho die Angriffsfläche zu reduzieren.
Gesagt getan, anstatt sich jetzt 360 Grad freizuballern brauch ich durchschnittlich nur ~90° freizuhalten.
Wie?
Da der ZombiDefender schneller als die Zombie´s läuft, kann man immer im Achteck rennen.
Alle Zombies, die seitlich und hinter einem sind (~270 Grad), brauch man eigentlich gar nicht weiter beachten.

Das ist eigentlich der ganze Trick.
Und ich bin mir sicher, das man so unendlich lang so im Kreis rennen könnte.
Leider passt das noch nicht haargenau in meinem Bot, da müsste man nochmal mit ein bisschen mit "feintuning" und Testzeiten ran.
Naja soweit zur Theorie, die Praxis zeigt´s deutlicher.

Benutzung meines Bots:
1. Bot- und Spielprogramm ausführen
2. Strg+F1 im Hauptmenü des Spiels drücken
3. Jetzt noch etwas nerviges, da die Startposition zufällig ist:
Der Mauscursor wird nach oben in das Spielfeld positioniert, da müsst ihr hinrennen, so das ihr etwas unter der Cursorposition steht.
4. Bis zum Ende Zombies killen lassen oder Strg+F2 zum Stoppen des Bots drücken
5. Über hohen Score freuen
Hinweis: Am besten alle Einstellungen ganz runter stellen.

Ich hab den eben nochmal laufen lassen und rausgekommen sind: 227.324 Kills
Das ist aber auch ein bissl Glücks/Pechsache, da nachher nur noch in einer Dauerschleife 1.100-1.200 maximal Zombies kommen.
(Die Millionen knacken wir noch)

Und nochwas:
Ich hab eben eine Funktion namens "Userscripte" eingebaut. (Eine Art Botengine xD)
Damit könnt ihr gezielt und einfach euren Charakter steuern, eigene Botwege testen und den Schusswinkel einstellen.
Falls ihr vllt ein gutes Script hinbekommen habt könnt ihr das gerne posten bzw mir schicken.
*hust* So spar ich mir das Feintuning */hust*

Achja und ich hab noch einen kleinen Bug zum Spiel gesehen:
- Wenn man viele Kills hat wird am Ende im "Game over"-Menu immer angezeigt, dass aktuell 1501 Zombies unterwegs sind.
Eigentlich schon traurig das mein allererstes Programm, das ich in der DP hochlade, ein Bot ist.

Fehlt was? Falls nötig, kommen weitere Erklärungen wenn ich genügend schlaf habe.
Solange, gn8.

Edit #2:
- Freeze-Funktion fest in den Bot integriert. (Nicht Userscript)
Edit #1:
- TFileOpenDialog in TOpenDialog geändert.
Angehängte Dateien
Dateityp: zip bqbot-ml89_120.zip (248,6 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#70
  Alt 31. Jan 2009, 10:21
Nett

Dass man sich bewegen kann hab ich am Anfang gar nicht gemerkt (genau wie das, dass man 2 Waffen hat) - was sich dann auch im Bot wiederspiegelt

Btw.: Woher weißt du, wo der "Zombiedefender" steht? (Zumindest bei mir läuft der nämlich automatisch zum Cursor ...)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:

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