ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4395365
Jetzt (Chat):
24 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-
"Space Fighter" von Julian (Vertexwahn)


Programmiersprache: Mix aus C und C++
verwendete Entwicklungsumgebung: Microsoft Visual C++ 6.0
Weitere Tools: DirectX SDK 9.0

Spiel + Sourcecode zum download:
http://home.arcor.de/vertexwahn/beta0.5_file1of1.zip






Von -Monkey_HeaD- am 01.03.2004, 06:14:31 Uhr
nettes spielchen,

nur finde ich ist das spielfeld in relation zu der größe von raumschiff und asteroiden etwas klein geraten, und man kann nicht vor und zurück.

zum code: etwas unüblich die memberfunktionen der klassen direkt i der header zu implementieren.

mfg

Von Mastermind am 01.03.2004, 07:14:12 Uhr
...wodurch sie automatisch geinlined werden, bzw. werden könnten, da der VC Compiler inlines AFAIK ignoriert. Nicht so gut so.

Von afogel am 01.03.2004, 13:33:51 Uhr
mir macht die Frames-Zahl sorgen...auch wenn das Spiel ganz nett ausschaut...
was hast du für nen PC?

mfg afogel

Von Striker1111 am 01.03.2004, 15:12:18 Uhr
@afogel: Vsync??

Ansonsten sieht es ganz nett aus. Die Explosionen sehen irgendwie komisch aus, alles so Keise in Quadraten... und es ist gerade kein Gegner im Bild, oder gibt es nur die Meteoriten?

Von Eisflamme am 01.03.2004, 16:37:08 Uhr
Schaut ganz nett aus, aber die Sprache, die du nutzt ist allgemein für ihren schlechten Stil bekannt, ich glaube, es ist sogar die, mit dem schlechtesten Stil überhaupt.

Du solltest daher dringend umsteigen!

EDIT:
Weil es einige missverstanden hatten, ich finde die Sprache:,,Mix aus C und C++'' superhässlich...
Was heißt, ich finde?
Sie ist es.
C ist prozedural und C++ OOP, wer da einen Mischmasch produziert, daher ist die Mischung ekelerregend.

MfG MAV

Von joeydee am 01.03.2004, 20:51:58 Uhr
Ich sehe immer gern ein fertiges Spielchen, hab jetzt aber leider nicht die Zeit das auszuprobieren. Deswegen hätte ich mir auch ein paar Kommentare mehr gewünscht.

@Mis2Com: Flamewars bitte woanders starten. Deswegen sag ich jetzt auch nicht meine Meinung dazu.

Von MadMax am 01.03.2004, 22:58:29 Uhr
Es gibt keine ekelerregenden Programmiersprachen sondern nur ekelerregende Programmierer.:-)

Von Jack the Ripper am 01.03.2004, 23:13:57 Uhr
Hi,

ich habe das Spiel mal getestet und es gibt ein paar punkte, die mir nicht so gefallen:

-Einmal sollte man an den Partikeleffekten wirklich noch arbeiten. Hierzu kann man sich zB bei Programmen wie "particleIllusion" einige tricks abschauen

-Was ich ein wenig seltsam fande, ist das ein großer Komet genauso wie ein kleiner mit einem schuss kaputt ist.

-dem Spiel fehlt ein wenig pepp. Die ganze zeit auf "runterfallende steine" zu schieße ist nach ein paar min nicht mehr interessant....da sollte man noch was machen

...sonst...noch ein wenig mehr abwechslung im hintergrunf...hmm...aber an für sich schon mal eine gute basis..

MfG

Von SonicPete am 02.03.2004, 00:09:54 Uhr
Hi,

Das ist positiv gemeinte Kritik. (Ich weiss wie viel Arbeit das ist, sowas zu proggen):

ich finde, dass man schon was draus machen kann.
Es fehlt aber noch irgendwas, damit es rockt.

Z.B ne Sekundärwaffe, die nach dem Abschuss ne nukleare Explosion auslösst und mehrere Brocken aufeinmal zerstört. (Munitionsvorrat muss natürlich begrenzt sein). Und die Waffe darf nicht zu nahe am Spieler explodieren.

