[Projekt] Splatter

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von kimmi »

Ich habe Splatter gespielt und mußte dann irgendwann mich zwingen aufzuhören. Und deswegen promote ich eure Arbeit auch gerne auf allen möglichen Kanälen. Macht Laune, weiter so!

Kimmi
Specialist
Establishment
Beiträge: 135
Registriert: 29.08.2003, 14:22
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Specialist »

Soo, ich habs nochmal durchgespielt, mit viel Freude auf jeden Fall!

Ich hatte an manchen Stellen den Eindruck, dass ihr hier und da noch Content hinzugefügt habt, kann das sein?
Zum Beispiel kam mir ganz zu Beginn der Soldat neu vor, der einen aus dem Haus holt und gegen Ende hin der ein oder andere Raum.
Und die goldene Pistole kam auch erst später hinzu, richtig?
Ich kann mich natürlich täuschen, weil das letzte Durchspielen ja schon eine Weile her ist.

Auf jeden Fall nochmal einen dicken Daumen hoch für eure Arbeit. Saubere Leistung! Das Spiel ist super!

Zwei kleine Kritikpunkt habe ich aber noch.
Zum einen finde ich die Pistole viel zu stark, sobald sie maximal ausgebaut ist und zum anderen könnte der Endgegner noch etwas knackiger sein.
Ansonsten aber echt top!
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Danke euch! Die Pistole habe ich just vorhin erst etwas entschärft. Ich hatte mich dort einfach mit "Pause nach Schuss" und "Pause bis zur nächsten Salve" verrechnet, weswegen alle Doppel- und Dreifachsalven zu stark waren.

Der Endgegner dagegen... hm... es ist schwer, die Gegner gegen die ausgebauten Waffen zu gewichten. Mir war wichtig, dass man wirklich jede einzelne Stufe jeder Waffe spürt. Das bedeutet leider, dass die Verbesserungen aller vier Ausbaustufen in Summe eine heftige Gesamtwirkung haben, die man kaum noch mit der Grundausbaustufe gleichzeitig abdecken kann. Die letzte Endgegner-Stufe bekommt aber auf jeden Fall noch etwas Feintuning - der bewegt sich für meinen Geschmack noch zu linear, und es gab auch einige Beschwerden, wo manche Leute selbst ganz am Ende des Spiels noch nicht ganz mit den Flares vertraut waren. Ich muss da noch irgendwas einbauen, was darauf hinweist, dass Flares dort das Leben erleichtern.

Nuja, man lernt halt immer dazu. Das erste Update kommt morgen, die Updates für Desura und Standalone auch, dann geht's auf zur Mac/Linux-Version.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Biolunar
Establishment
Beiträge: 154
Registriert: 27.06.2005, 17:42
Alter Benutzername: dLoB

Re: [Projekt] Splatter

Beitrag von Biolunar »

Schrompf hat geschrieben:[…] dann geht's auf zur Mac/Linux-Version.
Sobald die da ist, hast du mindestens einen Kunden mehr :)
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Auf der Frontseite von Desura mit 50% Discount präsent zu sein bringt übrigens etwa 3 Käufer pro Tag. Das nur als Randnotiz.

Ich habe auf sppro.de einen riesigen Rückblick zum Splatter-Release geschrieben. Vielleicht interessiert das ja auch jemanden hier. Ich kopiere das hier einfach mal rein. Sorry für den riesigen Textklumpen.

-------------
Splatter - Tale Of Release

Im Juni 2013 wurde Splatter das erste Mal released. Zuerst nur Direktverkauf über die eigene Webseite, bald auch über Desura. Der Webseiten-Verkauf brummte die ersten Tage ziemlich, primär dank eurer Unterstützung! Danke! Wir haben über die Webseite am Ende 75 Stück verkauft, auf Desura kamen nochmals 60 dazu. Nach ein paar Tagen war Ruhe.

Das Release hatte auch die Aufmerksamkeit einiger Bundles erregt. Das bemerkenswerte Bundle davon war von Groupee das BeMine-Bundle, was sich 19k mal verkaufte und uns etwa 3000US$ Einnahmen bescherte. Dazu kamen zwei winzige Bundles, die ich wegen einiger der teilnehmenden Mitspiele eigentlich nicht wirklich weiterempfehlen konnte. Finanziell eine schöne Spende, aber weit entfernt von tatsächlichen Einnahmen.

Parallel dazu haben Freiwillige Helfer die Mühe gemacht, Splatter in weitere Sprachen zu übersetzen. Und ich habe kleine weitere Features in Updates nachgeliefert, die leider auch wieder Lokalisierungsänderungen nach sich zogen, weswegen ich am Ende mit einem Rudel Übersetzungen dastand, die alle von leicht unterschiedlichen Entwicklungsständen stammten.

Damit war Splatter für mich erstmal gestorben. Wir wussten allerdings schon, was wir alles bessermachen könnten, und Michael hatte auch schon portionsweise damit angefangen. Alle Monster sollten einfach viel schneller und dafür viel leichter zu töten werden, damit das Spiel dynamischer wurde. Und wir kannten ja inzwischen einige Schwachstellen der Story, auch durch freiwillige Helfer aus den Foren. Den Startschuss gab dann Greenlight Mitte Februar 2014 - zu dem Zeitpunkt war allerdings auch schon klar, dass Greenlight und Steam im Allgemeinen nicht mehr das goldene Mekka der Indieentwickler sind, sondern nur noch notwendige Entwicklungsschritte.

Ich hatte inzwischen wegen akutem Geldmangel normale Auftragsentwicklung angenommen, ganz konkret einige Monate Aushelfen bei meinem alten Arbeitgeber. Der Vertrag lief bis April, so dass ich noch nicht so viel an Splatter machen konnte. Vielleicht hätte der ganze Release besser gepasst, wenn wir eins zwei Monate eher fertig geworden wären. Dann hätten wir wahrscheinlich aber auch keinen Publisher und die Sprachaufnahmen selbst bezahlen müssen. Man weiß es nicht. Beim nächsten Spiel jedenfalls weiß ich, dass das Timing zum Release ganz furchtbar wichtig ist.

Ende April war ich außerdem mit einigen anderen deutschen Indies auf der QuoVadis, wo wir den GamesCom-Stand vom letzten Jahr wiederverwendet haben und drei Tage auf einem Flur unsere Spiele dem Konferenzpublikum vorgeführt haben. Größtenteils waren das GamesAcademy-Studenten, die dafür auch noch Geld bezahlen mussten und allgemein zu den ärmsten Kreaturen des Landes zählen. Es gab aber auch ein wenig Fachpublikum, darunter ein Vertreter jenes Publishers, der kurz vor dem Einpacken noch vorbeikam, vor meinem Spiel stehenblieb und meinte: "Das sieht aus, als könnte man damit Geld verdienen." Und Indie hin oder her: wenn ich weiter Spiele machen will, muss ich mir damit meinen Lebensunterhalt verdienen. Und den meiner Mitstreiter.

Das Coole an Messen und Konferenzen ist ja der Tratsch auf den Gängen. Nach meinen bisherigen begrenzten Erfahrungen bringt es den Verkaufszahlen gar nix, wenn man auf Messen ist. Auch die Außenwirkung ist verdammt gering, man wird einfach von den Großen der Branche in den Schatten gestellt. Aber die Leute wiederzutreffen, hemmungslos zu tratschen und auch zum Live-Spieltest mit Frischlingen ist eine Messe phantastisch geeignet. Man lernt dort sehr gut, wie man sein Spiel präsentiert, welche Aspekte man besonders hervorheben sollte, wie man schnell beeindruckende Spielszenen zeigen kann und auch, was für Kleinigkeiten und Absurditäten die Leute nach 20s dazu bewegen, Maus&Tastatur wieder loszulassen und zu sagen "Äh jaja... ganz hübsch... tschüß".

Falls ihr jemals ernsthafte Indies werden wollt: macht eine Messe mit. Oder schaut, ob ihr das Ganze irgendwo billiger herbekommt. Auf Conventions, bei Entwicklertreffen oder sowas... Hauptsache Laufpublikum. Es schmerzt bisweilen heftig, wie zufällig und "unfair" die Leute urteilen. Aber es ist eine Erfahrung für's Leben.

Und auf der QuoVadis habe ich einen Fan kennengelernt. Ich habe einen Fan! :love:

Nach der QuoVadis ging's dann mit normaler Entwicklung weiter. Die Story hatte viel neuen Content, der noch weit entfernt von "final" war. Es gab noch furchtbar viel Technik zu überarbeiten, Fehler zu jagen und hunderte Details geradezurücken. Und wenn das falles fertig war, musste das dann ja alles nochmal übersetzt werden und sollte auch vertont werden. Für Lokalisierung und Vertonung hatte mich ein netter Mensch einer Berliner Loka-Firma auf der QuoVadis angesprochen, und zumindest die Lokalisierung hatten die am Ende auch gemacht. Ich musste dazu aber erstmal alle Lokalisierungsfiles synchronisieren - Reihenfolge, Kommentare, Existenz mancher Sprüche, Bedeutungsveränderungen im Laufe der Zeit... hässliche Sache, aber dafür habe ich endlich mal ne neue Programmiersprache gelernt: Python.

Und als dann der Story Content inklusive Abspann, neuen Leveln und allen gestrafften und korrigierten Dialogen fertig war, sollte das Ganze gesprochen werden. Uns war klar, dass ein substanzieller Teil der ganzen FilmNoir-Stimmung von ordentlichen Sprechern abhing. Und die Zeit war alle: der Steam Summer Sale war angekündigt und wir wussten, dass währenddessen oder auch noch einen Monat danach ein Release völlig für den Arsch wäre. Also haben wir mit dem Publisher zusammen festgelegt: 4. Juni. Und es war die Woche davor. Urg. Also übelste Hauruck-Aktion hingelegt, der Publisher hat quasi übers Wochenende die 6000 Wörter Dialog von ziemlich guten Sprechern einsprechen und mastern lassen.

Das Mastern haben wir dann aber wegen der völlig verkackten und inzwischen unkorrigierbaren Lautstärkeaussteuerung von Splatter nochmal machen müssen. Ursprünglich stammte das ja alles von dem ZFX-Content-Splatter, für das wir Sounds von freesound.org zusammengesucht und dann bearbeitet hatten. Und dafür hatten wir für unsere billigen Kopfhörer Lautstärke und Bass soweit ausgesteuert, dass es auf ordentlichen Anlagen schon damals heftig knarrte und brummte. Wenn man dann portionsweise richtige Sounds vom Soundexperten bekommt, muss man die dann auch so aussteuern, damit sie nicht völlig untergehen im Vergleich zum Rest. Und das hat in Summe dafür gesorgt, dass die Sounds für Splatter alle Skalen sprengen. Eine Dynamik, die ich jetzt erst vollständig begriffen und bisher nur in Einzelfällen korrigiert habe.

Vorlage für die Vertonung war eine große Excel-Tabelle, die ich in der Woche davor zusammengepythont und dann von Hand aufgearbeitet habe. Dort hatte ich ursprünglich mehr aus Gag die Text-IDs der lokalisierten Sprüche eingefügt, aber das war ein Segen: die Sprachfirma hatte dann alle Dateien exakt so benannt, so dass ich die komplette Vertonung durch drei Zeilen C++ ins Spiel integrieren konnte. Dabei blieb es aber natürlich nicht. Es mussten noch alle Timings angepasst werden, damit auch die Lücken zwischen den Texten natürlich klangen. Insgesamt war ich aber sehr begeistert vom Ergebnis. Es ist ein großartiges Erlebnis, wenn jemand Deine Texte liest und die Stimme so klingt, wie Du Dir das beim Schreiben vorgestellt hast. Leider ist das auch ein sehr beschämendes Erlebnis, weil ich bei solchen Gelegenheiten immer wieder merke, dass ich doch nur für's Programmieren wirklich gut geeignet bin. Und selbst da habe ich meine Zweifel, weil es so viele bessere Leute gibt.

Dann war innerhalb von knapp 24h die Vertonung integriert und noch viele Details korrigiert, dann ging das Spiel online. Wir hatten ja auch Steam die ganze Zeit schon Testbuilds laufen, die SteamAPI ist nach anfänglicher Verwirrung echt ein mächtiges Werkzeug. Das eigentliche Release war nach wochenlanger Content-Produktion für dutzende Logos, Klein- und Großgrafiken, Shop-Texte, Achievements und Trading Cards dann nur ein einzelner Klick. Am selben Abend wurde dann noch ein Absturz gemeldert, den ich am Morgen erst frisch eingebaut hatte. Man sollte halt den Code einfach nicht mehr anfassen, egal wie winzig die Änderung. In diesem Fall hatte ich einen optionalen Parameter zu einer Klassenmethode hinzugefügt, um zu verhindern, dass bei Geschützen nach dem Spielstandladen die Turm-Animation neu gestartet wird. Und ich vergaß dabei, diesen Parameter auch in der Skriptanbindung zu melden. Weswegen es an einem bestimmten Levelwechsel in der Story mit Stack Corruption abstürzte. Ein weiterer Strich auf der Tafel "Dinge, die mit C# nie passiert wären". Der Bug war nach einer halben Stunde herantasten mit dem Debugger dann aber schnell behoben, so dass nur etwa fünf Spieler den Crash überhaupt gesehen haben. Auch das ist das Schöne an Steam: Du kannst Fixes extrem schnell veröffentlichen. Es gibt keine prüfende Instanz zwischen Dir und Deinem Content, die von Geschäftszeiten und Lasten abhängig ist.

Nach dem Release bin ich erstmal aufs WGT gefahren. Das war schon seit einem halben Jahr gebucht, daran gab es nichts zu rütteln. Bzw. wenn ich daran gerüttelt hätte, wäre ich jetzt wahrscheinlich geschieden. Ich habe aber einen Laptop mitgenommen und habe damit übers Hotel-WLAN zumindest EMails und die Key-Verteilung für die Bundlekäufer organisiert. Die Key-Verteilung an die Webseitenkäufer hat Michael gemacht, und er hat ein paar unglückliche Tippfehler gemacht, die bei den meisten Empfänger dafür sorgten, dass sie die Mail mit dem Key aus dem Spamfilter fischen mussten. Und hätten ein paar hundert Leute mehr das Spiel über die Webseite gekauft, wären wir wahrscheinlich außerdem vom Provider für Spamverdacht gesperrt worden.

Wie immer hängen Facebook und allgemeine PR-Arbeit bei mir massiv hinterher. Das ist eigentlich der kritischste Teil des ganzen Indie-Unternehmens, aber ich kann mich einfach nicht aufraffen, dafür Zeit zu investieren. Es ist so mühsam, und es nervt mich. Theoretisch sollte dafür ja auch der Publisher zuständig sein, aber entweder ist der mit irgendwas übelst ausgelastet oder er ist ein Stümper. Vom alten Splatter-Release habe ich ja auch noch einen Vertrag mit einem PR-Experten gegen Gewinnbeteiligung. Damals ein glücklicher Segen, weil er einiges organisiert hat und ich kein Geld hatte, ihn zu bezahlen. Heute ein Ärgernis, weil ich kein sinnvolles Enddatum in den Vertrag geschrieben habe und er jetzt ausgelastet ist und ebenso NIX für Splatter-PR tut. Vielleicht erwarte ich ja aber auch nur zu viel... immerhin war jetzt E3, die journalistisch ja alles in den Schatten stellt, und der Steam Summer Sale sorgt dafür, dass zumindest der Kampf um die rettende Steam-Frontseite für einen Monat aussetzt.

Aktuell will ich jetzt mit der Mac&Linux-Portierung anfangen, komme aber bisher kaum dazu, weil ich immernoch endlos viel Steuern, Bürokratie, PR-Scheiß und Kommunikation betreiben muss. Die Portierung selbst könnte aber spannend werden. Zum Einen, weil eine Neuveröffentlichung auf neuen Märkten wieder eine Chance ist, wahrgenommen zu werden. Und zum Anderen, weil das Neuland für mich ist und ich daran persönlich etwas wachsen kann. Danach sollte eigentlich die PS4- und XBoxOne-Version kommen, und angeblich hat der Publisher dafür auch schon Release Slots und die nötigen Verträge. Aber in Anbetracht der Tatsache, dass der inzwischen meine Mails nur noch sehr wählerisch beantwortet und wir noch nicht mal einen gültigen Vertrag miteinander haben, könnte das auch alles noch ins Wasser fallen. Mal sehen. Ich hätte gern die Konsolenportierung gemacht: vielleicht bringt es Bekanntheit und ein paar Einkünfte, aber primär bringt es mir neue Erfahrungen, mit denen ich dann evtl. als Consultant Geld verdienen könnte.

An dieser Textwüste seht ihr übrigens: Spieleentwicklung ist am Ende nur noch wenig tatsächliche Programmierung. Wie Tiles im ZFX früher immer geschrieben hat: "Ein Spiel ist ein multimediales Vieh". Und das geht noch viel weiter als nur über Programmierung, Grafik, Sound, Text, Design, Pacing, Menüführung, Interfaces, und was weiß ich noch. Ich habe den Großteil davon durchaus gern gemacht, auch wenn ich sicher nicht der Geeignetste dafür bin. Aber ich freue mich auch wieder auf die Zeit, wenn ich am nächsten Projekt mal hemmungslos wochenlang Code schrubben kann.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Krishty »

Vielen Dank! Für alles :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von kimmi »

Auch von mir. Ich war übrigens einer der 5, die den Absturz gesehen haben. Aber ich dachte mir schon, dass du das schnell in den Griff kriegst :). Und Werbung mach ich immer noch gern für Splatter.

Gruß,
Kimmi
Tiles

Re: [Projekt] Splatter

Beitrag von Tiles »

Danke für den ausführlichen Bericht. Der war echt lesenswert! Und viel Erfolg mit deinem Spiel. Und hoffentlich auch noch vielen weiteren :)
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Wir sind bei 4players.... juuhuuuu! http://www.4players.de/4players.php/dis ... atter.html
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
gdsWizard
Establishment
Beiträge: 237
Registriert: 04.02.2005, 09:12
Benutzertext: www.gamedevstudio.com
Echter Name: Thomas Mittelsdorf
Wohnort: Meiningen
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von gdsWizard »

Gratulation ! Splatter ist eines der wenigen sehr guten Projekte die zu Ende entwickelt worden sind. Weiterhin viel Erfolg ! Auch für weitere Projekte.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Krishty »

Der Artikel fällt ja nicht so pralle aus – aber alleine, dass ihr an den Großen gemessen werdet, spricht für das Spiel. Und am Ende ist ja auch jede Publicity gute Publicity.

Am Rande: Habt ihr euch wirklich von Lollipop Chainsaw inspirieren lassen? Der Mähdrescher erinnerte mich eher an GTA: San Andreas.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
ponx
Establishment
Beiträge: 217
Registriert: 04.05.2008, 12:52
Echter Name: Andy Ponx
Wohnort: Hamburg
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von ponx »

70er Wertung, ist doch ordentlich! Ich spiel's auch gerade noch fleißig, es macht wirklich Bock. Danke auch von mir nochmal für den Bericht!
Benutzeravatar
RustySpoon
Establishment
Beiträge: 298
Registriert: 17.03.2009, 13:59
Wohnort: Dresden

Re: [Projekt] Splatter

Beitrag von RustySpoon »

Krishty hat geschrieben:Der Artikel fällt ja nicht so pralle aus – aber alleine, dass ihr an den Großen gemessen werdet, spricht für das Spiel. Und am Ende ist ja auch jede Publicity gute Publicity.
Zumindest das Fazit ist aber wieder ganz ok und 70% sind jetzt nicht soo schlecht. Es wird, Glückwunsch! :-)
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Ja, die Idee mit dem Mähdrescher stammt ursprünglich aus dem 4players-Test von Lollipop Chainsaw :-) Ansonsten find ich den Test ok, da steckte schon ein bisschen Indie-Bonus drin.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
xq
Establishment
Beiträge: 1589
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von xq »

Schöner Report. Erwähnt die Mängel, aber hat immer gleich auch etwas gutes parat. Und 70% ist ja auch ne schöne Wertung. Gz!
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von kimmi »

Es ist ein ehrlicher und letztendlich gut ausgefallener Report. Und wieder ein Ort mehr, der Hunger auf Splatter macht :).

Kimmi
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Ich glaube, ich habe mir gerade einen Compiler-Bug eingetreten.

Code: Alles auswählen

  // store the change
  window->monitor = monitor;
  window->videoMode = monitor->currentMode;

  // fetch the position on the virtual screen space of the target monitor
  int xpos = 0, ypos = 0;
  _glfwPlatformGetMonitorPos(monitor, &xpos, &ypos);
Kompiliert erwartungsgemäß sauber mit VC2013, ergibt mit VC2012 oder VC2012_XP aber:

Code: Alles auswählen

1>c:\projekte\splatter\sourceext\glfw\src\win32_window.c(1077): error C2143: Syntaxfehler: Es fehlt ';' vor 'Typ'
1>c:\projekte\splatter\sourceext\glfw\src\win32_window.c(1078): error C2065: 'xpos': nichtdeklarierter Bezeichner
1>c:\projekte\splatter\sourceext\glfw\src\win32_window.c(1078): error C2065: 'ypos': nichtdeklarierter Bezeichner
1>c:\projekte\splatter\sourceext\glfw\src\win32_window.c(1082): error C2065: 'xpos': nichtdeklarierter Bezeichner
1>c:\projekte\splatter\sourceext\glfw\src\win32_window.c(1082): error C2065: 'ypos': nichtdeklarierter Bezeichner
Die erste Fehlermeldung ist die Zeile "int xpos=..."; Wenn ich die beiden ersten Zeilen auskommentiere, kompiliert es wieder, macht dann aber natürlich zur Laufzeit Ärger. Ich habe das Ding auch mal in eine Datei vorverarbeiten lassen, um nach absurden Defines zu gucken, aber da ist alles sauber. Auch im Hexeditor zeigen sich keine komischen unsichtbaren Zeichen, die sowas auslösen könnten.

Bug Report brauche ich zu dem Quatsch ja auch nicht zu schreiben, da kenne ich schon die Antwort. "Wechseln Sie doch auf den aktuellen Compiler". Nur muss ich dafür erstmal boost neubauen, da dessen Linkerlibs sonst einen Konstantenkonflikt beim Linken auslösen: _MSCVER ist hier als 1700 definiert und dort als 1800... große Katastrophe! Eigentlich nicht, aber sag das mal dem Compiler.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Top-OR »

Auch von mir: Danke für den ausführlichen Report. Es bestätigt im Großen und Ganzen meine Vorurteile; mich nicht (in der Spielebranche/Softwarebranche) selbstständig zu machen.
Ich habe da einige anschauliche Beispiele in meinem Bekantenkreis (nicht IT-bezogen) und man hat eben viel organisatorischen Aufwand, der nichts mit der fachlichen Seite zu tun hat. Umso schlimmer ist es für die Leute, die keine großen Organisationstalente sind und eher fachliche Idealisten. [<- ich ;-) ]

Ich denke, DAS sollte man immer im Hinterkopf behalten, wenn man über so etwas nachdenkt: Sich selbst etwas kennen.
Und selbst bei der Fachlichkeit hat man oft Spezialgebiete und die etwas ungeliebteren Themen. Ich selbst bin bin auch ich "nur Programmierer, weniger Designer oder Künstler und noch weniger Steuerfachman oder PR-Onkel...

Um das, was ich liebe, persönlichem finanziellem Druck und den sich dadurch u.U. aufdrängenden Kompromissen zu unterstellen, bin ich wohl etwas zu feige. :-/

Umso mehr ziehe ich den Hut vor dem, was du/ihr erreicht habt und Splatter ist mit allem drum und dran ein "rundes Gesamtpaket", für das ich auch zumindest in meinem (überschaubaren Teil des) game-orientierten Freundeskreises Werbung mache. Ich habt mit viel Liebe zur Sache etwas wirklich Cooles gemacht!

Oder kurz: Ihr hab das gut hinbekommen... Alles Gute weiterhin!
--
Verallgemeinerungen sind IMMER falsch.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Das ist echt schon ein knappes Jahr her. uiuiui. Nuja, substanzielle Teile davon gar keine Portierungsarbeit, aber trotzdem: das hat mal wieder viel länger gedauert als ursprünglich gehofft.

Aber jetzt: der Linux-Port. Nahezu fertig. Ich brauche Tester. Hat jemand von euch ein Native Linux-System laufen? Mit halbwegs spieletauglicher GPU, als z.B. kein Netbook? Und hat eine Stunde Zeit für mich, den Splatter-Linux-Port zu testen? Wenn ja, bitte melden. Ich könnte diesbezüglich Hilfe brauchen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Alexander Kornrumpf
Moderator
Beiträge: 2138
Registriert: 25.02.2009, 13:37

Re: [Projekt] Splatter

Beitrag von Alexander Kornrumpf »

Nur so aus Neugier: Hat sich ein Plateau bei den Verkäufen eingestellt? Liegt es über 0 Units/Month?
anonym
Beiträge: 79
Registriert: 15.07.2009, 07:35
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von anonym »

Ich hab ArchLinux mit Kernel 3.19 und einer GTX560 (proprietary 346.59) am laufen und auch Zeit. Hab das Spiel schon für Windows gekauft.
Benutzeravatar
Sternmull
Establishment
Beiträge: 264
Registriert: 27.04.2007, 00:30
Echter Name: Til
Wohnort: Dresden

Re: [Projekt] Splatter

Beitrag von Sternmull »

Ich würds bei mir auch mal probieren. Allerdings auch hier 64bit Arch Linux, GPU ist Nvidia GTX 770, also keine wirklich andere Konfiguration.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Danke für die Angebote. Hat dann doch (wieder) länger gedauert als gedacht - vor allem das Erstellen einer Release-Version mit QMake war ein überraschend komplizierter Vorgang. Daher schicke ich erst morgen die Links rum. Morgen gibt's dann auch noch ein paar Metadaten, versprochen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

PMs bzw. Mails gehen gleich raus.

Gejammer: GCC hat zwar offiziell vollen C++11-Support, aber std::async() scheint etwas... vereinfacht implementiert zu sein. std::async() ohne explizite Launch Policy führt nie den gegebenen Code. NIE!!! Und wenn man explizit std::async( std::launch::async, <DeinCode>) angibt, wird der Code immerhin tatsächlich ausgeführt, aber den Aussetzern in der Framerate nach zu urteilen im Thread des Aufrufers. Bin ich wirklich der erste, der std::async() unter Linux benutzt?

Und zum Thema Verkäufe:
Bild

300 bis 500 US$ pro Monat - und das, ohne dass ich irgendeinen Handgriff getan habe. Immernoch weit von der Refinanzierung entfernt, aber besser als nix auf jeden Fall. Und ich wüsste auch gar nicht, was ich tun sollte, um daran was zu ändern.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Alexander Kornrumpf
Moderator
Beiträge: 2138
Registriert: 25.02.2009, 13:37

Re: [Projekt] Splatter

Beitrag von Alexander Kornrumpf »

Schrompf hat geschrieben:PMs bzw. Mails gehen gleich raus.

Gejammer: GCC hat zwar offiziell vollen C++11-Support, aber std::async() scheint etwas... vereinfacht implementiert zu sein. std::async() ohne explizite Launch Policy führt nie den gegebenen Code. NIE!!! Und wenn man explizit std::async( std::launch::async, <DeinCode>) angibt, wird der Code immerhin tatsächlich ausgeführt, aber den Aussetzern in der Framerate nach zu urteilen im Thread des Aufrufers. Bin ich wirklich der erste, der std::async() unter Linux benutzt?
Da war doch was:

http://blog.fefe.de/?ts=aa275c55

"Die erste Ernüchterung: Nix Threadpool. Die Standardpolicy von g++ 4.9.2 unter Linux ist, das dann statt async als deferred auszuführen, d.h. da werden keine Threads gestartet sondern bei x.get() wird das halt schnell synchron ausgeführt. Das ist dann natürlich nicht schneller als es direkt synchron auszuführen. m("

