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

141

07.04.2015, 15:27

Zitat

Strg+Hund
hab ich das wirklich geschrieben? :) ich meinte Strg+H :)

142

07.04.2015, 16:55

kann mir jemand erklären wie man in Duality mit Kollisionen arbeitet? (Codebeispiele?)
Ich suche ungefähr so was:

if object1.collidesWith(object2)
{
// bla bla bla
}

143

07.04.2015, 17:08

Bin gerade etwas in Eile, daher nur eine sehr kurze Antwort: Für Kollisionsabfragen den entsprechenden Objekten eine RigidBody Komponente mitgeben (und bei Bedarf deren Shapes IsSensor auf "true" setzen), zur Reaktion darauf dann in eigenen Komponenten das ICmpCollisionListener interface implementieren. Das ist so das Wesentliche - für Details finden sich diverse Beiträge im Duality Forum. ^^

144

08.04.2015, 17:00

Ok. Danke für diese Hilfe. Ich hoffe du hast bald Zeit um ein etwas "umfangreicheres" Tutorial für dieses Thema zu machen. :thumbsup:

145

08.04.2015, 17:32

Der Demo-Downloadbutton im Startpost liefert 404... ;)

146

22.10.2015, 18:22

Der Demo-Downloadbutton im Startpost liefert 404... ;)

Huch - irgendwie muss deine Antwort untergegangen sein. Danke für den Hinweis, ist jetzt gefixed :) Sorry für die Verzögerung!

147

22.10.2015, 18:44

Edit: Ups, zu früh auf Absenden geklickt. Hier gibt es nichts zu sehen! Post folgt demnächst!

148

22.10.2015, 19:09

So. Nachdem ich nun mit meiner unbedachten Einzel-Antwort an Roflo ein lange ausstehendes Update vorgetäuscht und dann auch noch versehentlich einen Doppelpost verursache habe, will ich nun schnell tatsächlich einen echten update-Post nachschieben.



Richtig gelesen! Ein "major version step", wie ich auf Englisch sagen würde, wofür mir auf Deutsch gerade leider keine vernünftige Wendung einfällt. Und ja, das oben ist einfach der reguläre binary download link - beim installieren holt sich der Package Manager dann schon die aktuellen Sachen :)

Was hat sich also groß geändert seit v1.x? Was war der Fokus meiner Änderungen? In einem Wort: Portabilität.

Nein, Duality läuft nicht plötzlich auf magische Weise auf Linux und Android. An dieser Stelle muss ich leider den soeben geweckten Erwartungen einen Dämpfer verpassen: Ich habe als Einzelperson schlichtweg nicht die Ressourcen, ein Framework dieser größe neben Studium und Job auf mehrere Plattformen zu wuchten und überall gleichmäßig zu supporten - das ist einfach nicht drin. Gleichzeitig finde ich aber durchaus, dass Duality in Sachen Multiplatform-Support einiges an Potential hätte! Was ich also seit dem letzten großen Update angestoßen habe, war die größte Refactoring-Aktion in der Geschichte des Frameworks ™. Nach all dieser Zeit habe ich nun keine Mühen gescheut und euch mal eine bildliche Darstellung davon herausgesucht:


(Link)


In den letzten paar Frames, als die Katze mit einem letzten Hauch von Bestürzung im Blick aus der Wanne klettert, aber man ihre Erleichterung schon ahnen kann? Das war ich vor ein paar Wochen.

Aber was hat nun Refactoring mit Portabilität zu tun? Ganz einfach: Mein Ziel war es, die Portierung von Duality auf andere Plattformen so einfach wie möglich zu machen. Das bedeutet konkret: Jemand der Duality nutzt sollte in der Lage sein, die Engine auf seine Zielplattform zu bringen, ohne meine mittlerweile sehr große Codebase anfassen zu müssen, denn das ist genau der Part, der für Außenstehende alles andere als einfach wäre. Um das zu erreichen galt es also zuerst, jeglichen plattformabhängigen Code zu identifizieren und mit chirurgischer Präzision zu entfernen, kurz: Den Kern von Duality in einen weitgehend Plattform-agnostischen Zustand zu versetzen - und all den Plattform-Code in Plugins zu verfrachten. Hier die Idee soweit als Bild:


(Link)


Ein Klick auf das obige Bild führt euch zur Wikiseite, die das im Detail nochmal beschreibt. Die Kurzfassung: Wir, also du (der Entwickler) und ich (der Duality-Typ) machen Arbeitsteilung und entwickeln beide das, was wir am besten können: Ich die Engine, du die Anbindung an die Plattform, die du kennst - indem du eine vorgegebene Backend API implementierst, in ein Plugin packst, und der Engine zur Verfügung stellst. Kern der Engine, Spiellogik, andere Plugins und Spielinhalte müssen dafür nicht angefasst werden, weil sie auf den Schultern eines Abstraction Layers stehen, hinter dem alle konkreten Plattformabhängigen Dinge verborgen sind.

Soweit die Theorie. In der Praxis ausprobiert haben wir das alle noch nicht, aber in einer Sache bin ich mir vergleichsweise sicher: Ein großer Packen an Arbeit für die Portierung eines Spiels auf eine andere Plattform als Windows ist getan. Alles? Sicher nicht. Aber es ist ein Anfang - und wer die letzten Schritte vorsichtig gehen will, der hat nun einen deutlich kürzeren Weg vor sich, den er mit deutlich weniger Know-How über Engine Interna gehen kann.

Der Fokus des v2.0 Releases wäre damit nun geklärt - aber in mehr als 6 Monaten kann sich einiges tun, und daher gibt es auch eine ganze Reihe anderer Features und Fixes, die es in den Release geschafft haben. Alles einzeln aufzulisten wäre an dieser Stelle redundant, daher möchte ich euch einfach auf eine kurze Auflistung auf meiner Website verlinken, in der ihr den fast vollständigen Changelog lesen könnt. Wer sich für Interna interessiert, kann auch gerne den archivierten Milestone im GitHub Issue Tracker besuchen und sich etwas einlesen.


(Link)


Eine Sache will ich aber noch loswerden: Es gibt zum Release von v2.0 eine ganze Menge neuer Sample Packages, die ihr aus dem Duality Editor einfach installieren und euch ansehen oder damit herumspielen könnt. Wer also schon immer mal einen Blick auf die Sache werfen wollte: Jetzt ist ein guter Zeitpunkt :) Den Link dazu findet ihr auf der Infoseite. Hier schonmal ein kleiner Preview aus dem Custom Particle System Sample:


(Link)


Oh, und ein neues Icon hat das ganze auch! Das passt nun endlich mal zum Logo auf der Website:


(Link)


Das wärs erstmal von mir. Feedback wie immer willkommen, ansonsten wünsche ich euch allen Frohes Entwickeln! :D

Julién

Alter Hase

Beiträge: 717

Wohnort: Bayreuth

Beruf: Student | Hilfswissenschaftler in der Robotik

  • Private Nachricht senden

149

22.10.2015, 21:35

Ich habe letztens deine Bachelorarbeit zu/über Duality gelesen. Respekt! :D
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert

150

23.10.2015, 11:07

Ich habe letztens deine Bachelorarbeit zu/über Duality gelesen. Respekt! :D

Danke ^^ Und freut mich, wenn sie nach der Abgabe noch jemandem zunutze sein kann :)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Fetze« (23.10.2015, 11:38)


Werbeanzeige