JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Spaceball (Sat1 Superball Clon)
Gehe zu Seite 1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Projekte
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Flow
Junior JLI'ler


Alter: 41
Anmeldedatum: 13.09.2005
Beiträge: 57

Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 01:12    Titel: Spaceball (Sat1 Superball Clon) Antworten mit Zitat

So nachdem ich vor ein paar Wochen ein paar Fragen hatte hab ich mich zum programmieren zurückgezogen und nun ist mein 1. "Projekt" prinzipiell abgeschlossen. Zwei Dinge fehlen zwar noch (Sound und Feintuning & Abwechslung), aber momentan habe ich wegen Klausuren einfach keine Zeit mehr und es war eigentlich auch nur mein erster Gehversuch im Bereich DirectDraw.

Es handelt sich quasi um einen Klon des ehemaligen Sat.1 Superballs aus dem Morgenmagazin, wenn auch etwas modifziert und wahlweise für zwei Spieler.

Ich habe einiges daraus gelernt wie z.Bsp. ERST die Engine programmieren, DANN das Spiel, das hat mir doch zwischenzeitlich das programmieren sehr erschwert.

http://home.arcor.de/fmmeiser/Spaceball/Spaceball-Setup.exe

Überschreibt am besten danach noch die Fontdateien mit diesen hier:
http://home.arcor.de/fmmeiser/Spaceball/fonts.ace
sieht etwas angenehmer aus, als die zu erst implementierten.

Ich stelle es einfach mal online. Es ist kein ehrgeiziges Projekt, sondern einfach nur ein Test.

An dieser Stelle nochmal ein Dank an Patrick, der mir zu Beginn sehr hilfsbereit Mut machte. Very Happy

Feedback dennoch erwünscht.
Flo

PS: Frohes Fest Euch allen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 09:41    Titel: Antworten mit Zitat

Nett, gefällt mir gut, klappt alles.

Übrigens: die Leute, die die PC Umsetzung für Sat.1 / Software 2000 für Superball gemacht haben, haben mit mir studiert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Blubb-Tec
JLI'ler


Alter: 33
Anmeldedatum: 29.03.2005
Beiträge: 171
Wohnort: Düsseldorf
Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 10:05    Titel: Antworten mit Zitat

mir gefällts auch gut, aber mir ist doch ein unschöner bug aufgefallen: wenn man ein level geschafft hat, sprich die zeit auf null ist, zuckt die zeit jede sekunde auf 1, und man bekommt weiterhin punkte gut geschrieben oO
dann würde ich alle kugeln ein bissl kleiner machen, und mehrere kugeln gleichzeitig über den bildschirm hetzen Smile
_________________
www.planlos.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Flow
Junior JLI'ler


Alter: 41
Anmeldedatum: 13.09.2005
Beiträge: 57

Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 11:35    Titel: Antworten mit Zitat

Das freut mich Lob vom Meister persönlich zu bekommen Smile
Da ist ja auch eine kleine Widmung unter Credits an Dich gerichtet Smile
Ich fand das damals ganz lustig, wenn jemand angerufen hat und dann immer dieses "links", "rechts" "links", etc. kam Very Happy

Blubb-Tec: Das ist kein bug sondern ein Feature Very Happy . Allerdings gebe ich zu, das ein Feature, das für einen Bug gehalten wird, ein schlechtes Feature ist. Es soll einfach eine kleine Belohnung sein dafür, dass man einen Level geschafft hat. Vielleicht sollte ich dann für diesen Zeitraum einfach darüber den Text "Bonus" oder so erscheinen lassen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 12:33    Titel: Antworten mit Zitat

so habs auch ma getestet Wink

isn schönes Spiel, aber ein paar "bugs" hab ich schon gefunden:

1. ich hab ein 2-Spieler Game gemacht und dann im 1. Level noch auf ESC gedrückt, um ins HM zu kommen. Dann wollte ich nochn neues Spiel starten und dabei isser gecrascht.

2. Bin im 3. Level am Anfang gegen sone Kugel gestoßen un dann immer wieder, sobald die Kugel regeneriert war, explodiert

Aber sonst isses ein nettes Game für zwischendurch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
JkerryZ
JLI Master Trainee



Anmeldedatum: 18.05.2004
Beiträge: 575
Wohnort: Wolfsburg
Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 12:45    Titel: Antworten mit Zitat

Schönes Spiel Very Happy

Würde es aber ebenfalls gut finden, wenn mehrere Kugel gleichzeitig kommen, damit man mehr zu tun bekommt. Denn so wies gerade ist, sind die ersten Level ein wenig zu leicht.

Und mach mal den Alpha-Channel bei den Kugeln aus ^^
Durch einige kann man durchgucken Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3431
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 16:45    Titel: Antworten mit Zitat

Das Intro fand ich schon gar net schlecht Smile
Was mich leider stört, ist das im Spiel kein Sound vorhanden ist. Und irgendwie wird es mit der Zeit langweilig, in Level 5 hatte ich keinen Bock mehr, was wohl auch daran leigt, das immer nur ein Ball kommt.
Noch ein Tipp: du solltest die Kollisionserkennung verändern, ich schätze mal, das läuft im Moment auf Rechteckbasis, aber da es ja Kugeln sind, gibt es eine sehr einfache Methode! Nämlcih, das 2 Kugeln sich berühern, wenn die Summe der Radien größer ist als der Abstand der Mittelpunkte. Abstand geht übern Pythagoras, da man aber längen nur vergleicht, kann man sich Wurzel sparen, und einfach Summe der Radien quadrieren, genauer und schneller.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 17:17    Titel: Antworten mit Zitat

gibt auch ne (haut mich net Smile ) Funktion von D3DX dafür, was Jonathan meinte, wenn du das also benutzt, könntestes so realisieren:
CPP:
D3DXVECTOR2 Vektor1 = posKugel - posGegner; // Abstandsvektor
float sqAbstand D3DXVec2LengthSq( &Vektor1 ); // quadratischer Betrag( Länge²)

//nehmen wir an, der Radius einer Kugel wäre 2
if(sqAbstand <  4+4 ) // Radius² = 4
{
          // Treffer
}


Gruß DirectXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 18:28    Titel: Antworten mit Zitat

Als ich das erste Mal in die Highscores reingeschaut hab, bin ich weder mit ESC, noch mit Alt+F4, noch mit STRG+ALT+ENT wieder rausgekommen Neutral Nur noch Reset hat geholfen...

Sonst ganz nett Wink

PS: Kann es sein, dass das Zeitmanagement noch nicht ganz stimmt? Ich hab nämlich den Eindruck, dass bei mir die Kugeln seehr schnell runterfallen Razz
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
KI
JLI Master


Alter: 38
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 23.12.2005, 22:30    Titel: Antworten mit Zitat

The Lord of Programming hat Folgendes geschrieben:
Als ich das erste Mal in die Highscores reingeschaut hab, bin ich weder mit ESC, noch mit Alt+F4, noch mit STRG+ALT+ENT wieder rausgekommen Neutral Nur noch Reset hat geholfen...

Bei mir auch.

Aber ich habe es ohne Reset geschafft das Programm zu beenden. Durch "blindes" bedienen des Taskmanagers. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 24.12.2005, 00:40    Titel: Antworten mit Zitat

*lol* Hab ich auch versucht, aber bei mir hat nicht mal mehr der Taskmanager reagiert Laughing
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 24.12.2005, 01:46    Titel: Antworten mit Zitat

Gut umgesetzt, auch wenn das Spielprinzip nicht gerade etwas ist was man den ganzen Tag lang spielen kann Wink .
Mir ist aber auch noch ein kleiner Bug aufgefallen. Als color-key verwendest du ja offensichtlich Schwarz. Das ist keine besonders gute Wahl denn in einigen der Bällen ist ja auch Schwarz drin und das führt dann zu unschönen Effekten. Ich verwende immer 0xFF008040 als Colorkey, denn um so einen Grünton zu machen gibts auch noch Haufenweise andere Zusammensetzungen.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Flow
Junior JLI'ler


Alter: 41
Anmeldedatum: 13.09.2005
Beiträge: 57

Medaillen: Keine

BeitragVerfasst am: 26.12.2005, 11:47    Titel: Antworten mit Zitat

Hey erstmal Danke für das viele Feedback:

@Lord of Programming:
da müsste ich nochmal schauen, ich hatte das Problem während der Testphase, jedoch hatte ich den Eindruck, dass es ausgemerzt wurde.

Wie meinst Du das mit dem Zeitmanagement? In späteren Levels (es gibt 7) sollten die Kugeln schneller werden. Die Geschwindigkeiten werden per Zufall bestimmt, allerdings hat jeder Level eine maximale Geschwindigkeit. Die Geschwindigkeit ist zwar in einem Integer-Wert definiert, allerdings auf Systemzeitbasis, d.h. bsp. in 100 ms. rollt der ball 1, 2 ... pixel runter. Müsste eigentlich auf allen PCs gleich schnell laufen.

@Jonathan Klein
Ich bin froh, dass ich Mathe gerade bestanden habe an der FH. Ich bin in dem Bereich nicht der große Renner aber ich schau mir das mal an. Danke für den Tipp - auch an DirectXer.
Den Sound habe ich aus Zeitgründen nicht einbauen können. Muss mich jetzt um die Klausuren kümmern Smile
Die ersten drei Level sind in der Tat ziemlich langweilig - das muss ich zugeben. Dazu hätte es etwas Balancing bedarft, aber s.o. Smile
Um eine zweite Kugel parallel einzubinden müsste ich den Code extrem umschreiben - (hab zu unflexibel programmiert - das ist mein Lehrgeld). Allerdings kommen in Level 6 und 7 zwei Kugeln auf gleicher Höhe vor. Die sollte ich wohl schon in Level 5 auftauchen lassen, oder? Wink

@Dr. Best
Danke für den Tip mit dem Colorkey. Werde das berücksichtigen, wenn ich dazu komme das zu überarbeiten.

Den Bug mit dem mehrfachen explodieren hielt ich auch für behoben.. Embarassed
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 26.12.2005, 15:52    Titel: Antworten mit Zitat

Flow hat Folgendes geschrieben:
Wie meinst Du das mit dem Zeitmanagement? In späteren Levels (es gibt 7) sollten die Kugeln schneller werden. Die Geschwindigkeiten werden per Zufall bestimmt, allerdings hat jeder Level eine maximale Geschwindigkeit. Die Geschwindigkeit ist zwar in einem Integer-Wert definiert, allerdings auf Systemzeitbasis, d.h. bsp. in 100 ms. rollt der ball 1, 2 ... pixel runter. Müsste eigentlich auf allen PCs gleich schnell laufen.

Wie hoch ist denn dieser maximale Integerwert?
Ich meine nur, dass (als ichs die ersten Male gestartet hab) ich nicht die geringste Chance zum Ausweichen hatte, weil der Ball schon so schnell unten war, dass die Geschwindigkeit von meinem Ball rechnerisch nicht mal dazu ausgereicht hätte... Razz
Also es ist schon vorgekommen, dass die Dinger etwa mit einer Frequenz von 5+ Bällen pro Sekunde runtergekommen sind. Das bedeutet, jeder Ball braucht 200- ms, bis er unten ist. D.h. wiederum bei (ich vermute jetzt mal 640*480 Wink ) 480 Pixeln Höhe, dass er sich jede Millisekunde um ca. 0,4+ Pixel bewegt und alle 100 Millisekunden um 41,6+ Pixel. Razz
Ich hoffe, dir hilft die kleine Rechnung... *g*
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flow
Junior JLI'ler


Alter: 41
Anmeldedatum: 13.09.2005
Beiträge: 57

Medaillen: Keine

BeitragVerfasst am: 26.12.2005, 19:44    Titel: Antworten mit Zitat

in level 1 ist der maximale integer 3. Wie schnell bewegt sich denn das Raster? Das hat nämlich Geschwindigkeit 1. Nach oben hin ist das im zwei Spielermodus ohne Grenze. Alle 30 Sekunden wird dort die maximale geschwindigkeit inkrementiert.
Wie schnell vergeht denn bei Dir die zeit auf der anzeige links?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Projekte Alle Zeiten sind GMT
Gehe zu Seite 1, 2, 3  Weiter
Seite 1 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum