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
Das werde ich machen sobald ich Ende des Monats mein neues Laptop habe solange wird erstmal Content gesammelt und mit einer unaktuellen Version von Dualtiy gearbeitet.Wenn du ein neues Projekt beginnen willst, würde ich dir grundsätzlich empfehlen, Duality selbst auszuchecken und zu bauen. Wenn du SVN installiert hast, ist das im Grunde kein großes Ding und es sorgt dafür, dass du immer auf dem aktuellen Stand bist. Offizielle Releaseversionen gibts von mir momentan eher selten, Updates mit Bugfixes und Tweaks aber relativ oft. Allein in den letzten drei Tagen, also seit dem "Platformer Example"-Release gabs fünf neue SVN Commits von mir, kann sich also durchaus lohnen
Duality kann das bestimmt. Ich denke damit kann man schneller arbeiten als mit Beispielsweise SFML oder XNA oder womit auch immer. Ich dachte schon über Unity nach aber dafür ist die Zeit immer recht knapp ( wenn man nicht gerade sehr sehr viel code recyclet). Und bis zur Devmania ist ja auch noch ne Menge Zeit.Würde mich natürlich riesig freuen, wenn der Overnight Contest davon profitieren könnte, aber ich denke für ein öffentliches Event mit Zeitlimit ist Duality noch nicht bereit. Es läuft zwar recht stabil, aber da ich bisher nur sehr wenige Tester außer meiner selbst zur Verfügung hatte, traue ich der Sache noch nicht
Ich will eine Linux Version
Das ist zwar ein nachvollziehbarer Feature Request, aber er liegt jenseits des von mir realisierbaren und gleichzeitig abseits jedes momentan meinerseits existenten Entwicklungsfokus Ist also leider vorerst unrealistisch, vielleicht kommen wir irgendwann (nicht sehr bald) nochmal darüber ins Gespräch. Momentan liegt die Sache so:Stimmt, eine Linux Version wäre perfekt! Da würde der Spiele-Markt für Linux gleich wieder blühen
Ansonst, ich hab mir Duality nur kurz auf nem Windows System angeschaut und finde es ziemlich gut.
Dadurch, dass das alles in .net ist, kannst du das ja Vorausgesetzt du meinst Visual Basic .NET!Zitat
kann man auch die Module in Visual Basic schreiben ?
Im Editor angezeigt werden alle Properties, die nicht statisch und öffentlich (public) sind. Wenn ihr die aktuelle Duality-Version aus dem SVN verwendet, gibt es mittlerweile auch den Debug-Mode für den Objekt Inspector: Ist der aktiv, werden auch die nicht-öffentlichen (protected, private, internal) Properties sowie ebenfalls alle Felder angezeigt, statische aber trotzdem nicht. Der Object Inspector befasst sich schließlich mit Instanzen, nicht der Klasse an sich.Zitat
Wenn ich im Code eine Eigenschaft hinzufüge, wird diese nicht im Editor angezeigt - auch nicht wenn ich den Editor neu starte. Ist das so gewollt oder nicht? Beim Platformer Beispiel wird die Eigenschaft des Charactercontrollers auch im Editor angezeigt (IsOnGround).
Quellcode |
|
1 2 3 4 5 6 7 8 9 |
public class TestClass : Component, ... { // Privates Feld private string name; // Öffentliches Property public string Name { get { return this.name; } set { this.name = value; } } } |
Transparenzfarben werden nicht unterstützt, allerdings wird der Alphakanal einer Textur natürlich als Transparenz interpretiert. Wenn du eine Farbe Transparent haben willst, öffne die Bilddatei im Grafikprogramm deines Vertrauens, wähle die Farbe aus, mach sie dort durchsichtig und speichere die Bilddatei wieder. Das setzt natürlich ein Format voraus, das mit dem Alphakanal umgehen kann, also beispielsweise .pngZitat
Gibt es eine Möglichkeit eine Farbe als Transparenzfarbe zu definieren? Ebenfalls beim Platformer Beispiel, kann ich zwar die Explosion laden und als Animation anzeigen, allerdings bekomme ich es nicht hin den schwarzen Hintergrund auszublenden.
Zitat
Wir wollen die Schwerkraft in verschiedene Richtungen lenken können. Was ist das dein erster Gedanke zu? Kann man in Duality irgendwie die Richtung der Schwerkraft direkt setzen oder ist unser Ansatz, einfach alle Map - Elemente um den Spieler zu drehen der einfachere?
Die einfachste und zugleich flexibelste Variante wäre, RigidBodies zu nutzen. Du kannst die Shapes eines RigidBodies in den "Sensor"-Modus schalten, dann werden sie im RigidBody-Editor orangefarben angezeigt und stellen keinen festen Körper mehr da. Solche Shapes detektieren Kollisionen, reagieren jedoch nicht mehr darauf! Alles was du danach noch brauchst ist eine eigene Komponente (z.B. ZoneComponent), die ICmpCollisionListener implementiert und in OnCollisionBegin / OnCollisionEnd entsprechend deinen Vorstellungen reagiertZitat
Wenn ich eine "Todeszone" einrichten will, um einen Charakter sterben zu lassen, wie gehe ich da in Duality am besten dran ran? Ich meine damit, dass im Platformer Example der Charakter nicht stirbt wenn er vom Gras runter hüpft. Solche Zonen sind ja keine Materialien. So wie ich dein Componentsystem verstanden habe, wäre der richtige Ansatz eine TriggerComponent, Kombiniert mit einer ZoneComponent. Ich sollte ja theoretisch ein GameObject einfügen können, welches nur diese beiden Komponenten enthält, richtig? Bietet mir Duality von Haus aus eine grafische Ansicht im Editor von z.B. einem Rechteck (das Rechteck der ZoneComponent)?
Jede Änderung an einem Prefab wirkt sich auf alle Instanzen dieses Prefabs aus! Damit alle Instanzen nicht gezwungen sind, völlig identische Kopien zu sein, verwalten sie lokal eine Änderungsliste, die nicht vom Prefab übernommen und im Editor automatisch verwaltet wird, wenn man etwas verändert.Zitat
Wie genau wirken sich Prefabs aus? Ich erstelle ein Prefab und ziehe ein GameObject von der Scene View in das Prefab und kann die so gespeicherte Konstellation direkt wieder erstellen. Was passiert aber, wenn ich ein Prefab Objekt auf dem Schirm habe und das Prefab neu definiere (ein anderes GameObject darauf ziehe)?
Lediglich die Transform-Komponente passt sich an ihr Parent-Objekt an, d.h. Position, Rotation und Skalierung sind relativ. Das lässt sich aber abschalten, wenn man im Child-Objekt in der Transform-Komponente "IgnoreParent" anklickt. Wird aber eigentlich nur sehr sehr selten benötigt. Wenn der Parent gar keine Transform-Komponente hat, sind all seine Children völlig frei, d.h. hier wird dann tatsächlich nichts "vererbt".Zitat
Wie werden wenn man GameObjects verschachtelt Eigenschaften vom jeweiligen Vater - GameObject geerbt?
Zitat
Ein Hinweis dazu, was im Sandbox - Modus geht und was nicht wäre hilfreich. Wir haben ewigs gedacht unser Code sei völliger Crap, weil im Sandbox modus keine keyboard inputs funktionieren
DualityApp.Keyboard[Blub] ist so lange True, wie die Taste gedrückt ist, auch wenn man sie gedrückt hält. KeyDown wird genau einmal getriggert, wenn die Taste heruntergedrückt wird. Hatte die Leertaste über KeyDown-abgefragt, weil ich hier wirklich nur einen einzigen Trigger-Aufruf wollte, keine per-Frame checksZitat
Wenn man auf Keystrokes reagieren will, was ist der Unterschied in deinem Ansatz im Platformer sample zwischen DualityApp.Keyboard[Key.XYZ] und einem KeyDown event handler in Duality.Keyboard.KeyDown? Wieso hast du alle Tasten bis auf die leertaste mit dem ersten Ansatz abgefragt und die Leertaste dann mit dem zweiten?
Die ist eigentlich nicht dafür vorgesehen, in Duality direkt mit dabei zu sein, das war nur mal so ein Experiment, was du mit der Solution aus dem SVN halt dabei hast Es gab da aber mal eine TechDemo, die dir demonstrieren kann was sie tut und wie man sie verwendet. Da die mittlerweile jedochso eingie Versionen zurückliegt, werden die beiliegenden Daten nicht 1:1 in der SVN-Version funktionieren. Zum angucken und lernen reichts aber sicherZitat
Wie funktioniert die Licht - Komponente? Das habe wir nicht wirklich gecheckt o.O
Nein, da gibt es momentan noch keine Lösung. Sowas müsste man sich noch selbst basteln, kam noch nicht dazu Es ist allerdings auch alles andere als leicht, eine für alle denkbaren Projekte globale Lösung für Tilemaps zu finden - insofern wird auch dieses Feature wohl noch ein Weilchen brauchen. Bis dahin: SpriteRenderer angucken und als Inspiration für einen eigenen TilemapRenderer nehmen. Eventuell könnte man auch einen eigenen Tileset-Ressourcentyp definieren und beides kombinieren. Erweitert werden könnte das auch noch mit einem TilemapBody, der aus einer Tilemap automatisch die zugehörigen Shapes für einen ebenfalls angehängten RigidBody definiert. Ein hübsches Design wäre also hier die Aufteilung in Tileset(-Ressource) Tilemap, TilemapRenderer und TilemapBody.Zitat
Ist es im Moment überhaupt möglich Tilesets zu verwenden? Also z.B. mehrere verschiedene Bodenstrukturen in ein Bild zu pappen und die dann einzeln anzeigen lassen? Oder muss ich da den namentlich eher unpassenden AnimSpriteRenderer nehmen?
Dafür verwendest du am besten leere GameObjects. Der Overhead dafür ist sehr gering und sie enthalten selbst keinerlei Logik, beeinflussen also ansonsten nichts.Zitat
Ist es möglich eine virtuelle Ordnerstruktur in der Scene - View einzuführen? Besonders bei grösseren Szenen wird das ganze schnell unübersichtlich, weil die Scene View komplett vollgepappt ist.
Doppelklick auf die Scene-Ressource im Project ViewZitat
Wie wechselt man zwischen verschiedenen Szenen?
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Darkrel« (03.09.2012, 19:19)
Werbeanzeige