Ausserdem könntest Du ne Termeraturanzeige für den Laser bauen. Wird der Laser zu heiss, kann man erst mal nicht mehr schiessen.
Im Moment kann man ne Colaflasche auf die Space-Taste stellen und das Spiel laufen lassen *g*.

Ausserdem brauchst Du noch andere Ziele.
Man könnte auch glühende Kometen abballern, die schneller fliegen und schwerer zu treffen sind und deshalb mehr Punkte bringen etc.

Es könnte noch unzerstörbare Brocken geben, denen man unbedingt ausweichen muss.

Und ne Soundkulisse ist meiner Meinung nach absolut notwendig bei Shootern.

Ich hoffe Du versteht das als Anregung.
Die Explosionen finde ich ganz gut.
Ich würde eher das Spielkonzept erweitern, damit das Game an sich mehr Fun macht.

Viele Grüsse,
SonicPete

Von Eisflamme am 02.03.2004, 15:31:12 Uhr
@joeydee:
Tatsache.
Ein Mix aus einer OOP Sprache und einer prozeduralen Sprache KANN keinen guten Stil darstellen.
Da gibt es kein Wort gegen zu sagen, ist völlig indiskutabel.

MfG MAV

Von Patrick am 02.03.2004, 19:23:44 Uhr
@mis2com:
das meinst aber auch nur du.

Von Mastermind am 02.03.2004, 19:38:36 Uhr
1) Mis du hast keine Ahnung
2) Mis du hast ein Psychoproblem
3) Mis halts Maul

ein Mix aus C und C++ ist unschön, aber auch C++ code kann Prozedual sein und ein Mix aus OOP und Funktionen kann sehr OK sein und insofern ist deine Argumentation Dünnschiss.

Von scalar am 03.03.2004, 04:41:15 Uhr
1) Ihr seid alle laecherlich
2) Ihr seid alle laecherlich
3) Seid alle ruhig

Nettes Spiel, Julian.

Von Eisflamme am 03.03.2004, 15:17:50 Uhr
C++ prozedural programmiert ist kein C++, sondern wird schon länger im Bereich als C+ bezeichnet.
Ein Mix aus den Sprachen ist jedenfalls weder schöner C-Code (Klassen gibt es schließlich nicht in C) und kein toller C++-Code (modernes C++ schließt richtiges OOP mit Verwendung der STL mit ein).

Mehr sage ich dazu nicht, was ihr meint, ist wie gesagt C+.

Das hat aber nichts mit dem Spiel selber zu tun.

Zitat:
ein Mix aus C und C++ ist unschön, aber auch C++ code kann Prozedual sein und ein Mix aus OOP und Funktionen kann sehr OK sein und insofern ist deine Argumentation Dünnschiss.

Hm, Funktionen mit Klassen in Verbindung bezeichne ich auch keineswegs als C/C++ Mix.
C++ ohne C geht nicht, ich meine eher C-Hacks und Derartiges, dazu zählen C-Kommentare, #define für Makros, Spielstände und Variablen etc.
Eine Funktion global zu halten ist auch kein durchgehend prozeduralel Stil, aber C/C++ Mix bedeutet wohl, dass manchmal eine Klasse und manchmal alles doch nur aus Funktionen gemacht wird.
Auch zählt dazu z.B. globale Variablen zu nehmen, wenn man gerade nicht weiß wohin damit.
Heilloses Durcheinander also...

DAS meine ich, mäßige dich.

Von ChrisM am 03.03.2004, 15:27:03 Uhr
Hi,

jetzt muss ich aber auch mal was dazu sagen.

Ich finde schon, dass Mis2com irgendwie recht hat. Klar geht es nicht darum, einem C-Programmierer sein // und das Definieren von Variablen mitten in einer Funktion zu verbieten oder einem C++-Programmierer seinen kleinen C-Hack oder seine va_list schlecht zu machen, aber ich stimme Mis2com zu, dass ein Mix von C und C++ schlechter ist, als sich für eine der beiden Sprachen zu entscheiden.
Etwas anderes ist es, wenn man prozedural und programmiert und Klassen nur als eine Art verbesserte Struktur ansieht, aber ansonsten hat er eigentlich schon recht.

