AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Game] Gefangen in der virtuellen Welt (mit Source)
Thema durchsuchen
Ansicht
Themen-Optionen

[Game] Gefangen in der virtuellen Welt (mit Source)

Ein Thema von halinchen · begonnen am 9. Okt 2007 · letzter Beitrag vom 13. Dez 2009
Antwort Antwort
Seite 20 von 22   « Erste     10181920 2122      
Benutzerbild von halinchen
halinchen
Registriert seit: 13. Jun 2006
[Game] Gefangen in der virtuellen Welt Version 1.5.10.56

In diesem kleinen Spiel geht es um einen Wissenschaftler, welcher dank einer selber gebastelten Maschine in die Virtualität eindringen kann. Allerdings verläuft nicht alles nach Plan. Den er kann leider nicht mehr entkommen. Der einzige Ausweg ist das Spiel zu gewinnen, in dem er sich befindet und dabei den Highscore zu knacken.

Etwas eigenwillige Geschichte, aber ich hoffe es testet trotzdem jemand .

Steuerung
Gesteuert wird das Spiel mit den Pfeiltasten.
Schalter (diese Kästen welche rot oder grün leuchten) kann man mit der Leertaste umlegen. Dadurch werden Blöcke im Spiel (un)sichtbar. Z ist Freitod.

Ziel des Spieles
  • Das E (steht für Exit) erreichen
  • Möglichst viele Punkte erreichen (irgendwie logisch... )
    • Gegner besiegen
    • Münzen einsammeln

Gegner kann man durch einen einfachen Sprung auf den Kopf besiegen. (Bei Gegner höheren Levels muss man mehrmals draufspringen.)


Genutzte Fremdunits
  • DEC-Unit von Hagen Reddmann
  • DGL SDK (OpenGL - Header)
  • BASS.DLL
  • TextSuite (c) Steffen Xonna (http://www.opengl24.de/)

Screenshots
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4

Schreibrechte
Das Spiel benötigt Schreibrechte im Verzeichnis um die SaveGames in die Datei "SaveGames.sav" zu speichern.
Der Updater braucht logischerweise auch Schreibrechte. (Ich finde es blöd, wenn Freeware Ordner zumüllt in die man fast nie reinguckt. Deswegen hab schreibe ich direkt ins Anwendungsverzeichnis. Ich bitte um Verzeihung... )

Link zur Seite: http://stefan315.st.funpic.de/Gefangen/index.htm (Da gibt's auch den Sourcecode)

Setup: Direktlink (1.901 MB)
ZIP: Direktlink (1.938 MB)

Ich würde mich über Feedback freuen!

//edit 37 : Ich habe mal das Attachment hier gelöscht. Da muss ich die Datei nicht immer mehrmals hochladen. (Bei DSL 2000 dauert das auch immer noch recht lang)
 
Benutzerbild von halinchen
halinchen

 
Delphi 2007 Professional
 
#191
  Alt 11. Jan 2008, 18:29
Zitat von STS301:
im 1.Level ist die letzte Ampel unnötig, da sie eh schon aktiviert ist
Danke. Da war das Invertieren der VisibleClass eingeschalten. Werde ich dann das nächste mal mit hochladen.

Noch ein lustiger Bug:
Im Level 13 mal den Schalter umlegen, welcher die Bombe verschwinden lässt. Dann den Schalter wieder umlegen, sodass die Blöcke wieder erscheinen wo Gegner drauf sind... Auch ein Möglichkeit Gegner loszuwerden
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#192
  Alt 11. Jan 2008, 21:17
Zitat von halinchen:
Zitat von xZise:
Eigentlich sollte es bei der Fehlermeldung "Connection Closed Gracfully" funktionieren, da diese Meldung ja nur sagt, dass alles i.O. ist xD
Das klingt aber eher nach einem Abbruch der Verbindung. Sonst würde ja auch keine Exception geworfen werden.
Das klingt nach Indy: Hier im Forum suchenConnection Closed Gracefully

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von halinchen
halinchen

 
Delphi 2007 Professional
 
#193
  Alt 12. Jan 2008, 10:45
http://www.swissdelphicenter.ch/de/showarticle.php?id=1

Zitat:
[...] If the other side has closed the connection and the socket is read or written to, EIdConnClosedGracefully will be raised by Indy. This is similar to attempting to read or write to a file that has been closed without your knowledge. [...]
So wie ich das verstehe, wird die Exception geworfen, wenn der Server die Verbindung getrennt hat.

Ich werde einfach mal die Exception EIdConnClosedGracefully wegmachen. Entweder es geht weiter, oder es werden noch andere Exceptions geworfen.
  Mit Zitat antworten Zitat
Avicenna
 
#194
  Alt 13. Jan 2008, 11:43
Danke für die Korrektur mit den zu tiefen Schluchten

Könnte man es jetzt noch so machen, dass keine Aufprall-Sounds kommen (die ja normalerweise mit einem Gesundheitsverlust umhergehen), während man ein Unbesiegar-Power-Up besitzt?

Nachdem ich entdeckt habe, dass es zum Level-Editor ein Tutorial gibt, bin ich nun auch dabei, eigene Levels zu entwerfen.

Mit Moving-Blocks kann man tolle anspruchsvolle Levels entwickeln (z.B. die letzten drei Levels in der derzeitigen Version - ein Danke an Bug und halinchen !), aber das Problem ist: Gelangt ein lebenswichtiger MovingBlock an die Wand ist er für immer verloren.
Ein Freitod ändert daran nichts. Wenn so etwas in Level 22 passieren würde, kann man sich ja denken, was dabei herauskommt.

Eigentlich schade um die schönen Moving-Blocks.
Lösungsvorschlag: Ein reitod setzt alle Moving-Blocks wieder auf die Startposition.


Viele Grüße,
Avicenna
  Mit Zitat antworten Zitat
Benutzerbild von halinchen
halinchen

 
Delphi 2007 Professional
 
#195
  Alt 13. Jan 2008, 12:01
Zitat von Avicenna:
Danke für die Korrektur mit den zu tiefen Schluchten
Na wenn du dir schon die Mühe mit den Screenshots gemacht hast

Zitat von Avicenna:
Könnte man es jetzt noch so machen, dass keine Aufprall-Sounds kommen (die ja normalerweise mit einem Gesundheitsverlust umhergehen), während man ein Unbesiegar-Power-Up besitzt?
Das lässt sich leicht machen.

Zitat von Avicenna:
Lösungsvorschlag: Ein reitod setzt alle Moving-Blocks wieder auf die Startposition.
Das lässt sich auch machen.

Was mir noch aufgefallen ist:
Angenommen man beginnt das Level unter einem MovingBlock. Man geht nach drunter weg -> Block fällt runter. Wenn man jetzt stirbt hat man ein Problem. Man befindet sich im Block.
Lösung: zur Startposition zusätzlich noch einen getrennten Wiederherstellungspunkt setzen.

Außerdem soll es im Spiel noch ein Intro, Outro und ein Tutorial geben. Dafür will ich erstmal ein paar interne Änderungen vornehmen, von denen ihr eigentlich nichts merken werdet. Das erhöht dann sicher auch die Wartbarkeit des Codes.

Dann habe ich schon eine Idee wegen den Schaltern:
Wenn man sich auf den Schalter stellt, geht er immer weiter runter. Wenn man runter geht, geht der Schalter wieder hoch. Die Zeit kann man im Editor einstellen. Natürlich kann man dann auch Blöcke draufschieben.
Dann gibt es noch eine Spezialeinstellung, wo man für jeden Block festlegen kann, ob auch Gegner den Schalter betätigen können.

Außerdem habe ich (glaube ich zumindest 8) ) auch mitbekommen, warum ich das Projekt nicht mit Lazarus kompilieren kann: Es gibt keine Initialiation-Abschnitte in den Units. Da müsste ich einige OpenGL-Units umstellen (den Texure-Loader).
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#196
  Alt 13. Jan 2008, 12:08
Ich habe ein Problem bei Level 4:
Wenn man zuweit springt im die letzte wichtige Münze zu bekommen, hat man verloren
Wäre nett, wenn da noch ein Schalter vorhanden wäre

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von halinchen
halinchen

 
Delphi 2007 Professional
 
#197
  Alt 18. Jan 2008, 17:05
Version 1.6.0.88[*] Boom-Sound nur gespielt, wenn nicht unverwundbar[*] Button-Textur keine weißen Kanten[*] Schrift ohne Linien und Artefakte[*] Verbesserung der Zeitrechnung
[+] Einstellungen Dialog nach Kategorien geordnet

Im Wesentlichen habe ich (fast) alle einzelnen Units in eine einzige gemacht. Dann habe ich noch ein TGame-Object eingeführt, was den Quelltext des Hauptformulars nicht so aufbläht.
Bei den Texuturen und der Schrift hat mir Lossy eX geholfen.
Sieht doch schon viel besser aus.

Als nächstes mache ich mich an die Mechanischen Schalter und füge bei den Highscorefenster noch ein [<<] und [>>] ein.

Die gröbsten Bugs müssten weg sein und Memoryleaks gibt es auch keine mehr (außer die von den Indys, aber vorher waren ~ 5000 Leaks )
  Mit Zitat antworten Zitat
Avicenna
 
#198
  Alt 18. Jan 2008, 19:20
Hallo,
das mit der Schriftart freut mich

Weniger freue ich mich darüber, dass ich erstelle Levels (mit dem Level-Editor) nicht mehr im Spiel öffnen kann ("Zugriffsverletzung").
  Mit Zitat antworten Zitat
Benutzerbild von halinchen
halinchen

 
Delphi 2007 Professional
 
#199
  Alt 18. Jan 2008, 19:36
Zitat von Avicenna:
Weniger freue ich mich darüber, dass ich erstelle Levels (mit dem Level-Editor) nicht mehr im Spiel öffnen kann ("Zugriffsverletzung").
An den Levelformat habe ich eigentlich nichts geändert.

Welche Version des Editors hast du? Rechtsklick auf Editor.exe > Eigenschaften > Reiter "Version" > Dateiversion

Ich habe hier die Version 0.0.4.16. Eventuell müsstest du dann eine neue Version downloaden, die wird nämlich nicht mit dem Updater geändert.
  Mit Zitat antworten Zitat
Avicenna
 
#200
  Alt 19. Jan 2008, 15:26
Bei den PowerUps "1/4-Sekunde unverwundbar" ist es noch wichtig, dass diese beim Tod des Spielers respawnen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 20 von 22   « Erste     10181920 2122      


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 12:24 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