[ZFX-Action] FSDSD

Hier findet ihr die Beiträge der ersten ZFX Action (22.04.2010 bis 07.06.2010)
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

[ZFX-Action] FSDSD

Beitrag von Despotist »

Hiermit möchte ich mein ZFX-Action Spielewettbewerb-Projekt mit dem Namen FSDSD vorstellen. Dabei steuert ihr einen Kandidaten durch zahlreiche Castingshows und müsst die Jury durch Arroganz und Idiotie von euch überzeugen. Wer hier jetzt aufhören möchte mit lesen: war nur Spaß.

Hintergrund:
Ich wollte ein Asteroids-ähnliches Spiel machen da Weltall einfach und größtenteils schwarz ist (Grafiken). Aber da man riesige Asteroiden von mehreren 100 m oder km Durchmesser nicht einfach zerbröselt ist der Sinn dieses Spiels eher das Ausweichen. Als Ansporn hab ich wie üblich das Geld gewählt das man mit "Handel" unter Zeitdruck verdienen muss. Um ein wenig Tiefe reinzubringen kann man sein Schiff auch Pimpen was natürlich Geld kostet.

Bedienung:
Siehe
FSDSD_Anleitung.pdf
Die Anleitung
(289.06 KiB) 445-mal heruntergeladen
Code:
Ich hoffe dass das Spiel alle Kriterien und Bedingungen (Richtlinien) erfüllt. War mir bei einigen Punkten nicht sicher.
Basis ist das XNA-Framework für den Client und eine .Net Konsolenanwendung für den Server (C#). Die Multiplayerfunktionalität ist über .Net-Remoting realisiert. Die Sprache für GUI und Code ist englisch meine Kommentare im Code meist deutsch.
Ich weiß es ist weder ein besonderer Augenschmaus noch besonders bedienfreundlich (Configdateien) aber ich wollte mich nicht mit GUI rumschlagen sondern ein paar elementare Konzepte probieren die ich bei meinem nächsten Projekt verwenden will. Außerdem ist vieles nicht besonders elegant programmiert (Server Interface) aber ich bin auch nur Hobby-Entwickler (nicht ausgebildet) und hier musste es "schnell" gehen und das ganze ist ja überschaubar.
Die Input-Klasse habe ich aus einem alten Projekt von mir genommen.
Es sind noch ein paar Todos im Code (gekennzeichnet durch //#) aber nichts wahnsinnig dringendes. Also wenn jemand Lust hat ... ;). Open Source soll sich ja für alle lohnen.
Der Client hat laut http://richnewman.wordpress.com/2007/07 ... t-utility/ etwa 900 Zeilen (ohne Leer + Comments) und das Server-Interface etwa 1550 also zusammen fast 2500 Zeilen.

Lizenz:
Das Spiel, die Resourcen (Bilder, Sounds usw) und der Sourcecode wurden komplett von mir allein erstellt und stehen unter der "The MIT License" (http://www.opensource.org/licenses/mit-license.php).
Ich übernehme keine Gewähr für eventuelle Schäden, ihr nutzt die Software also auf eigenes Risiko. Falls ihr anfällig für Epilepsie sein solltet fragt euren Arzt bevor ihr spielt. Und legt jede Stunde eine Pause von 15 Minuten ein. ;)

verwendete Software + Resourcen:
-IDE: Microsoft Visual C# 2008 Express mit XNA Game Studio 3.1 (XNA Runtime erforderlich, gibts hier http://www.microsoft.com/downloads/deta ... laylang=en und MS.Net Framework hier http://msdn.microsoft.com/en-us/netfram ... 78097.aspx)
-Grafiken: Gimp 2.6.2
-Schrift: http://www.urbanfonts.com/fonts/Crystal.htm
-Sounds: DarkWaveStudio 3 (Antriebs und Kollisionssound), Audacity 1.2.6 für die Konvertierung des Wav-Formates damit XNA es leiden kann
-Readme: Open Office 3.1

XBox360:
Ich überlege das Spiel ohne Multiplayer auch auf XBox360 zu verkaufen. Müsste mir dafür aber noch die Hardware und die Mitgliedschaft zulegen. Was haltet ihr davon? Wie sind die Verkaufszahlen solcher Spiele? Hat jemand Erfahrungen oder Tipps?

Issues + Bugs:
Aufgrund der Struktur als Client/Server kann es zu "Sprüngen" kommen wenn die Abfragerate niedrig ist (desynch) da der Client mit den letzten Daten eine Extrapolation macht (weiterlaufen lassen ;)). Wenn dann die neuen Daten vom Server
kommen und der was anderes berechnet hat (z.B. Kollision) ändern sich die Anzeigen im Client sehr schnell (sprungartig). Das kann man weitestgehend vermeiden indem man die Abfragerate hoch stellt in der Configfile (sofern es die
Hardware/Leitung zulässt).
Die Kollision erfolgt nicht pixelgenau (da die Grafikdaten auf dem Server der Kollision berechnet auch nicht vorliegen) sondern nach Entfernung der Zentren der Objekte also nicht wundern wenn es komisch aussieht. Die Objekte behalten
ihre Geschwindigkeit bei und ändern nur die Richtung (unelastischer Stoß) wobei die Masse von allen als gleich angesehen wird.
Nachdem die Zeit abgelaufen oder der Spieler zerstört ist hört das Spiel einfach auf. Man könnte noch die Highscores irgendwo uploaden oder eine email schreiben und in eine Datenbank eintragen. Aber da ich keinen Server zur Verfügung
habe und das auch nicht direkt eine große Herausforderung im Spieldesign darstellt hab ich vorerst darauf verzichtet. Die Highscores müssten zur Vergleichbarkeit auf jeden Fall an eine (runterladbare) Configfile gekoppelt werden (zu
viele Varianten).
Ich weiß die Configfile ist nicht thematisch sortiert und sehr unübersichtlich. Hatte keine Lust das noch zu machen und zu testen. Wenn Bedarf besteht reiche ich das nach der Bewertung noch nach (mit anderen Feature Requests). Die
Max/Min Angaben in den Kommentaren der Configfile sind nur Richtlinien und werden nicht erzwungen/geprüft.

Todo, Ideen, Verbesserung + Balancing:
Auch die Frachter bewegen sich kreisförmig um das Spielfeld herum (alle in selbe Richtung mit gleicher niedriger Geschwindigkeit).
Die verschiedenen Spieler verschieden einfärben (Nutzen?).
Wenn man dockt werden kleine zufällige Missionen angeboten z.B "Bringe Päckchen für 1000 Money in 2 Minuten nach Station 1" und ein Timer zeigt die Restzeit an.
Jedenfalls gibt es noch viele kleine Baustellen und Todos und ich würde das ganze nicht als "fertig" bezeichnen. Eher als Beta-Release.

Fazit, Erfahrungen + Gelerntes:
Auf jeden Fall war es interessant mal den gesamten Prozess vom Design über Resourcen (Bilder), Code, QA zum fertigen Produkt für einen "Auftrag" durchzumachen. Also wo man nicht unbedingt seine persönliche Erfüllung darin sieht und unter Zeitdruck steht. Die meiste Zeit (mindestens die Hälfte) ging aber für den Multiplayer Teil (und seine Implikationen) drauf. Ich schätze ohne diesen wäre es in zwei Wochen möglich gewesen.
Zum einen war es dank .Net Remoting einfacher als ich mir vorgestellt hatte Multiplayer hinzuzufügen aber im Nachhinein führte es doch zu einigen "Problemen" die eine Anpassung erforderlich machten. Zum Beispiel bekommt jeder Client
seinen eigenen Thread auf dem Server was statische Variablen unbrauchbar macht. An sich nicht schlimm aber bis ich das alles rausgefunden und angepasst hatte ...

Schlusswort:
Über Feedback jeglicher Art würde ich mich freuen. Sollten noch Bugreports, Feature Requests oder sonstige Vorschläge kommen würde ich diese noch versuchen umzusetzen und nach der Urteilsverkündung eine neue Version posten (diesen Beitrag editieren) oder ist das nicht erlaubt/erwünscht?
Ist auch ne ganze Menge Text geworden aber jeder der mitmacht ist das sicher gewohnt so viel auf Text zu starren ;).
Viel Spass.