@Mastermind: Wow, du führst ja tolle und schlagkräftige Argumente an. Erstens kenne ich Mis2com lange genug, um zu sagen, dass er sehr wohl von vielen programmiertechnischen Sachen Ahnung hat (PHP, SQL, HTML/CSS und ja, auch C++) und das Psychoproblem hat hiermit ja jetzt wirklich nichts zu tun. Aber dein drittes Killer-Argument reißt dann natürlich wieder alles raus.

Grüße an das argumentatorische Genie (Mastermind),
ChrisM

Von Sefiroth am 03.03.2004, 17:18:01 Uhr
Kann Mis2com nur recht geben.
Aber selbst diese ewigen Ermahnungen werden 95% der Programmierer nicht dazu bewegen, sich zu bessern.

Von Nameless Fox am 03.03.2004, 22:07:50 Uhr
Es gibt zwar fest definierte Programmiersprachen und Libraries, aber wie man diese schlussendlich verwendet bleibt jedem Programmierer selbst überlassen.

Wo soll denn bitte da der Unterschied sein? Schlussendlich ist auch kompilierter C++-Code prozedual. Es geht also nur um den Programmierstil. Und der bleibt jedem immer noch selbst überlassen.

Man sagt einem Künstler ja auch nicht, wie er zu malen hat (oder zumindest sollte man das auch nicht tun). ;-)

Von CrystalCoder am 03.03.2004, 23:21:43 Uhr
Hi,

1. Hört auf euch zu streiten.
2. Hört WIRKLICH auf euch zu streiten.
3. Und vergesst nicht 1. und 2. :D

Zum Spiel: Ich hab es zwar noch nicht ausprobiert (mach ich morgen vielleicht) aber so wie es auf dem Screenshot aussieht, finde ich auch die Dimensionen etwas zu groß geraten. Besonders die Partickel. Alphablending würde aber auch nicht schaden, dann gehen die harten übergänge bei den Partickeln weg. Vielleicht noch etwas kleinere Grafiken für die Partickel und es sollte schöner aussehen.

PS: Man sieht ganz deutlich, dass es eine jpg-Datei ist ^^. Ich würde eher png empfehlen, da diese Rechtecke, welche um bestimmte Bereiche liegen, dann nicht auftreten (nur so als Hinweis).

Viel Spass noch beim Proggen und mach weiter so! =)

CU
-> CrystalCoder

Von NorFork am 04.03.2004, 13:22:19 Uhr
CHallo.

1. Käse!
2. Kuchen!
3. 1. und 2. gleich Käsekuchen!

Ich finde es super das Julian den SourceCode hier öffentlich zugänglich macht und werde auch gleich mal darin rumschnüffeln :-)

MfG, Norfork

Von Vertexwahn am 05.03.2004, 19:50:18 Uhr
hab mir ein Buch zu Objektorientierter Programmierung gekauft - mir ist jetzt klar welche gravierenden Fehler ich gemacht habe

die Frame Rate hängt von der Bildwiederholfrequenz des Monitors ab - auf meinem Labtop hab ich nur 60 Hz

Die Bilddateien sind als BMP gespeichert

Ich habe den Sourcecode nur veröffentlicht damit Anfänger sehen können wie man 2D Spiele mit D3D9 realisieren kann

Von Nuts am 05.03.2004, 23:07:37 Uhr
Also mal ehrlich, Julian Du hast nicht einen Fehler gemacht. Es gibt kein richtig oder falsch. Es gibt keinen schlechten Stil. Schlecht ist nur, wenn man sich nicht an die Abmachungen innerhalb eines Teams hält. Da Du das spiel mehr oder weniger alleine programmiert hast, kann auch keiner sagen, Dein Source wäre häßlich, schlecht oder unübersichtlich - solange Du damit zurecht kommst. Wenn Du mittlerweile zu dem Schluß gekommen bist, dass Dein Quellcode nicht "gut" ist, kannst Du sagen er ist schlecht. Kein Anderer. Ein schlechtes Beispiel ist er nicht. Er ist ein Beispiel dafür wie man etwas zum laufen bekommt. Und darauf kommt es an. Wan nützt einem eine perfekte OOP-Engine, wenn damit nie ein Spiel geschrieben wird. In dieser Hinsicht Hut ab von mir. Dazu kommt noch, dass Du Deinen Quellcode frei zugänglich gemacht hast. Hätte ich jetzt noch einen Hut auf, würde ich ihn noch einmal ziehen. Nochmal an alle: Es gibt keinen schlechten Stil und keine schlechten Beispiele. Es gibt nur Leute die zu unflexibel sind, um sich an den Stil anderer anzupassen. Wer um jeden Preis auf seinen "Stil" besteht kommt nicht weit. Ich weiß wovon ich rede. In diesem Sinne alles Gute und keine Angst etwas zu veröffentlichen!

