AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Spiel] Flos DrawBall [neue Version: 06.01.09]
Thema durchsuchen
Ansicht
Themen-Optionen

[Spiel] Flos DrawBall [neue Version: 06.01.09]

Ein Thema von Florian H · begonnen am 26. Nov 2006 · letzter Beitrag vom 25. Nov 2011
Antwort Antwort
Seite 17 von 22   « Erste     7151617 1819     Letzte »    
Florian H
Registriert seit: 30. Mär 2003
Hallo zusammen,

mir kam vor einigen Wochen eine prinzipiell ganz nette Spielidee in den Sinn, deren Konzept ich dann auch gleich etwas ausarbeitete und schon bald war ich dann munter am Programmieren. Dann wieder ein paar Wochen nicht und dieses Wochenende dann doch wieder.
Soviel zur sinn- und zwecklosen Vorgeschichte.

Jedenfalls kann ich euch nun eine Version von "Flos DrawBall" präsentieren, die irgendwie auch schon spielbar ist.

Bei dem Spiel geht es darum, einen oder mehrere Bälle in ein Zielfeld zu bekommen.
Das ganze geschieht über Beschleunigungsfelder, die den Ball in eine bestimmte Richtung ablenken, wenn er über sie drüber rollt.
Diese Beschleunigungsfelder kann man auf das Spielfeld aufmalen, indem man die Richtung der Beschleunigung mit den Pfeiltasten auswählt (es gibt also links, rechts, oben und unten) und dann mit der Maus wie in einem Zeichenprogramm quasi malt .. man kann so den Ball ins Ziel führen.
Daneben gibt es (bisher..) ein "böses" Feld, welches der Ball nicht berühren darf (nehmen wir an es ist Salzsäure oder ein Abgrund) und Tintenpatronen - denn die Farbe (Beschleunigungsfarbe oder so ) ist limitiert und man muss ggf. etwas haushalten - oder eben diese Patronen sammeln.

Neu (06.01.09):
  • neues Levelformat, zusätzliche Metainformationen zu Levelsets und einzelnen Leveln (z.B. Titel)
  • Tutorial-Level mit Erklärungen des Spiels und aller Elemente
  • etliche grafische Änderungen und zusätzliche Grafikeffekte (fast alle Elemente wurden neu gemacht oder überarbeitet), z.B. Schatten, Rauch, Beamer-Blitze, Lava, ...
  • neue Kollisionsengine "Ball -> Wand", dadurch deutlich realistisches Abprallen vor allem an Ecken
  • Soundtrack von fishbrain - bitte auch dazu Feedback! (btw sind alle Sounds etwas leise, muss ich noch überarbeiten)
  • Umstieg auf openGL, da directX starke Grafikprobleme macht - testbar durch Umbenennen der Datei "use_dx.NOT" in "use_dx"
  • deutliche Performancegewinne - bis zu 800% FPS-"Steigerung" bei umfangreichen Leveln (wobei die FPS ja auf 40 limitiert sind)
  • zusätzliche HUD-Einblendungen, z.B. mit Levelinformationen oder dem Ergebnis (Roadmap: Punkteberechnung, Highscores, Statistiken), "Spiel neustarten" direkt mit der [R]-Taste

Neu ( 23.12.08 ):
  • Komplett neues Menü
  • Level sind nun in Level-Packs sortiert und diese sind im Spiel dann anwählbar (bisher relativ rudimentär)
  • verbesserte Grafiken (z.B. der Ball)
  • zusätzliche Effekte, zum Beispiel die Ball-Spur in der jeweiligen Farbe der Richtung
  • natürlich viele kleinere Verbesserungen, Bugfixes und grafische Anpassungen


Neu (02.04.07):
- basiert komplett auf Andorra 2D anstatt DelphiX -> deutlich bessere Performance und Grafikeffekte (s.u.)
- etwa die Hälfte aller Grafiken neu erstellt, um die neue Grafikengine voll ausnutzen zu können (Alphachannel etc)
- Kugeln kollidieren miteinander, anstatt einfach durch sich durch zu rollen
- wie immer: übel viele Bugs gefixt (u.a. Speicherfehler, wenn man außerhalb des Fensters malen wollte)

Neu (31.03.07):
- grafische Verbesserungen, Anzeige der verbleibenden Bälle etc

Neu (25.03.07):
- viele kleine Bugs oder Unzulänglichkeiten gefixt (Kollisionen, Menü etc)
- Performance verbessert (v.a. bei vollgemalten Levels deutlich spürbar, sollte auch auf älteren PCs kaum mehr ruckeln)
- neue Elemente: Beam-Felder, Beschleunigungsblöcke, Kissen und Bumper


Kleine Erläuterung:
Beamfelder: davon gibt es 4 verschiedene, bestehend jeweils aus einem oderer mehreren Start- und Zielfeldern, bei mehreren Zielfeldern kommt der Ball zufällig in einem davon heraus
Beschleunigungsblöcke: wirken sich genauso stark aus wie aufgemalte Beschleunigungsfarbe, eine Beschleunigung kann also maximal ausgeglichen werden auf so einem Feld
Kissen: bremst die Bewegung des Balles bei Berühung ab
Bumper: lässt den Ball stärker zurückprallen als er ankam
Nichtbemalbare Fläche: sind die gestreiften grauen Flächen, dort kann keine Farbe draufgemalt werden ("tote Zone")

Ein ausführliches Tutorial-Level ist integriert, ist auf jeden Fall zu empfehlen ...

Level-Editor von xZise[DP-Thread]: klick!


Zum Download mit Musik (extern, Direktlink, 4,4MB)


Viele Grüße
Flo
Miniaturansicht angehängter Grafiken
drawball080_202.jpg   screen1_461.jpg  
Angehängte Dateien
Dateityp: rar release_0.80-nomusic_961.rar (1,99 MB, 244x aufgerufen)
 
mimi

 
FreePascal / Lazarus
 
#161
  Alt 26. Sep 2007, 11:22
Zitat:
Wieso unterstüzt Lazarus eigentlich keine Floats? Oo
Doch sie werden unterstützt ....

Den Rest muss ich mir noch mal genauer anschauen.
Michael Springwald
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#162
  Alt 26. Sep 2007, 12:42
Zitat:
Dann wird aus 5000|4000 wieder 50|40 und der Ball liegt irgendwo oben links in der Ecke...
ich habe es mir eben noch mal angesehen: Was bringt mir dann das wenn ich den 100 Fachen Wert von den Zahlen nehme... Wenn ich ihn später wieder durch 100 Teilen musst.

Aber bei einem anderen Projekt habe ich es wieder anders gelöst z.b.:
Round(TGameItem(ObjList[BallIndex))..x + (TGameItem(ObjList[BallIndex)).speed*0.5) );

Ich sehe zwar noch nicht genau was das Bringt mit 0,5 zu rechnen , weil das wird doch zu 1 aufgerundet oder ?
Michael Springwald
  Mit Zitat antworten Zitat
Florian H

 
Delphi 6 Professional
 
#163
  Alt 26. Sep 2007, 12:46
Wenn du grundsätzlich mit dem 100-fachen des Wertes rechnest, musst du nur bei der Anzeige (!) runden, der Ball bewegt sich aber mit genau der richtigen Geschwindigkeit etc.
D.h. die Anzeige ist pro Frame bis zu 1 px ungenau/gerundet, aber die Position stimmt - denn die Position ist ja viel genauer gespeichert.

also Rechnen mit genauen Werten - Anzeige von gerundeten Werten.


Wenn du bereits die internen Zahlen in jedem Frame rundest, bewegt sich der Ball im Endeffekt komplett anders ...
Florian Heft
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#164
  Alt 26. Sep 2007, 15:46
Du meinst also ich könnte auf die Zeitschleife versiechten.

Wie verlangsamt du den Ball ? Mit einer Zeitschleife ?

Wenn ich dich Rechtig verstehe müsste ich aus der Speed Variable eine Real machen und dann mit deinen einfachen werten Rechnen und beim Zeichnen runden. Ich kann es mir irgendwie nicht so recht vorstellen das sich der Ball dann anders Bewegt aber ich werde es versuchen....

Leider kommt das Projekt jetzt in die Phase wo es heißt Fehler zu finden und zu beheben......
Daher wird es wohl noch eine weile dauern bis ich es hochladen kann.....

Zu den Türen: Ich möchte noch die Tür Grafik verwenden und zwar soll wie bei SuperTux ein ca 2 Pixel Breiter Rand zum die Offne Tür sein... ich weiß nicht ob das schon jemand angesprochen hat.

Was meinst du sollten wir unser beide Projekte genau mit den selben Funktionen ausstatten ?

Wenn ja sollten wir uns überlegen was wir noch einbauen.... Um ein Level Interessanter zu gestalten.

ich habe ein Projekt fas fertig gestellt, wo mit man mehrer Grafiken in einer Speichern kann. Das Ausgabe Format ändere ich aber noch auf PNG oder frei Wählbar.... dazu wird zwei Ini Dateien erstellt: in der einen werden die Pfad angaben zu den einzelnen Grafiken Gespeichert und bei der anderen Sind die Sektionen die Gruppen die es gibt und die Keys sind die Grafik Namen........ mal sehen ob ich das noch veröffentlichen werde.
Michael Springwald
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#165
  Alt 26. Okt 2007, 15:22
So, ich habe mein Projekt erstmal auf Eis gelegt, weil ich einfach nicht die Fehler finde. Im Prinzip habe ich jetzt alles eingebaut, sogar ein eigenen Level Editor.

Aber leider kommt es noch zu Fehlern, und ich finde die Fehler nicht.
Kann sein, das ich irgendwann mal weiter mache, mal sehen.

Wenn es einer von euch mal sehen möchte, bzw. mal die Fehler korrigieren möchte, kann er es gerne sagen, dann lade ich das Projekt hoch... es allerdings in Lazarus Geschreiben.

Evlt. mach ich ein "Delphi 7" Projekt da rauß und lad es dann hoch.
im Anhang habe ich mal zwei PNG Screenshot hochgeladen.

Im Prinzip kann ich alle Levels vom Orinal laden und teilweise auch spielen.

Es gibt leider ein paar Level wo es zu seltsamen Fehlern kommt, die ich nicht ganz nachvollziehen kann.

und Säure Fehlder werden im Moment nicht beachtet.
Später soll das per Cheat ausschaltbar gemacht werden können.

Es gibt aber schon in der DrawBall Procedere entsprechende IF abfragen, die im Moment auskommentiert sind.

Es gibt auch schon eine Fertige Game-Over Seite und eine Fertige gewonnen Seite.

ach ja und das nächste Level wird im Moment nicht auto. nach geladen, dafür kann die Dateiendung vom Level mit dem Programm verknüpft werden. Somit können levels direkt von der Commandozeile aus gestartet werden.

edit01: Da wo angezeigt wird wie viele Pfeile man noch hat, soll später noch etwas mehr Farbe rein. und zwar die gleichen wie beim Klicken benutz wird.
Miniaturansicht angehängter Grafiken
drawball-leveleditor_791.png   bildschirmfoto-drawball_1.5_von_michael_springwald_128.png  
Michael Springwald
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#166
  Alt 3. Jun 2008, 17:22
Schade deine Orignal Version läuft leider nicht unter Wine. Gerade ebend mal getestet. Gleitkommerwert duch null kommt als Fehler Meldung. Dabei habe ich die neuste DX Version installiert bzw. ich glaube 8 oder 9 habe ich unter Wine Installiert.
Michael Springwald
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#167
  Alt 13. Jun 2008, 19:51