offtopic:
Und auf jeden Fall vielen Dank an die Community für die tolle Aktion besonders die Organisatoren, die Spender und die Teilnehmer. Ich habe viel gelernt und es hat Spaß gemacht.
Sollte es wieder so eine Aktion geben bin ich sofern die Zeit es zulässt wieder dabei. Falls das Theme "Strategie" ist (Runde/Echtzeit) hab ich schon eine Idee im Kopf. Und falls erlaubt würde ich dann gern einen Teil der hierfür entwickelten Infrastruktur verwenden (Client/Server) um Zeit zu sparen und damit die bitteren Lerneffekte nicht umsonst waren ;).

Dann wünsche ich allen Teilnehmern viel Erfolg und ich freue mich schon auf die Beiträge.
Henry
Dateianhänge
FSDSD_Code_Singleplayer.zip
Code für Singleplayer
(504.98 KiB) 340-mal heruntergeladen
FSDSD_Game_new.ZIP
Das Spiel jetzt neu mit Singleplayer
(739.08 KiB) 367-mal heruntergeladen
FSDSD_Code.zip
Der Code
(1.62 MiB) 370-mal heruntergeladen
Ein Screenshot
Ein Screenshot
Zuletzt geändert von Despotist am 01.06.2010, 19:42, insgesamt 1-mal geändert.
Psycho
Establishment
Beiträge: 156
Registriert: 16.09.2002, 14:23

Re: [ZFX-Action] FSDSD

Beitrag von Psycho »

Hallo.

Ich kann es leider nicht starten.
Windows 7 Professional (32-bit), ATI Grafik (3400 mobile)

Hab probiert, zuerst den Server zu starten (der geht) und dann den Client, leider gibt es trotzdem einen Absturz.
Dateianhänge
fsdsd.png
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Psycho hat geschrieben: Ich kann es leider nicht starten.
Genau sowas hab ich befürchtet. Gibt es denn eine Messagebox mit Fehlermeldung? Kommt eine Abfrage der Firewall? Wenn nicht ist wahrscheinlich die XNA-Runtime oder das .Net-Framework nicht auf dem erfoderlichen Stand. Bitte die Redistributables aus den geposteten Links installieren.
Klappt es bei jemandem?
Ich hatte nur meinen Entwicklungsrechner zum testen.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [ZFX-Action] FSDSD

Beitrag von Chromanoid »

Hi Henry,
erst mal super, dass du mitmachst und respekt für deinen ambitionierten beitrag!

ich kann dein spiel zwar starten, allerdings stockt es bei mir in regelmäßigen abständen (ca. alle 500ms) ziemlich stark und macht es so leider unspielbar...
Ich habe Vista 64bit mit 2400 quadcore prozessor und soweit ich weiß alle frameworks up to date. ggf. teilweise debug versionen (glaube aber nicht)... meinen virenscanner habe ich testweise ausgeschaltet und als administrator habe ich die ausführung auch versucht... leider alles ohne verbesserung.

an sich macht das spiel übrigens einen sehr guten eindruck, schade dass es bei mir nicht flüssig läuft...

viele grüße
Christian
Psycho
Establishment
Beiträge: 156
Registriert: 16.09.2002, 14:23

Re: [ZFX-Action] FSDSD

Beitrag von Psycho »

Ah, die XNA-Redist hat gefehlt. Starten kann ich jetzt, ein ausführlicherer Bericht folgt :)
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Chromanoid hat geschrieben: ich kann dein spiel zwar starten, allerdings stockt es bei mir in regelmäßigen abständen (ca. alle 500ms) ziemlich stark und macht es so leider unspielbar...
Oje, eine Ferndiagnose ist natürlich schwer. Ich würde dich mal bitten in der "GameSettings.ini" den Wert "[int] Serverabfragen pro Minute" mal zu modifizieren. Versuch mal 120 (2 / sekunde), 1200 (20/sekunde) und 6000 (100/sekunde).
Meine Vermutung wäre, dass das Problem an der Client/Server Architektur liegt. Der Wert modifiziert, wie oft eine Kopie der Spieldaten an die Clients geschickt werden darf. Wenn der Client keine aktuellen Daten hat extrapoliert er die letzten Positionen und Geschwindigkeiten.
Bei mir laufen sowohl Debug als auch Release Build flüssig also denke ich nicht dass es daran liegt.
Dieser blöde Multiplayer hat mir nur Ärger eingebracht. Falls solche Pobleme auch bei anderen auftreten muss ich alles nochmal in einer Singleplayerversion zusammenkochen. Also wäre schön wenn es noch mehr Erfahrungsberichte gibt.
Chromanoid hat geschrieben: erst mal super, dass du mitmachst und respekt für deinen ambitionierten beitrag!
Ich freue mich das du dich freust ;). "Ambitioniert" bedeutet ja meist gewollt und nicht gekonnt ;) (nur Spaß).
Psycho hat geschrieben: die XNA-Redist hat gefehlt. Starten kann ich jetzt, ein ausführlicherer Bericht folgt
Ich hatte gestern noch die Hauptmethode in einen try-Block eingefügt und wenn man keine Messagebox mit dem Exception-Text bekommt liegts schonmal nicht an meinem Spiel ;). Schau bitte mal ob es auch bei dir Probleme macht.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [ZFX-Action] FSDSD

Beitrag von Chromanoid »

mmh im moment stockt es jetzt nur noch am anfang... irgendwie habe ich das gefühl, dass das was mit der beschleunigung zu tun hat. (habe Serverabfragen sogar auf 7000 gestellt und stocken hat sich nicht verändert). jedenfalls stockt es bei mir vor allem, wenn sich das schiff nicht bewegt und ich nicht beschleunige. konnte eben also etwas länger ohne stocken spielen. mir persönlich hat etwas die action gefehlt, allerdings habe ich auch nur alleine gespielt. auf jeden fall hat es aber spaß gemacht!
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Chromanoid hat geschrieben: habe Serverabfragen sogar auf 7000 gestellt und stocken hat sich nicht verändert
Der Wert empfohlen zwischen Min und Max in der Settingsdatei ist aus dem Bauch raus. Es wird nicht erzwungen und jeder kann einstellen was er will.
Chromanoid hat geschrieben: jedenfalls stockt es bei mir vor allem, wenn sich das schiff nicht bewegt und ich nicht beschleunige.
Auch wenn du gedockt bist?
Beim Stocken lässt sich da noch die Maus bewegen?
Wenn du fliegst ohne zu beschleunigen (ohne Triebwerke zu zünden) aber schon etwa Geschwindigkeit drauf hast stockt es da auch?
Chromanoid hat geschrieben: konnte eben also etwas länger ohne stocken spielen. mir persönlich hat etwas die action gefehlt, allerdings habe ich auch nur alleine gespielt. auf jeden fall hat es aber spaß gemacht!
Das es wenig Action ist war beim Design noch nicht so direkt abzusehen. Ich wollte halt nichts mit ballern machen wie alle anderen ;). Du kannst aber mehr Action einfügen indem du z.B. die Anzahl und Geschwindigkeit der Asteroiden in den GameSettings erhöhst. Wobei es eben auch schwieriger wird. Ob es mit anderen Spielern mehr Action wird wage ich zu bezweifeln. Wäre aber super wenn das jemand mal versucht.
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Update:
Da es zumindest bei einem Probleme zu geben scheint habe ich den Multiplayerteil entfernt und alles auf eine Exe zusammengekocht. Dafür habe ich die Spiele-zip-Datei neu hochgeladen wo jetzt FSDSD_SIngleplayer.exe auch mit drin liegt. Wer Probleme mit dem Client-Server Zeug hat soll mal bitte das probieren.
Außerdem ist bei der alten Client und der Singleplayer Exe ein Bug gefixt der einen falschen Shortkey für das kaufen des Triebwerksupgrades anzeigte (T statt S). Für die Singleplayer-Anwendung hat sich auch einiges am Timing geändert. Der Code für Singleplayer wurde auch hochgeladen.
Viel Spaß und über weiteres Feddback freue ich mich sehr.