Beurteilen kann ich es nicht.
300 bis 500 US$ pro Monat - und das, ohne dass ich irgendeinen Handgriff getan habe. Immernoch weit von der Refinanzierung entfernt, aber besser als nix auf jeden Fall. Und ich wüsste auch gar nicht, was ich tun sollte, um daran was zu ändern.
Danke für die Info. Kannst eigentlich nur hoffen, dass das jetzt 10 Jahre so weiter geht. Konzept und Technik sind ja im Wesentlichen Zeitlos.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Alexander Kornrumpf hat geschrieben:http://blog.fefe.de/?ts=aa275c55

"Die erste Ernüchterung: Nix Threadpool. Die Standardpolicy von g++ 4.9.2 unter Linux ist, das dann statt async als deferred auszuführen, d.h. da werden keine Threads gestartet sondern bei x.get() wird das halt schnell synchron ausgeführt. Das ist dann natürlich nicht schneller als es direkt synchron auszuführen. m("

Beurteilen kann ich es nicht.
Danke, genau das ist es. Nimelrian im sppro-Chat hat mir das auch schon verlinkt. Und da liegt auch das Problem: ich habe eine void-Funktion an std::async() übergeben. Da wird nie x.get() aufgerufen, und demzufolge wird tatsächlich der Code NIE ausgeführt. Passt hervorragend zu meiner Meinung über Linux im Allgemeinen, auch wenn mir bewusst ist, dass ich gerade unfair bin.
Alexander Kornrumpf hat geschrieben:Danke für die Info. Kannst eigentlich nur hoffen, dass das jetzt 10 Jahre so weiter geht. Konzept und Technik sind ja im Wesentlichen Zeitlos.
Danke für die Blumen. Ja, wär schön, wenn das noch ein Weilchen so weitergeht.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Sternmull
Establishment
Beiträge: 264
Registriert: 27.04.2007, 00:30
Echter Name: Til
Wohnort: Dresden

Re: [Projekt] Splatter

Beitrag von Sternmull »

Ähm... also wenn ich mir die Doku zu std::async angucke, dann scheint es doch spezifikationsgemäß implementiert zu sein:
1) Behaves the same as async(std::launch::async | std::launch::deferred, f, args...). In other words, f may be executed in another thread or it may be run synchronously when the resulting std::future is queried for a value.
Das du was anderes erwartest als das spezifizierte Verahlten kann man weder GCC noch Linux anlasten. Wenn man sich seiner Sache nicht sicher ist, dann sollte man wirklich erst mal in die Doku gucken bevor man anfängt auf irgend was zu schimpfen.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Ansichtssache. Die zitierte Spec besagt ja nix zu dem Fall, dass der Code gar keinen Rückgabewert hat. Nach dem, was da steht, wäre eine Nichtausführung des Codes tatsächlich spezifikationsgemäß. Dumm ist es trotzdem.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Sternmull
Establishment
Beiträge: 264
Registriert: 27.04.2007, 00:30
Echter Name: Til
Wohnort: Dresden

Re: [Projekt] Splatter

Beitrag von Sternmull »

Naja "when the resulting std::future is queried for a value" legt schon nahe das nichts gemacht wird wenn nie nach dem Ergebnis gefragt wird. Es steht auch da das das deferred-flag für "lazy evaluation" gedacht ist, also für Berechnungen die so lange raus gezögert werden sollen bis der Wert wirklich gebraucht wird. Von denen wird dann ganz klar erwartet das sie eben nicht ausgeführt werden wenn der Wert nie gebraucht wurde.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] Splatter

Beitrag von Schrompf »

Ja, logisch ist es schon. Da hast Du ja uneingeschränkt Recht. Nur schön ist es halt nicht :-(

Danke übrigens für die Reports. Ich habe die fehlende .so beim Linken angegeben, halt mit relativem Pfad wie bei allen Dependencies... ich hatte die Hoffnung, wie auf der Windows-Seite eine autarke Build-Umgebung hinzubekommen, die genau so aus dem SVN fällt, wie es für's Bauen nötig ist. Aber anscheinend speichert der Linker den Pfad zur Lib im Executable. Das war neu für mich :(

Nuja, da es von FModEx keine statische Lib gibt, werde ich mich nochmal genau belesen müssen, wie ich den GCC dazu kriege, die Lib aus dem lokalen Verzeichnis anzusaugen. Neuer Build kommt dann.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten