Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

151

04.11.2015, 13:10

https://www.reddit.com/r/gamedev/comment…ty_game_engine/


Eben auf Reddit gefunden, vielleicht für den ein oder anderen hier interessant. :)
games from scratch schreibt derzeit eine Reihe an Artikeln über verschiedene Engines/Frameworks. Diesmal war Duality dran.

Hier ist sein Kommentar zum Artikel:

Zitat

In all honesty, Duality is an engine I looked at briefly in the past and dismissed, and I really shouldn't have. First, its most glaring flaw right up front... it's tooling is Windows only. So if you are a Linux person, or a Mac guy without Parallels, you are out of luck here. It used to be Windows only as a platform too, rendering it mostly useless these days IMHO. Thankfully they ported the entire thing to PCL meaning it should run anywhere a .NET environment exists. This made Duality a hell of a lot more useful in the end.
To quickly summarize Duality, it's a very polished, clean, 2D only Unity with cleaner code. The tools are impressive in their level of polish... they hide a great deal of complexity from you, but you can dig into that complexity if you so desire.
Basically if you've got a Windows dev box, like C# and only require 2D you owe it to yourself to check out Duality.
WIP Website: kevinheese.de

152

24.11.2015, 16:45

Habe vor kurzem damit angefangen, ein wenig über ein "offizielles" Tilemap plugin für Duality nachzudenken. Ein wenig Konzept und ungefilterte Gedanken zum Thema findet ihr in dieser GitHub Issue, falls von Interesse. Ihr könnt euch dort auch gerne an der Diskussion beteiligen, falls ihr Erfahrungen auf dem Gebiet habt!

Was die Implementierung angeht, steht die Sache noch relativ am Anfang. Einen ersten Eindruck vom Culling-Test gibts aber schon:


(Link)

(Link zur gif-Animation)


Der Einfachheit halber wird immer ein rechteckiger Bereich an Tiles gerendert - wie genau dieser aussieht, wird allerdings dynamisch bestimmt, je nachdem wo und wie die Kamera gerade hinsieht. Das weiße Quadrat simuliert für den Test den sichtbaren Bereich einer Kamera. Vermutlich wird das ganze so auch schon ausreichen - das ganze Rendering läuft dank Culling bereits unter 1 ms pro Frame ab, und auch wenn man mehrere davon übereinander legt: In den meisten Fällen sollte das eigentlich in Ordnung gehen. Weitere Optimierung wäre möglich, aber erstmal gibt es anderes zu tun :)

Als nächstes auf der Liste: Wirklich mal Tiles rendern, und nicht diese farbigen Platzhalter-Blöcke. Dazu dann auch der Entwurf entsprechender API in möglichst sinnvoller Form.

https://www.reddit.com/r/gamedev/comment…ty_game_engine/


Eben auf Reddit gefunden, vielleicht für den ein oder anderen hier interessant. :)
games from scratch schreibt derzeit eine Reihe an Artikeln über verschiedene Engines/Frameworks. Diesmal war Duality dran.


Sehr schöner Überblick ^^ Die Videoversion kann man sich durchaus mal ansehen, wenn man sich fragt, was es mit diesem Duality auf sich hat.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Fetze« (25.11.2015, 00:16)


153

02.12.2015, 11:46

Duality ist jetzt auch auf der Indie-Plattform itch.io vertreten:


(Link)


Wer das Projekt mit Spenden unterstützen oder mir auf die Ferne ein Bier ausgeben will, kann das nun also auch auf diesem Weg tun. :D

154

04.12.2015, 14:24

Weitere Arbeiten am Tilemaps Plugin:


(Link)

(Link)


Hier zu sehen: Beliebig geformte Brushes, kontextsensitives Picking der Tilemaps und (kurz, am Ende) die Integration ins Undo/Redo System des Editors. Eine ganze Menge ist noch zu tun, aber langsam geht es auch ein wenig voran.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

155

04.12.2015, 14:50

Wie arbeitet Duality bezüglich Textures? Normal non-premultiplied oder premultiplied? Oder kann es beides?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

156

04.12.2015, 15:00

Wie arbeitet Duality bezüglich Textures? Normal non-premultiplied oder premultiplied? Oder kann es beides?

Es ist zwar theoretisch alles vorhanden um sich ein Premultiplied Alpha Setup zu bauen, allerdings nutzt Duality "out of the box" die non-premultiplied Variante. (Edit: Mit anderen Worten: Ich habs selbst noch nicht ausprobiert, denkbar wäre das aber.)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

157

04.12.2015, 15:34

Ich habe gemerkt wie sau wichtig pre-multiplied Textures sind, sofern man nicht alles Pixel-perfekt ausrichten kann und will. Ohne pre-multiplied (oder entsprechendem Shader) bekommt man die Artefakte (black texture bleed) einfach nicht weg. Natürlich muss man damit Blending komplett umstellen, weil man nicht nur an Alpha drehen kann, damit Sprites durchsichtig werden, sondern auch an der Color drehen muss, weil man ja sonst das Pre-Multiplied nicht beachtet. Auch die Blending-Berechnung an sich muss umgestellt werden ("alpha+one_minus_alpha" vs. "one+one_minus_alpha").
Entsprechender Support wäre für mich persönlich angesichts des Texture-Bleeds unbedingt notwendig (auch ein Grund, warum ich SFML 2.0 damals selbst gepatcht habe, der offizielle Support kam zum Glück mit 2.1 oder 2.2 oder so). Alle neuen Sprites exportiere ich für meine Games nur noch pre-multiplied.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

158

04.12.2015, 15:48

Ich habe gemerkt wie sau wichtig pre-multiplied Textures sind, sofern man nicht alles Pixel-perfekt ausrichten kann und will. Ohne pre-multiplied (oder entsprechendem Shader) bekommt man die Artefakte (black texture bleed) einfach nicht weg. Natürlich muss man damit Blending komplett umstellen, weil man nicht nur an Alpha drehen kann, damit Sprites durchsichtig werden, sondern auch an der Color drehen muss, weil man ja sonst das Pre-Multiplied nicht beachtet. Auch die Blending-Berechnung an sich muss umgestellt werden ("alpha+one_minus_alpha" vs. "one+one_minus_alpha").
Entsprechender Support wäre für mich persönlich angesichts des Texture-Bleeds unbedingt notwendig (auch ein Grund, warum ich SFML 2.0 damals selbst gepatcht habe, der offizielle Support kam zum Glück mit 2.1 oder 2.2 oder so). Alle neuen Sprites exportiere ich für meine Games nur noch pre-multiplied.


Kann ich durchaus verstehen, sind auch definitiv valide Bedenken.

Wenn du Duality dazu bringen willst, in Premultiplied Alpha zu denken, dann wäre das hier so in etwa die Vorgehensweise, die ich wählen würde:
  • Im Editor eine neue DrawTechnique Resource anlegen, die als Blending Modus AlphaPre verwendet. Der ist schon eingebaut, wird aber von den Standardsachen nicht verwendet. Damit kriegst du die Blending-Berechnung, die du brauchst.
  • Falls nötig, einen eigenen FragmentShader anlegen und dann via ShaderProgram in die neue DrawTechnique linken, gegebenenfalls einfach zwei DrawTechniques haben - eine mit und eine ohne shader.
  • Premultiplied Alpha Assets ganz normal importieren, aber im generierten Material deine custom DrawTechnique reinpacken.

Was man noch überlegen könnte wäre ein custom Asset Importer, der nicht-premultiplied Bilder automatisch in premultiplied umwandelt, aber wenn du deine Daten ohnehin bereits premultiplied exportierst, kannst du dir das auch sparen :D

Werbeanzeige