Edit: Das mit dem Hängen alle 500 ms kann an der KI liegen da diese alle 600 ms eine Berechnung der Aktionen und Ziele vornimmt. Sollte aber unabhängig von der eigenen Beschleunigung/Geschwindigkeit sein wie du es beschreibst.
Henry
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Mal ein Bump damit mein Projekt nicht in Vergessenheit gerät ;). Wäre schön wenn es jetzt wo wieder Zeit zum Testen ist ein wenig Feedback gäbe. Besonders ob das Problem mit dem "Hängen" auch bei anderen auftritt und ob es im FSDSD_Singleplayer auch auftritt.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4838
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [ZFX-Action] FSDSD

Beitrag von Schrompf »

Hab es grade ausprobiert. Keine der Exen tut beim Starten irgendwas. Sorry.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Hast du .Net-Framework und XNA-Runtime installiert? Die Links sind oben in ersten Post.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4838
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [ZFX-Action] FSDSD

Beitrag von Schrompf »

Damit muss ich dann auf Feierabend warten... das hier ist ein Arbeitsrechner :-)

Einer der seltener erwähnten Vorteile von kompilierten Sprachen: sehr viel weniger Abhängigkeiten.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Schrompf hat geschrieben: Einer der seltener erwähnten Vorteile von kompilierten Sprachen: sehr viel weniger Abhängigkeiten.
Gut dass du für ein C++-DX Spiel keine DX-Runtime installieren musst. Oh, wait ... ;).
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: [ZFX-Action] FSDSD

Beitrag von Alexander Kornrumpf »

Hier läuft es, ruckelt allerdings extrem.

Mehr habe ich nicht getestet, da ich nicht wusste was ich machen muss. Habe die pdf zwar überflogen, jedoch keine Lust gehabt mir alles einzuprägen. Statt "Docking is possible" zu schreiben könnte man doch einfach "Press [key] to dock" schreiben.
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Alexander Kornrumpf hat geschrieben: Hier läuft es, ruckelt allerdings extrem.
Naja das mit dem Ruckeln schein ein Problem zu sein. Hast du auch mal die FSDSD_Singleplayer.exe probiert? Tritt es da auch auf? Wie gesagt hatte ich keine Probleme damit auf meinem Core-i7 860, 8 GB Ram. Aber ich denke an der Hardware liegts nicht da die Berechnungen nicht so massiv sind.
Muss mal ein bisschen rumprobieren und lade evtl noch eine Log+Cheat-Version hoch falls erlaubt.
Alexander Kornrumpf hat geschrieben: Mehr habe ich nicht getestet, da ich nicht wusste was ich machen muss. Habe die pdf zwar überflogen, jedoch keine Lust gehabt mir alles einzuprägen. Statt "Docking is possible" zu schreiben könnte man doch einfach "Press [key] to dock" schreiben.
Gegen Handbuch nicht lesen ist natürlich kein Kraut gewachsen ;). Du startest im All mit dem Schiff. LMT aktiviert die Triebwerke für eine Sekunde und beschleunigt dich ein bisschen in die Richtung in die das Schiff zeigt (dreht sich Richtung Mauszeiger). Versuche den Asteroiden auszuweichen (Minimap + Vorrausschau) und an einer Station oder Frachter zu docken. Sobald du in Reichweite bist kommt die Meldung "Docking is possible" und dann dürkcst du einfach RMT oder d. Wenn du gedockt bist werden rechts unten deine Optionen angezeigt also handeln mit transferierten Mengen und Geld. Upgrades kaufen + Reuspply (Treibstoff). Dabei ist die Taste in eckigen Klammern angegeben zb [T] wobei Shift nicht gedrückt werden muss. Esc beendet das Spiel Pause pausiert sofern im Singleplayer. Wenn man gedockt ist ist man gegen Kollisionen immun.
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: [ZFX-Action] FSDSD

