Sicher, dass du dich auf OpenGL 4 beschränken willst? Es ist leider noch nicht so weit verbreitet, wie man es sich wünschen würde, vor allem auf Laptops und anderen mobilen Geräten wirst du wohl auf wenig Zugang stoßen.
Status: Beginn der Arbeiten an der neuen Engine
-
-
Da bin ich mir noch nicht 100% sicher, werde für den 3D-Part auf jedenfall mind. 4.0 brauchen, für die Tessalation sobald ich das einbaue, würde auch gern 4.1 wegen dem Laden von binären Shader-Dateien hernehmen, die Lade/Kompilierzeit ist bisschen dämlich bei den ganzen Permutationen. Für Fallback-Fälle, z.B. 2D-Anwendungen könnte ich mir schon 3.2-Support jedenfalls vorstellen. Hab zwar auch schon gehört dass es noch nicht so weit verbreitet ist, aber sogar mein 2 Jahre alter Laptop hat 4.2-Unterstützung (Sony Vaio mit Radeon 7550/7650, untere Mittelklasse-Karte), von daher... müsste mal schauen wie das bei den Leuten aussieht, kann ja eh die OpenGL-binary bei den nächsten Betas beilegen und schauen ob es läuft.
-
Glaube mir King, es gibt eine ganze Menge von Leuten, dessen Laptops nichteinmal OpenGL Version 2.0 unterstützen. Das letzte Mal, als eine OpenGL-Anwendung herausgebracht habe musste ich das mit Schrecken feststellen.
-
Zitat
Glaube mir King, es gibt eine ganze Menge von Leuten, dessen Laptops nichteinmal OpenGL Version 2.0 unterstützen. Das letzte Mal, als eine OpenGL-Anwendung herausgebracht habe musste ich das mit Schrecken feststellen.Das glaub ich nur zu gerne, aber du müsstest ja mittlerweile meine Einstellung zu totaler Backwards-Kompatibilität kennen. Ich unterstütze ja immer noch DirectX9 für Windows, da das noch am wenigsten Aufwand zu maintainen ist, obwohl ich, seitdem ich Geometry-Shader verwende, auch schon daran zweife. Auch dort verlange ich bereits SM3.0 - das schließt zwar bereits einige Nutzer mit älteren (und in dem Fall sprechen wir glaube ich von Rechnern von 10+ Jahren) aus, macht dafür die Entwicklung um einiges angenehmer. Bzgl OpenGl habe ich auch nochmal nachgeschaut, unter 3.1 kann ich wegen Uniform Buffer Objects und Instancing auf keinen Fall gehen. Instancing spielt zwar nur für 3D eine Rolle, die UBOs benötige ich aber für sämtliche Shader. Ich hab mir einerseits eine einheitliche Shadersprache geschrieben habe, welche das "cbuffer/uniform buffer"-modell verwendet, das ist schon für DirectX9 relativ mühsam zum Rückporten, die direkten Shader-Uniformen haben noch den Nachteil dass sie direkt an den jeweiligen Shader gebunden werden müssen, das geht mal komplett gegen die Philosophie/Architektur meines Renderers. Da meine Grafik-API auch sämtlichen Code 100% von jeglichen Details der unterliegenden API abkapselt, sodass man Code nur einmal schreiben muss, damit er für alle 3 APIs verwendet werden kann, ist eine direkte Kompatibilität zu OpenGL ohne Uniformobjekte einfach schlichtwegs unmöglich (sprich, Kosten/Nutzen stehen in keinerlei relation). Wie gesagt, ich schaus mir mal an was ich für Rückmeldungen bekomme, OpenGL ist ja ohnehin lediglich für Linux/Mac-Nutzer interessant, wenns da Probleme gibt, kann ich immer noch schauen so weit wie möglich Rückwärtskompatibilität anzubieten, kann aber nix unter 3.1 versprechen.
Unter 2.0 klingt mal hart, ich würd fürs Leben nicht auf Fixed-Funktion zurückggehen. Will auch nicht wissen was das für PCs sind, aber ich halte beispielsweise so einen Support für nicht wirklich zielführend, gerade für so eine Hobbyprojekt.
More on Topic, hab heute nebenbei am Textsystem gearbeitet, die Box ist bereits fertig, Text gibt es derweil keinen zu sehen, da mus sich erstmal den Fontexporter fertigstellen, hab im Moment nur "Arial 16" rumliegen, das will ich keinem antun. Hier mal Screenshot, Text kommt dann in den folgenden Tagen.
-
Viele Laptops beinhalten Intel-Prozessoren mit integrierten Grafikchips anstatt dedizierten Grafikkarten. Diese Chips haben meistens eine schreckliche OpenGL-Implementation, welche sich auf diverse Extensions konzentriert anstatt alle Features der höheren Versionen zu implementieren.
-
Ohje, die ollen Teile da... stimmt, da sieht der Support überraschend gammlig aus. Während die neuesten schon 4.2 unterstützen (von letztem Jahr), kann ich mit 3.1 allerhöchstens ab "Intel HD" von 2011 unterstützen. Ist jetzt halt auch nicht die Zielgruppe für meine Engine, klar für ein 2D-Spiel ist es was anderes, kann/will ich jetzt aber nicht allzuviel viel machen...
-
Update,
die Textbox ist schonmal gut vorrangeschritten, hier mal ein Screenshot dazu. Ich habe die Textdarstellung mehr an das Original angepasst als es in der Rpg-Maker-Version der Fall war. Außerdem formatiert sich der Text vollautomatisch, dadurch kann kein Text mehr irgendwo rüberhängen. Außerdem fällt die manuelle Formatierung weg, und ich kann im Prinzip ganze Dialoge in die Textbox füttern, die daraufhin den Text sequenziell darstellt. Die Textdarstellung im Rpg-Maker musste mit vielen codes im Text selbst weiters ergänzt werden, sei es für Farbe, Textgeschwindigkeit, Pausen etc... hier habe ich es so umgesetzt, dass Textabschnitte eigene Attribute haben (Farbe, Geschwindigkeit, Wartezeit, Erzwungener Zeilenumbruch - mehr brauche ich im Moment nicht). Auf diese Weise kann ich den Text effizienter schreiben, ohne jedesmal ewig viele Codes einzufügen. Außerdem ist der Speed und das Wait jetzt intuitiver, da die Werte hier in % Sekunden angegeben werden kann (0.0 = sofort, 1.0 = 1 Sekunde). Im Prinzip fehlt hier nur noch die Anzeige zum Umblättern, Input-Verarbeitung, Soundausgabe, und die verschiedenen Settings für unsichtbare Textbox und die diversen Positionen...
-
freu mich den schon auf die techdemo
-
Wird wohl schon mehr als eine Techdemo werden, ich plane als nächstes Intro & Prolog, sobald beides fertig und spielbar sind, für euch bereitzustellen
Im Moment arbeite ich gerade weiter am Visuellen-Scripting-System, orientieren werde ich mich dabei an den "Blueprints" der Unreal Engine, auch wenn ich nicht soviel Funktionalität brauche, da ich ja auch weiterhin reguläre Scripte verwende. Übernommen habe ich jetzt jedoch auch das System der Variablen und entsprechenden Inputs/Return-Werten, womit ich mir auch eine Menge an Arbeit sparen dürfte. Damit kann ich dann z.B. ein anderes Event auf derselben Map triggern, ohne extra einen "switch" setzen zu müssen, wie es im RPG-Maker der Fall war. Etwas ähnliches wie Switches werde ich wohl höchstens für Map-Übergreifende Auswirkungen brauchen, aber vllt fällt mir ja auch da etwas angenehmeres ein. Damit man sich das ungefähr vorstellen kann, so sieht das in Unreal aus:
Bis zur nächsten spielbaren Demo liegt aber vor allem Arbeit an den Toolsets, also dem Editor an. Bei kleineren Projekten bin ich bis jetzt immer ganz gut damit weggekommen, in den XML-Files per Hand Werte zu tweaken, aber wenn ich ein komplettes Spiel im Umfang von Terranigma 2 machen, will, brauche ich 100% Editor-Unterstützung. Auch gerade das Visual-Scripting ist erst mit grafischer Nutzeroberfläche richtig nützlich, im XML rumspielen ist da ein klein wenig aufwändig.
Ansonsten gehen die Arbeiten aber mal wieder gut vorran, habe jetzt alles bis auf die Soundausgabe für die Textbox eingebaut. Der Marker fürs Umblättern wird jetzt auch wieder wie im Original angezeigt, allgemein fühlt sich die Geschichte nochmal viel besser an. Durch die größere Schrift ist es jetzt aber so, dass unter umständen nicht mehr soviel Text auf eine Seite passt wie es noch im Maker der Fall war. Dafür gibt es jetzt zwar eine vierte Zeile, unter Umständen muss ich es aber so wie im Original machen, nämlich dass der Name des Sprechers nur über dem ersten Satz angezeigt wird. Dann hat man ganze 4 Textzeilen zur Verfügung, da passt eine ganze Menge rein. Muss aber schauen ob durch das fehlen des Namens nicht eventuell die Dialoge etwas unübersichtlich werden, wird sich dann in der Praxis zeigen...
-
Update,
über die letzen Tage habe ich u.a. das Eventsystem gehörig weiter ausgebaut & vereinfacht. Ich wollte dabei vor allem gleich von anfang an die Implementierung so sauber wie möglich halten, damit ich nicht mitten in der Arbeit 200 fertige Event-Funktionsklassen umschreiben darf. Das ist mir soweit fürs erste auch gelungen, um einen neuen Eventbefehl anzulegen brauche ich nicht mehr als eine Klasse ableiten, 3 Funktionen überschreiben, fertig. Dabei muss wirklich nur die minimale Arbeit gemacht werden - einmal muss der "reset" der internen Werte implementiert werden (für die meisten Events ohnehin uninteressant, höchstens für sowas wie "Wait", welches einen internen Counter führt, dann natürlich die ausführung, und zuletzt die Definition des Events selbst - welche Attributes, Output-Paramter, etc... dabei wird ein riesiger Teil der Arbeit von der bestehenden Implementation abgenommen. Ich muss mit einem leichten Augenzwinkern sagen, dass ich mich hier selbst übertroffen habe, und bin am überlegen ob ich den Code in der Art auch für mein Component-System einbauen kann, denn da musste ich noch jeden sch*** per Hand machen, was gerade in Sachen Editor-Implementierung relativ unangenehm war.
Bei den Events kann dafür bereits aus der Deklaration das gesamte Editor-Interface für die Events erzeugt werden. Damit habe ich ebenso begonnen, auch wenn derweil noch sämtliche editier/erstell-Features fehlen, hier mal ein Screenshot davon wie das bei mir aussieht. Die Verbindungslinien sind derweil mit Photoshop gemalt, und dienen nur der Orientierung, ich hätte selbst lieber gern solche splines wie bei dem Unreal-Blueprint, aber muss mir erstmal schauen wie das denn so geht...
Man sieht aber bereitsa gut, wie sich der Ablauf (weiße Linien) verbinden lässt. Weiters lassen sich auch die Attribute, welche in verschiedenen Farben dargestellt sind (rot = bool, türkis = int, blau = float, oranga = string) miteinander verknüpfen. Das ist das coole daran, es lassen sich nämlich überall wo Werte reingeschrieben werden können, auch der Output einer anderen Funktion angängen. Dort, wo kein Input anhängt, wird der Wert über eine Textbox angezeigt, lässt sich dort auch so bearbeiten und verwenden. Im zweiten Bild ganz rechts sieht man auch noch ein cooles Feature: Array! Damit lassen sich auch eine Menge tolle Sachen anstellen, da ich auf diese Weise Code einfachst auf mehere Elemente anwenden kann. Auch wenn ich mir die Idee dahinter nicht selber ausgedacht habe, und mir auch einige Design-Details von Unreal abgeguckt habe, bin ich doch immerhin mit meiner implementierung zu frieden und hoffe, dass man die ganze Chose einiges an Arbeit abnehmen wird.
-
Update,
habe das Eventsystem erweitert, der Editor ist grundsätzlich soweit funktionsfähig, dass ich damit bereits arbeiten könnte. Jedoch gibt es zuerst noch ein paar Features die ich einbauen möchte, damit ich nicht am Ende alles umstellen muss.
Eines davon, was ich bereits einbaue, ist das System der "Trigger". Das gab es zwar in ähnlicher Form auch schon beim Rpg-Maker, da gab es jedoch nur 5 Settings pro Eventseite - Action, Touch, Event-Touch, Autorun, Parallel. Bei meinem System kann ich nun mehrer Trigger gleichzeitig verwenden, und diese werden an den Unterschiedlichsten Stellen aktiviert. Beispielsweise gibt es einen beim Event-Start, einen jedes Update, beim Levelwechsel, etc... dieser Trigger spielt einfach das nächste angehängt Event-Command ab. Das ist soweit auch schon integriert, es fehlt lediglich noch die Möglichkeit, vom Event Werte zu übergeben. Damit kann man dann z.B. ein SpellHit-Event machen, dass den Auslöser des Events, den Zauber, usw weitergibt. Mit dem aktuellen System spare ich mir aber schonmal im Vergleich zum Maker zahlreiche "Dummy"-Events die ich immer anlegen musst, wenn etwas bspw. einmalig beim Levelwechsel durchgeführt werden sollte.
Weitere Features die noch fehlen:
- Objekte. Im Moment kann man primitive Datentypen wie Zahlen, Wahrheitswerte, Strings etc... rumreichen und verwenden. Ganz wichtig ist es aber noch, auch verschiedene Objekte von beliebigem Typen herumschicken zu können. Damit kann ich z.B. ein CreatePicture-Event machen, das als Ausgabe das Picture selber hat, und dieses Picture kann ich dann an die weiteren Commands reichen, die dieses dann verschieben (beim Rpg-Maker musste man dafür das Image über eine ID referenzieren).
- Variablen. Wie bereits erwähnt soll es möglich sein, Werte im Script zu speichern, die dann abgefragt und verändert werden können, sei es im Event-Fluss selbst, oder von außerhalb.
- (Eventuell) Event-Interfaces. Das wäre die Möglichkeit, direkt aus einem solchen Event eine Funktion zu bastlen, die von anderen Events aufgerufen werden kann. Würde es auf jedenfall leichter machen, beispielsweise für Bossfights mal eben bestimmte Fähigkeiten wiederverwendbar zu machen.
Soweit so gut, anbei noch ein Screenshot. Der Laptopbildschirm ist da fast schon wieder zu klein, muss wohl noch eine Zoom-Stufe oder so einbauen.
PS: Ich weiß, ihr würdet viel lieber was konkretes über das Spiel hören, aber es ist erstmal wichtig dass dieses System steht, damit ich dann in einem Zug das Intro erstellen kann, ohne an jeder Ecke wieder zurückgehen und alles ändern zu müssen. Sobald die oben genannten Features integriert, und die Editor-Oberfläche noch halbwegs optimiert ist, gehts dann aber schon mit der Arbeit los.
-
ich muss das hört sich richtig gut an und ich warte lieber länger auf was handfestes als ein dahin gekleckertes spiel zu haben wo dann mehr fehler drinne sind als nötig
und was man so von den bildern her sehen tut ist auch echt interesant auch wenn ich nur 1% davon verstehe
mal ne frage am rande werden dann ecken und kannten besser sein als davor? also so das der blizstich unter der mauer verschwindet oder immer noch duch die mauer durchscheinen tut?
-
Ach, da muss man auch nicht alles verstehen, ist ja ne Menge technisches Zeug dabei, vor allem für Leute die den RPG-Maker nicht als vergleich kennen
Ob das mit den Ecken/Kanten besser wird kann ich nicht sagen, ich hatte eigentlich vor erstmal alle Maps nur 1:1 zu importieren, und dann erst auf die Episode 2 hin eigenes Mapping-Tools zu schreiben, die ich auch brauchen würde um das zu beheben. Eine allgemeine Lösung ist da eher schwer zu finden, aber mal schauen, ich wollte es ja einbauen dass Zauber nicht mehr durch Wände können, das würde dann vmtl Hand in Hand gehen.
-
Update, habe die letzten Tage u.a. das Editor-Interface stark verbessert (man kann jetzt u.a. in der Arbeitsflache herumscrollen), und auch die Event-Variablen eingebaut. Zwar fehlen noch die Möglichkeiten, zwischen unterschiedlichen Events zu kommunizieren, jedoch ist das auch fürs erste nicht allzu wichtig (sprich, das Intro kann ich zumindestens ohne machen). Wie man im angehängten Screenshot sehen kann, lässt sich einfach eine "getter"-Node im graphen platzieren, womit sich dann beliebige Attribute verbinden lassen. Die Variable kann dann auch noch im Graph selber mit einer "setter"-Node verändert werden, aber auch vordefiniert werden, oder (wie gesagt später) von außen verändert werden.
Damit fehlt jetzt vor allem nur noch die Objekte als Typ, und einige Komfort-Funktionen für den Editor, dann kann ich die ganzen Event-Funktionen ausdefinieren, die fürs Intro gebraucht werden, und damit anfangen. Zuerst wird eh das Intro-Video modelliert, und dann die Szenen vor Krysta. Weglassen werde ich vmtl erstmal den Vogelflug aus der Anfangsszene, da ich hierfür erstmal Mode7 oder ähnliches implementieren muss.
-
Update,
nun habe ich für das Event-System die Objekte als Attribute/Rückgabewert eingebaut, damit kann ich grundsätzlich schonmal mit dem Arbeiten beginnen. Beim Screenshot im Hintergrund sieht man auch schon ungefähr was passiert, ich habe hier mit dem Intro-Video begonnen, muss bloß noch Support für den Lokalisierten Text im Editor einbauen, deswegen derweil der ???-Text. Da ich jetzt endlich etwas konkretes habe, möchte ich auch kurz die genaue Funktionsweise von dem Eventsystem an dem Beispiel erklären: Oben links sieht man den "Start"-Trigger, dieser startet beim Initialisieren, und löst ein "Parallel"-Event aus, das den Eventfluss in mehrere Teile teilt, hier zwei Stück. Oben wird zuerst eine Entity mit Picture, Position & Sprite-Componente angelegt. Das hatte ich schon auf den vorherigen Seiten erklärt, es wird immer erst eine leere Entity angelegt und diese dann mit Components bestückt. Damit das wie in diesem Beispiel nicht jedesmal drei Befehle braucht, habe ich das ganze zusammengefasst. Das ist der Vorteil an diesem System, ich kann beliebig viele Komfort-Funktionen einbauen, ohne den Code selber aufzublähen oder zu verkomplizieren. Dann sieht man auch schon das Objekt in blau, welches zurückgegeben wird. Objekte sind Typsicher, heißt, nur Kommandos die auch wirklich eine "Entity" erwarten können diese überhaupt entgegennehmen. Also Objekt kommt jeder vorher registrierte Typ infrage. Das nächste Kommando bewegt also das Bild über einen bestimmten Zeitraum, und an dieser Stelle hört der obere Codefluss auf.
Im unteren Codeabschnitt wird zeitgleich mit dem Anzeigen des Bildes der Intro-Text angezeigt. Das "TextSettings"-Command setzt dabei Aussehen und Verhalten der Textbox (hier wollen wir eine unsichtbare Box ganz am unteren Rand, die unahängig vom Input des Spielers agiert). Der nächste "ShowTextLocalized"-Befehl zeigt dann den Text Schritt für Schritt an, und zwar von der Tabelle von Sprachenabhängigen Textstücken, was wie gesagt gerade nur im Spiel-Modus selbst läuft. Sobald der Text zuende ist (deshalb ist er auf "blocking" gesetzt), wir dann das vorher erzeugt Picture-Objekt gelöscht. An dieser Stelle würde eigentlich ein Fade-Out zum nächsten Bild kommen, das muss ich aber alles noch einbauen.Man sieht, es geht schon weiter. Es gibt auch hier noch einige Sachen einzubauen um bestimmte Features zu unterstützen, beispielsweise eine "for"-schleife, die Befehle mehrmals durchführt, und natürlich jedes einzelne Command das irgendwann gebraucht wird, aber ich bin sehr zuversichtlich dass ich bald etwas spielbares rausbringen kann.... zumindestens nach der Prüfungszeit, bis Mitte Juni wird es noch etwas anstrengend für mich.
-
Ich finde es allgemein begeisterungswert, dass du noch immer da hinter klemmst, hinter Terranigma 2
Das Vorgenommene artete bereits für den ersten Teil in einem Mammutprojekt aus (Was man vor allen an Regionen wie Aedar sehen kann) und du versucht nicht nur eine neue Geschichte mit zwar bekannten Elementen zu erarbeiten, sondern auch noch Arks typische Sprache beizubehalten ;D
Und das noch neben dem Studium O.o
Seit Vampires Dawn 2 hab ich nichtmehr soviel begeisterung für ein RPG-Maker-Spiel gehabt
So, das dazu -
Hey hey bin neu hier im forum und bin froh das ich euch gefunden habe habe nach vielen vielen jahren endlich Terranigma durchgespielt und nun ist der wunsch nach mehr sehr groß daher einmal ein riesen fettes DANKESCHÖN!!! für deine mühe
mal ne frage am rande hast du eigentlich etwas in planung das die Grafiken glättet wie bei einem emulator ich weiss es geht um retro usw aber es wär schön wenn es möglich wär das man das bild glätten könte per shader hier mal ein beispiel :
ich würde mich sehr freuen drüber da das spiel dann auf einem tft superb aussieht
-
Danke für die netten Worte, bedenke aber dass es sich bei Terranigma 2 nicht mehr lange um ein Rpg-Maker-Spiel handelt
Sowas liegt definitiv im Rahmen des machbaren, ichi hab zwar schon einige unangenehme Erfahrungen mit derlei Geschichten... hatte anfangs nämlich die Grafiken per Hand geglättet, hat anfangs IMHO besser ausgesehen wie mit einem solchen Filter, kam aber allgemein nicht so gut an. Aber da das ja nur paar Zeilen Shadercode sind, lässt es sich sicher einbauen.
So, wieder ein kleines Update, hab die letzten Tage damit verbracht den ganzen Code vom Event-System nochmal aufzuräumen, hat sich ziemlich gelohnt, jetzt kann ich noch viel einfacher damit arbeiten. Das Intro-Video habe ich soweit auch fertig. Im Screenshot mag das ganze vllt etwas verwirrend aussehen, und es bedarf sicherlich noch ein paar grafischer Feinheiten (zB. sollten die Verbindungslinien dicker sein), aber im großen und ganzen lässt sich damit gut arbeiten. Ich kann z.B. wie man rechts unten sieht einfache Berechnungen anstellen, zB. wie lange der Text zum anzeigen brauchen wird, und aufgrund dessen beispielsweise den Fade-Out syncronisieren. Auch die Variablen machen das ganze viel leichter als früher, weil ich jetzt an nur einer Stelle beispielsweise die Dauer von den Fades tweaken kann. Ganz praktisch ist es auch, dass ich durch umsetzen einer einzigen Verbindung mittem im Event starten kann. Ich kann außerdem durch einfachen Knopfdruck das Spiel direkt im Editor starten lassen, während ich noch nebenbei arbeiten kann, und dann einfach wieder abbrechen und von vorne beginnen, das ist auch ein enorme Vorteil im Vergleich zum Maker. Geplant sind auch noch Features wie veränderbare Abspiel-Geschwindigkeit, Pause, und ein Visuelles Debugging von den Events, sodass ich sehen kann was gerade ausgeführt wird.
Außerdem bin ich gerade dabei Sounds einzubauen. Auch hier ist mir ein großer Erfolg gelungen. Ich weiß nicht wem es aufgefallen ist, aber irgendwie war der Sound im Maker, obwohl ich die Original-Files verwendet habe, etwas merkwürdig. Ich hab jetzt lange mit dem Emulator verglichen, und bin drauf gekommen, dass es an der "Echo"-Einstellung liegt. Da ich jetzt in meiner Engine einen SPC-Emulator verwende (SPC ist das Soundformat vom SNES), konnte ich die entsprechende Stelle im Code finden, und deaktivieren. Es war interessanterweise keine Einstellung, sondern irgendein Fehler in den Files oder der Abspielroutine, ich musste den kompletten Echo-Teil rausnehmen. Dafür ist die Tonqualität jetzt nochmal um Meilen besser! Leider konnte ich den Emulator bisher nur verwenden um das SPC in eine Standard-Soundatei zu verwandelt, jetzt muss ich noch rauskriegen wie ich das ganze Streame (da sonst u.a. das Looping der Soundfiles nicht funktionieren würde). Da sich auch die Art der Textanzeige ja enorm verändert hat, werde ich, sobald alles passt, das Video selbst als erst neue Demo hochstellen, mich würde nämlich interessieren was ihr davon haltet.
Mfg
The King -
vielen dank für die positive antwort es wär ja möglich das als option einzufügen und eventuell auch eine option das user selbst shaderfiles hinzufügen können um das spiel halt nach ihrem geschmak anpassen zu können und die die das spiel einfach mal original genießen wollen schalten dieses "gedöhns" einfach ab so bedient man 2 grupen und beide sind zufrieden denke ich mal
-
Zitat
vielen dank für die positive antwort es wär ja möglich das als option einzufügen und eventuell auch eine option das user selbst shaderfiles hinzufügen können um das spiel halt nach ihrem geschmak anpassen zu können und die die das spiel einfach mal original genießen wollen schalten dieses "gedöhns" einfach ab so bedient man 2 grupen und beide sind zufrieden denke ich mal
Jop, einstellbar wird es in jedem fall sein, ich selbst bevorzuge ja den guten alten 1:1 pixellook Shader-modding sollte auch möglich sein, obwohl die Leute sich dazu erstmal in die Shadersprache meiner Engine einlesen müssten... wobei das im Prinzip auch nur ein HLSL-dialekt mit bissl netterem syntax ist, so sieht beispielsweise der Shader für den "Colortone", sprich Farbe erhöht/gesenkt von total schwarz bis total weiß, sowie Graysacle aus:
Code
Alles anzeigenvertexShader(SCREEN) pixelShader { input Instance { float4 vScreenTone; } textures { 2D Scene; } out { float4 vColor; } main { float3 vColor = Sample(Scene, in.vTex0).rgb + vScreenTone.rgb; float grayscale = dot(vColor, float3(0.3, 0.59, 0.11)); out.vColor.rgb = lerp(vColor, float3(grayscale), vScreenTone.a); } }
EDIT: Audio-Wiedergabe funktioniert soweit, auch wenn es, sofern mich meine müden Augen nicht täuschen, da immer wieder zu kleinen rucklern kommt, was auch vollkommen erwartet kommt, da ich im Hintergrund über den SPC-Emulator regelmäßig Audio-Daten buffern muss, und das scheint (zumindestens im Debug-Modus) etwas langsam von dannen zu gehen. Mal schauen ob das im Release auch so bleibt, ansonsten muss ich mir was einfallen lassen. Muss heute auch noch Bachelorarbeite und an einem anderen Projekt schreiben, werd aber vmtl die Tage das Video zum, nunja, anspielen bereitstellen. Oh ja, und die meisten welche die alte Version kennen werden sich auch freuen, dass die Fade-Outs der Musik nun ebenfalls wesentlich flüssiger läuft als zuvor. Das war ja eine der Sachen, die ich dank Winamp-Plugin für die SPC-files beim Rpg-Maker nicht wirklich unter Kontrolle hatte, genauso wie die Soundqualität, bin froh dass das nun endlich auch klappt!
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!