Da jetzt endlich Andorra bei mir unter Linux mit Lazarus gut zusammen läuft wollte ich nochmal eine frage stellen:
Wie ist eigentlich der Standard Geschwindigkeit ? beim Start und wie viel bringt es wenn ein Farb Tropfen den Ball erwischt ?

Ich bereite gerade eine Komplett neues Projekt vor. Mal sehen ob das besser klappt. Müsste aber. Da ich ja jetzt mit , rechnen kann.*freu*.

Ich finde die Spiele Idee aber immer noch gut. Soweit ich mich noch erinnern kann. Aber mir sind bis heute einige Objekte noch nicht 100% klar geworden wofür sie eigentlich gut sind.

Ich hoffe du hast das spiel noch mal weiter entwickelt zwischen durch.
Ich bin jetzt mal die Beiträge durch gegangen und habe diese Liste mit angaben zusammen gestellt:
Zitat:
Speed-Felder: +0.5 pro Frame
Wand = v * 0.99 (v = geschwindigkeit)
Bumper = v * 1.5
Kissen = v * 0.5

16x12 Felder mit je 48 Pixeln Kantenlänge..
Angaben für das Level Datei Format
---------------------------
%1 = Anzahl rote Farbe
%2 = Anzahl grüne Farbe
%3 = Anzahl gelbe Farbe
%4 = Anzahl blaue Farbe
---------------------------
01 = Wand
02 = Ball
03 = Ziel
---------------------------
04 = roter Farbtank
05 = grüner Farbtank
06 = gelber Farbtank
07 = blauer Farbtank
---------------------------
08 = Säure
---------------------------
09 = roter Schalter
10 = grüner Schalter
11 = gelber Schalter
12 = blauer Schalter
---------------------------
13 = rote Tür
14 = grüne Tür
15 = gelbe Tür
16 = blaue Tür
---------------------------
17 = Bumper
18 = Kissen
---------------------------
19 = Beschleunigungsfeld links
20 = Beschleunigungsfeld rechts
21 = Beschleunigungsfeld oben
22 = Beschleunigungsfeld unten
---------------------------
23 = Beamstart blau
24 = Beamstart gelb
25 = Beamstart rot
26 = Beamstart grün
---------------------------
27 = Beamziel blau
28 = Beamziel gelb
29 = Beamziel rot
30 = Beamziel grün
Diese Angaben habe ich jetzt alle.
Mir fehlen jetzt noch folgende Angaben:
01 - Start Start Geschwindigkeit ?
02 - Geschwindigkeit wenn der Ball mit einen Tropfen Zusammenstöße
03 - Der Ball wird doch immer langsamer, richtig ? D.H. es wird mit einer Standard Geschwindigkeit gestartet und
der ball wird immer Langsamer. Welche Intervall(in ms) Welches Tempo ?
04 - Wenn der Ball abprallt egal wo Rechnest du dann einfach nur mit Links, rechts und soweiter oder prallt der ball "Wirklich ab" ? beispiel. Der Ball prallt jetzt ab, könnte ja auch einfach nur zwei boolean Variablen ins Gegenteil gestellt werden per not.
Ich glaube diese drei angaben würde mir sehr weiter helfen.

PS: Ich hoffe das stört niemanden das ich diesen Thread wieder rauß gesucht habe. Es währe aber auch blöd einen neuen anzufangen, oder ?
Michael Springwald
  Mit Zitat antworten Zitat
Florian H

 
Delphi 6 Professional
 
#168
  Alt 23. Dez 2008, 00:17
Oh, deine Nachricht ist mir jetzt irgendwie rausgegangen, mini. Machst du da noch was ?
Ich werde in den nächsten Wochen auch mal versuchen, DrawBall mit Lazarus zu compilieren, sollte ja ansich möglich sein.

Ansonsten hier endlich mal wieder eine neue Version!

Neu im Vergleich zu vorher unter anderem:
  • Komplett neues Menü
  • Level sind nun in Level-Packs sortiert und diese sind im Spiel dann anwählbar (bisher relativ rudimentär)
  • verbesserte Grafiken (z.B. der Ball)
  • zusätzliche Effekte, zum Beispiel die Ball-Spur in der jeweiligen Farbe der Richtung
  • natürlich viele kleinere Verbesserungen, Bugfixes und grafische Anpassungen

Wäre toll, wenn sich wieder ein paar finden würden, die das Spiel testen wollen

Als nächstes geplant ist:
  • Tutorial-Level, um die ganzen Spiel-Bausteine und die Steuerung zu erklären
  • Level-Auswertungen: Wie viel Zeit gebraucht wurde, Punktevergabe, ...
  • Level-Pack-System erweitern: freispielbare Level, Vorschaubilder der einzelnen Level, direkte Auswahl bereits freigespielter Level
  • Highscore-Liste
  • Optionen (Sound, Effekte, ...)

Kurzanleitung für Neueinsteiger (die grafische Anleitung aus den vorherigen Versionen musste leider weichen und wurde noch nicht ersetzt):
Es geht darum, den Ball in die Zielfelder zu bekommen, dies kann man tun, indem man auf das Spielfeld eine Beschleunigungs-Farbe malt. Wenn der Ball über eine solche bemalte Fläche rollt, wird er automatisch in die entsprechende Richtung gerollt.
Die Richtung lässt sich beim malen einstellen, indem man die Pfeiltasten drückt (-> oben, unten, rechts, links).
Dann gibt es noch ein paar weitere Elemente wie Türen, Schalter, ... // neu in dieser Version: unbemalbare Flächen, hier kann nicht drauf gemalt werden [wird erst in einem Level aus dem Pack "Neue Level" verwendet).
Im Anhang befindet sich die alte grafische Anleitung nochmal zusammenkopiert - sorry, dass es im Moment nicht besser geht, aber ich will es eigentlich nur einmal machen, und dann richtig .. das kann aber noch ein bisschen dauern


Kleiner Bug, der mir gerade aufgefallen ist: Wenn man vom laufenden Spiel zurück ins Hauptmenü geht, gibts ein Problem bei den Blätter-Buttons der Level-Auswahl - bissl rumklicken, dann stimmts wieder



Schöne Grüße und viel Spaß an alle, die mal testen wollen,
flo

Edit: Einen Leveleditor gibt es im Moment nicht, da er etwas hakelig zu bedienen ist resp. nicht alle neuen Features unterstützt (Levelpacks müssen z.Z. von Hand erstellt werden).
Edit2: Ich habe ganz vergessen, das Spiel anzuhängen

----- Dateien aus dem Anhang nochmal extern verlinkt -----
http://host.holy-shit.info/thumbs/12...e__Screen1.jpg http://host.holy-shit.info/thumbs/12...1__Screen2.jpg http://host.holy-shit.info/thumbs/12..._anleitung.jpg
Externer Download (2,8 MB): hier
Miniaturansicht angehängter Grafiken
screen2_639.jpg   screen1_157.jpg   anleitung_106.jpg  
Angehängte Dateien
Dateityp: zip drawball6_448.zip (2,78 MB, 24x aufgerufen)
Florian Heft
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#169
  Alt 23. Dez 2008, 02:56
Also die einzelnen Levels lassen sich weiterhin mit meinem Editor anschauen, jedenfalls habe ich das ein einer Map mal getestet gehabt. Außer es sind neue Funktionen hinzugekommen? Okay das erste neue Level lässt sich auf jeden Fall nicht laden, da dort der "Bauen verboten"-Baustein verwendet wird. Vielleicht werde ich denn mal verbessern.

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Florian H

 
Delphi 6 Professional
 
#170
  Alt 23. Dez 2008, 11:57
Ja, außerdem können Felder jetzt doppelt belegt werden, nämlich einmal mit einer Kugel und einmal mit einem anderen Feld (sinnvollerweise natürlich nicht gerade eine Wand o.ä.).
Muss mal schauen, ob ich das irgendwie ordentlicher implementiere ...
Florian Heft
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 17 von 22   « Erste     7151617 1819     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:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:36 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