Beitrag von Alexander Kornrumpf »

Ja bezog mich auf Singleplayer. Leider scheint es so zu sein, dass ein Klick während eines "rucklers" keinen unmittelbaren Effekt hat (ich bin jedoch nicht sicher ob sich die Effekte mehrerer Klicks nicht im Nachhinein summieren). Bei Rechtsklicks ist es noch schlimmer "Nun dock schon... docken!!!... weg ist der Planet"

Insgesamt fällt mein Urteil jetzt dennoch ein bisschen milder aus :) Aber wie ich schon im anderen Thread sagte ich finde die Spiele sind alle sehr knapp beieinander, im positiven Sinne.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [ZFX-Action] FSDSD

Beitrag von Chromanoid »

Hey Despotist,
habe mir eben noch mal ein bissel zeit für dein Spiel genommen. Also ich habe alles weggelöscht:
FSDSD.jpg
und im Singleplayer gestartet und es stockt glaube ich mehr als im Server-basierten Spiel.
Auch wenn ich das Spiel pausiere, stockt die Maus. Könnte es vielleicht am RenderCode liegen? Vielleicht könntest du ja mal den Sternenfeldrenderer deaktivieren oder so. Es ist verrückt, dass es bei dir einwandfrei klappt.
Dirk Schulz
Establishment
Beiträge: 130
Registriert: 01.03.2009, 14:21
Alter Benutzername: frittentuete

Re: [ZFX-Action] FSDSD

Beitrag von Dirk Schulz »

Hi,

hab jetzt mal dein Spiel angetestet und muss sagen: läuft flüssig!

Keine Mausruckler oder irgendwelches stocken. Habe die Client-/Serverarchitektur benutzt. :!:

Am Anfang ist es wirklich eine Herausforderung bzw. unmöglich den Asteroiden auszuweichen, dafür brauch dass Schiff zu lange um sich zu drehen / zum Stillstand zu kommen.

Sollte vielleicht versuchen, mit weniger Geschwindigkeit unterwegs zu sein. Oder das Handbuch lesen. :? :D


Was ich noch anzumerken hätte:

In Stationen wo man Erz verkaufen und Supply kaufen kann (oder andersrum), wird automatisch beides gemacht, so hatte ich irgendwann kein Geld mehr über und kein Fuel mehr.
Dass könntest du vielleicht separieren.


€: Ich finde das Spiel macht sehr viel Spaß, vor allem die Idee der ungebremsten Massen im All konsequent umzusetzen, bietet nochmal eine schöne Herausforderung, weil man immer
zwischen "Flugpfeil" und Maus/Raumschiff koordinieren muss. "Action" ist also durchaus vorhanden. ;)
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Dirk Schulz hat geschrieben: hab jetzt mal dein Spiel angetestet und muss sagen: läuft flüssig!
Na also, es geht doch ;).
Dirk Schulz hat geschrieben: Am Anfang ist es wirklich eine Herausforderung bzw. unmöglich den Asteroiden auszuweichen, dafür brauch dass Schiff zu lange um sich zu drehen / zum Stillstand zu kommen.
Da muss man ein bisschen Gefühl dafür entwickeln und vor allem ein wenig vorrausplanen indem man die Positionen und Kurse auf der Minimap verfolgt. Einfach ständig in die Richtung wo das Ziel gerade ist beschleunigen ist da nicht zweckführend. Es ist also beabsichtigt dass es "schwer" ist bzw man ein bisschen Grips reinstecken muss. Wenn du das Geld hast kannst du das Bremsenupgrade kaufen was dich sofort einen Prozentsatz der Geschwindigkeit verlangsamt (was viel Treibstoff kostet). So kannst du besser navigieren. Oder du nutzt Manöver um dein Ziel zu erreichen wie bewusste Kollision um in die gewünschte Richtung zu fliegen (Billard) oder von der Station mitnehmen lassen.
Dirk Schulz hat geschrieben: In Stationen wo man Erz verkaufen und Supply kaufen kann (oder andersrum), wird automatisch beides gemacht, so hatte ich irgendwann kein Geld mehr über und kein Fuel mehr.
Dass könntest du vielleicht separieren.
Du wirst lachen aber am Anfang war es separiert. War aber zum einen "blöd" das getrennt zu machen da man es eh immer beides macht wenn man gedockt ist. Und zum anderen war ich zu blöd die Berechnung für die zweite Handelsaktion vernünftig zu machen damit ich das vorrausschauend (+Menge - Geld) anzeigen kann. Aber wenn ich jetzt so drüber nachdenke wäre das garnicht nötig das so kompliziert zu machen sondern einfach was mit den aktuellen Gegebenheiten (Platz, Geld, verfügbar) möglich ist wird angezeigt und wenn sich was ändert wird es mit den neuen Bedingungen angezeigt.
Dein Problem zumindest teilweise umgehen kannst du indem du "aufmerksam" bist und schaust was du nach einer Transaktion ungefähr noch hast und gegebenenfalls das Betanken/Reparieren zuerst machst (sofern du dafür noch Geld hast). Treibstoff kostet auch nicht die Welt und man kann die Kosten sogar in der Configfile auf 0 setzen falls gewünscht.
Alternativ könnte ich auch bei Reparaturen und Refuel die Abfrage ob der Spieler genügend Geld hat rausnehmen und ihn so ins Minus kommen lassen. Wäre auf jeden Fall besser als zu stranden.
Chromanoid hat geschrieben: Auch wenn ich das Spiel pausiere, stockt die Maus. Könnte es vielleicht am RenderCode liegen? Vielleicht könntest du ja mal den Sternenfeldrenderer deaktivieren oder so.
Der RenderCode ist nicht weiter aufwändig und bis auf die 3 Rendertargets für die verschiedenen Bereiche auch nichts besonderes.
Ob ich noch weiter dran arbeite und den Bug mit dem Flackern suche weiß ich nicht. Dieses WE hab ich auf jeden Fall keine Zeit. Zumal ich fürchte dass es kein Bug in dem Sinne ist sondern ein strukturelles Problem dass sich so einfach nicht lösen lässt und daher ist auch meine Motivation nicht so groß. Mal sehen wie es nächste Woche aussieht.

Ich finde es witzig wie es plötzlich "sprudelt" wenn ich mal mit der Faust auf den Tisch haue. So hatte ich mir das erhofft/gewünscht bin aber traurig dass es "erzwungen" werden muss. Hatte ja an anderer Stelle ausführlich dargelegt dass ich finde wenn sich die Teilnehmer die Mühe und Arbeit machen sich die anderen auch ein wenig Mühe machen könnten um die reingesteckte Zeit zu respektieren und nicht im Sande verlaufen zu lassen. Aber vielleicht habe ich ja auch völlig falsche Erwartungen/Vorstellungen von dem Sinn von Forum/Event/Community.
Dirk Schulz
Establishment
Beiträge: 130
Registriert: 01.03.2009, 14:21
Alter Benutzername: frittentuete

Re: [ZFX-Action] FSDSD

Beitrag von Dirk Schulz »

Hi,

mein Post hatte jetzt nicht so sehr mit deinem "Faust auf den Tisch klopfen" zu tun, sondern eher damit, dass ich jetzt mal Zeit hatte, es auszuprobieren.

Vor allem weil bis jetzt eher wenig konstruktive Kritik kam, sondern mehr Fehlerbeschreibungen waren. ;)


@Trading: naja, ich bin eben mit den 5000 Startgeld losgeflogen und habe Erz gekauft, da war das Geld weg ... dachte ich mir: verkaufste es und holst dir davon Upgrades.

Stattdessen wurde das Erz verkauft und dafür Supply gekauft. Hatte dann ca. 12 Geld (Credits :?: ), wollte zur nächsten Station, aufgrund erhöhtem Asteroidenaufkommen
ging mir dann aber der Sprit aus. :D

Die Minimap in meine Flugbahn mit einzuplanen, war dann irgendwie nicht möglich, war zu sehr damit beschäftigt, was direkt neben meinem Raumschiff passierte. :mrgreen:
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Dirk Schulz hat geschrieben: ich bin eben mit den 5000 Startgeld losgeflogen und habe Erz gekauft, da war das Geld weg ... dachte ich mir: verkaufste es und holst dir davon Upgrades.
Stattdessen wurde das Erz verkauft und dafür Supply gekauft. Hatte dann ca. 12 Geld (Credits :?: ), wollte zur nächsten Station, aufgrund erhöhtem Asteroidenaufkommen
ging mir dann aber der Sprit aus.
So was nenn ich mal gutes Feedback ;). Das mit dem Handel ist eben nicht so einfach. Ich wollte dem Spieler auch kein Eingabefeld vorsetzen wo er die Menge eingeben kann (zumal dann auch Infos wie +-Geld und Geld nach der Aktion nötig wären um nützlich zu sein).
Die Situation wie du sie beschreibst ist auch nur in der Anfangsphase. Sobald man genug Geld verdient hat um den Laderaum mit einem Handel voll zu füllen hat man normalerweise Geld übrig für alles andere. Ein paar Flüge sollte man schon mit Tank und Panzerung überstehen ;).
Alternativ kannst du auch das Startgeld und die Basispreise durchaus in der Configfile anpassen. Starte mal mit 20k und versuch dein Glück ;).
Dirk Schulz hat geschrieben: Die Minimap in meine Flugbahn mit einzuplanen, war dann irgendwie nicht möglich, war zu sehr damit beschäftigt, was direkt neben meinem Raumschiff passierte.
Das ist aber nicht ganz so relevant da neben dem Schiff alles passiv passiert (also keiner Jagd auf dich macht). Wenn du also siehst der Asteroid bewegt sich von dir weg kannst du wieder schauen was dort los ist wo du hin fliegst.
Ist wie gesagt ein bisschen Übung nötig sollte aber nicht so schwer sein.
Alternativ kannst du auch hier wieder die Asteroidengeschwindigkeit in der Configfile runtersetzen (evtl 0) so dass es leichter sein sollte.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [ZFX-Action] FSDSD

Beitrag von kimmi »

So, ich habe mal einen detailierteren Blick auf dein Spiel geworfen. Einige Anmerkungen zum Code:
  • Manche Klassen und Methoden sind ( wahrscheinlich aus Zeitgründen ) gut gewachsen. Ich denke da zum Beispiel an das ServerInterface. Das erhöht nur bedigt die Lesbarkeit ;).
  • Könnte man Spiele-Daten auch per XML oder etwas ähnlichem setzen? So daß man sich ein Universum zusammen bauen könnte? Das wäre cool.
  • Manche Attribute sind public, ich fände ich persönlicher aus Wartbarkeits-Gründen Properties schicker. Kapselung macht einem auch das testen leichter.
  • Die Klasse Asteroid hat nur einen leeren Konstruktor :).
  • Die Klasse FSDSD_Game beinhaltet zeimlich viel, das sieht nach einer Gottklasse aus. Hier würde ich die Verantwortlichkeiten in mehr Klassen auslagern.
Ich hoffe sehr, daß du das Spiel weiter entwickelst. Meiner Meinung nach hat das Potential! Und ich liebe solche Spiele!

Gruß Kimmi
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

kimmi hat geschrieben: So, ich habe mal einen detailierteren Blick auf dein Spiel geworfen. Einige Anmerkungen zum Code:
Ich fühle mich als hättest du mich nackt gesehen ;).

Das der Code nicht gerade schön ist weiß ich und das hatte ich auch hier und da erwähnt.
kimmi hat geschrieben: Manche Klassen und Methoden sind ( wahrscheinlich aus Zeitgründen ) gut gewachsen. Ich denke da zum Beispiel an das ServerInterface. Das erhöht nur bedigt die Lesbarkeit
Aber da das die aus der dll-exportierte Klasse ist muss sie auch die Gesamte Funktionalität anbieten. Einige Funktionen könnte man noch auslagern so dass es weniger und kürzere Funktionen werden aber dass sie viele Funktionen anbietet lässt sich nicht vermeiden (oder zumindest ist mir keine Möglichkeit bekannt).
kimmi hat geschrieben: Könnte man Spiele-Daten auch per XML oder etwas ähnlichem setzen? So daß man sich ein Universum zusammen bauen könnte? Das wäre cool.
Die Positionen werden per Zufall erzeugt. Wenn dir eine Konfiguration gefällt kannst du den dazu verwendeten Seed (den ich dann irgendwo ablegen müsste) in der Configfile eintragen und du startest immer mit dieser Konfiguration. Aber ich sehe den Sinn nicht da die Positionen ja keine Rolle spielen und nach einiger zeit eh alles chaotisch wird (also die Spiele laufen nicht exakt gleich ab weil z.B. Kollisionen an anderer Stelle auftreten und Spieler auch die Flugbahnen beeinflussen).
kimmi hat geschrieben: Manche Attribute sind public, ich fände ich persönlicher aus Wartbarkeits-Gründen Properties schicker. Kapselung macht einem auch das testen leichter.
Sowas ist meist auf Hacks aus Zeitmangel zurückzuführen. Und ich finde haufen Zeilen für eine Property nicht unbedingt übersichtlicher. Der Rahmen war von Anfang an klar und es soll nicht doll erweiterbar sein oder so daher habe ich auf "guten Stil" verzichtet (müssen).
kimmi hat geschrieben: Die Klasse FSDSD_Game beinhaltet zeimlich viel, das sieht nach einer Gottklasse aus. Hier würde ich die Verantwortlichkeiten in mehr Klassen auslagern.
Auch das ist mir durchaus bewußt.

Fazit: Ich hatte/habe mit ganz anderen Problemen zu kämpfen als den "schlechten" Stil. Generell fand ich dass es auch während der Entwicklung kaum Bugs gab gab und die Ursache von Exceptions recht schnell lokalisiert war. Dass ist ein großer Vorteil von C# gegenüber C++ finde ich.
kimmi hat geschrieben: Ich hoffe sehr, daß du das Spiel weiter entwickelst. Meiner Meinung nach hat das Potential! Und ich liebe solche Spiele!
Naja ich hab noch zwei andere Projekte die ich vom Interesse her favorisiere. Das hier war nur als Beitrag gedacht der dann auch wieder aufhören sollte ;). Und der Sinn von Open Source ist doch gerade dass sich andere die Baustellen vornehmen können :twisted: .
Wenn es meine Zeit zu lässt werde ich mal eine Log-Version machen und versuchen den Flacker-Bug zu finden. Falls das schnell möglich ist wird es vielleicht noch poliert und der Code aufgeräumt. Aber groß Features wie mit den Piratenflotten (die ich mir auch spielmechanisch nicht so doll vorstelle) werd ich wohl nicht mehr einbauen.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [ZFX-Action] FSDSD

Beitrag von kimmi »

Wie wäre eine kleine Projektseite auf Google-Code oder Sourceforge ( wegen deren Vresionscontrol-Enviroment )?

Kimmi
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

kimmi hat geschrieben: Wie wäre eine kleine Projektseite auf Google-Code oder Sourceforge ( wegen deren Vresionscontrol-Enviroment )?
Sehe ich wenig Nutzen solange sich keiner findet der "mitmachen" will. Code und Spiel gibts hier und fertig. Ich hab das wegen der Aktion gemacht (um zu lernen) und sehe jetzt nicht meine persönliche Erfüllung darin. Wäre natürlich anders wenn ich sehe dass es sich "lohnt" weil reges Interesse herrscht aber "Kein Spiel macht länger als 5 Minuten Spaß" regt nicht gerade an da noch viel Mühe und vor allem Zeit reinzustecken. Dein Interesse in allen Ehren aber mittelfristig fehlt mir einfach die Zeit für solche "Spielereien" wie Projektseite und Versioncontrol (und es wäre auch unfair sowas ins Leben zu rufen und dann alles im Sande verlaufen zu lassen).

Vorschlag: Schnapp dir den Code und die Resourcen und setz alles neu auf (in der Sprache deiner Wahl) und versuch es sowohl vom Code als auch vom Gamedesign besser zu machen. Wäre z.B. eine Idee für die nächste/aktuelle Action. Hab ich keinerlei Problem damit. Bei Detailfragen helf ich dir gern.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [ZFX-Action] FSDSD

Beitrag von kimmi »

Wäre eine Idee, um mal etwas die ZFXCE zu testen. Muß ich mal drüber nachdenken.

Gruß Kimmi
Benutzeravatar
TGGC
Establishment
Beiträge: 569
Registriert: 15.05.2009, 18:14
Benutzertext: Ich _bin_ es.
Alter Benutzername: TGGC
Echter Name: Ich _bin_ es.
Wohnort: Mainz
Kontaktdaten:

Re: [ZFX-Action] FSDSD

Beitrag von TGGC »

Das Spiel hat mich uebrigens inspiriert, nochmal was ganz altes von mir auszugraben: http://zfx.info/viewtopic.php?f=10&t=782 ;-)
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [ZFX-Action] FSDSD

Beitrag von Chromanoid »

Bild
Gratulation ;)
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: [ZFX-Action] FSDSD

Beitrag von Despotist »

Für das geplante ZFX-Bundle bin ich von Aramis gebeten worden eine lauffähige Version von meinem Beitrag bereitzustellen. Da ja einige Leute Probleme mit hängen und ruckeln beschrieben die ich nicht reproduzieren kann brauche ich eure Mithilfe. Ich habe in diesem Post nochmal das gesamte Packet inklusive einer neuen FSDSD_Singleplayer_Log.exe hochgeladen. XNA und Net Framework wird benötigt. Einfach das Archiv entpacken und die _Log.exe ausführen. Ein paar Sekunden genügen. Stellt aber sicher dass das ruckeln auftritt (sofern es das überhaupt bei auch tut). Es wird eine Datei Namens TimeLog.log im selben Verzeichnis erstellt die ihr bitte hier hochladet oder mir eine PN schreibt woraufhin ich euch eine Emailadresse zukommen lasse wo ihr sie hin schicken könnt.
In der Datei werden die Aufrufe und Laufzeiten (in Ticks) einiger Funktionen und Blöcke die ich für den Übeltäter halte protokolliert. Weiterhin wären Infos zu dem System wo ihr das ganze laufen lasst vielleicht nützlich. Ich würde mich also freuen wenn ihr folgende Infos (am besten am Anfang oder Ende der Logdatei) mitliefert:
Ruckelt und hängt das Spiel auf deinem Rechner? (ja/nein/weiß nicht):
(Wenn ja) es ruckelt gelegentlich oder permanent?:
(Wenn gelegentlich) Bescheibe bitte in welchen "Situationen" falls möglich (Triebwerke feuern, nach Kollision usw):
Windows Version (inklusive 32/64 Bit):
Ramgröße:
CPU:
Grafikkarte (inkl. Grakaram, evtl. Treiberversion):
.Net Framework Version:
XNA Version:
Admin oder beschränkter Account?:
Firewall (Windows, ZoneAlarm, ...):
Virenscanner (Sophos, Antivir):
offene Programme (Browser, Office, IDE, Skype):
Sonstige Bemerkungen, Hinweise oder Auffälligkeiten:

Als "Ziel" habe ich mir mindestens 5 Logs gesetzt also erst wenn ich so viele habe werde ich weiter nach dem Problem suchen. Es sei nochmal darauf verwiesen dass es mit einer Lokalisierung des Fehlers (falls das überhaupt auf diese Weise möglich ist) noch nicht getan ist. Falls das Problem struktureller Natur ist kann ich es vielleicht ohne große (lange) Umbauten zu denen mir die Zeit fehlt nicht beheben. Aber vielleicht lässt sich ja wenigstens eine Systematik für einen Workaround erkennen.
Ich freue mich über rege Teilnahme und danke allen die mir dabei helfen wollen.
Gruß
Henry
Dateianhänge
FSDSD_Log.ZIP
(759.65 KiB) 290-mal heruntergeladen
Antworten