Von Eisflamme am 06.03.2004, 12:22:39 Uhr
Es gibt doch schlechten Stil, und das hat er zum Glück auch eingesehen, sehr gut, Vertexwahn. :)

Von Kimmi am 06.03.2004, 15:02:40 Uhr
Mir gefällt zum einen das Spiel und zum anderen, dass du dich der Kritik stellst, in dem du deinen Source freigibst. Ob das nun schlechter Stil ist oder nicht, andere können von deinen Implementierungen etwas lernen (und sei es, wie man es nicht machen sollte =)).
Zum Thema schlechter Stil im Code: Er hat sich der Kritik gestellt und sein Source offen dar gelegt. Wer von den Maulenden ist dazu ebenfalls bereit? Ich habe noch keine angebotenen Patches von euch dazu gesehen, in denen ihr zeigt, wie das besser geht. Nur zu sagen, dass das alles Mist ist, hat keinen Wert. Zeigt doch mal, wie man es besser macht. Wer das nicht will, sollte IMHO mal die Bälle flachhalten.

MfG Kimmi

Von Vertexwahn am 06.03.2004, 21:42:13 Uhr
> Zeigt doch mal, wie man es besser macht

wurde doch schon zum Teil - ich muss sagen als ich das Ding programmiet hatte kannte ich noch nicht den Unterschied zwischen Heap und Stack ;)
darum auch die direkte implemetierung in den Headerdateien ;)

hab auch einige switch Anweisungen, die man schön mit Plymorphie lösen könnte

Von Eisflamme am 07.03.2004, 20:36:57 Uhr
Hi,

wunderbar, finde ich wirklich sehr gut, dass du dich jetzt näher damit auseinandersetzt. :)
@kimmi:
Wenn er in einem C/C++ Gemisch codet, hat das in sehr vielen Fällen weder Templates, OOP (manchmal Klassen zählt noch nicht zu richtigem OOP Design), Ausnahmebehandlung noch überladene Operatoren uvm.
Die Unterschiede von C und C++ hier zusammenzufassen, würde mal wieder den üblich bekannt begrenzten Rahmen sprengen, ich habe das Buch von Scott Meyers empfohlen, in dem man ziemlich viel zu diesem Stil nachlesen kann, obgleich es, soweit ich weiß, nicht auf Ausnahmebehandlung eingeht.

Ich habe den Source nicht betrachtet, wenn man allerdings über sein eigenes Projekt schon sagt, dass es ein C/C++ Gemisch und nicht wirklich C++ ist, dann ist eigentlich klar, dass man nicht viel Ahnung von ,,wirklichem C++'' hat.

In jedem Fall will ich Vertexwahns Projekt nicht runtermachen, ich finde es gut, dass er den Quellcode freigibt, damit andere daraus lernen können.

Dadurch dass hier auch komplexere und fortgeschrittenere Projekt dargestellt werden, ist auch klar, dass man nicht auf so viel Lob wie Kritik stößt, ich denke aber, dass einem das auch klar ist, und dass das Projekt für den Wissensstand gut ist, konstruktive Kritik zu kritisieren halte ich für ziemlich schwachsinnig und wer sich mal in Fachforen für C++ umsieht und sich wirklich mit C++ auskennt, der wird wissen, dass C/C++ Mix keine schöne Sprache ist.

Ich werde darüber nicht weiter diskutieren, ich wünsche dir, Vertexwahn, viel Erfolg beim Lernen von ,,ordentlichem C++'' und hoffe, dass du meine Kritik nicht so hart aufgefasst hast, wie es den Aussagen der C/C++ Mix Ausüber aufzufassen war.

MfG MAV