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

71

20.12.2009, 13:12

Gratulation auch von mir! ;)

Sehr beeindruckend und anscheinend mit viel Liebe und Herzblut gemacht.

Wie chrische5 schon sagte, ist das mit dem Zielpunkt nicht gut gelöst.
Irgendwie ist der bei mir auf den zweiten Monitor geraten, und beim versehentlichen Klick ist das Spiel abgeschmiert (LostDevice).
Das solltet ihr unbedingt noch fixen.

  • »Wümpftlbrümpftl« ist der Autor dieses Themas

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

72

20.12.2009, 13:18

@ TrikkieMikkie
Hm ja das ist eine der größten Macken an dem Spiel: Es kann mit Lost Device nicht umgehen.
Ich habs irgendwann aufgeben DirectX da dauernd nachzulaufen.. war sehr nervöttend und nach jedem minimieren gabs neue Fehler - also hab ich beschlossen, dass das Spiel das einfach nicht unterstützt, statt das es dann sonst was macht...

@ E122
Hm Fehler im Script auch? Naja egal solang er weiterläuft, wirds schon nichts schlimmes gewesen sein. ^^
Joa aber der Log da recht aggressiv.. was er nicht findet notiert er als Fehler.. und hin und wieder waren da ein paar Angaben eben nicht so ganz vollständig ^^

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

73

20.12.2009, 13:29

Zitat von »"Wümpftlbrümpftl"«

@ TrikkieMikkie
Hm ja das ist eine der größten Macken an dem Spiel: Es kann mit Lost Device nicht umgehen.
Ich habs irgendwann aufgeben DirectX da dauernd nachzulaufen.. war sehr nervöttend und nach jedem minimieren gabs neue Fehler - also hab ich beschlossen, dass das Spiel das einfach nicht unterstützt, statt das es dann sonst was macht...

Ist sehr mühsam, wenn man es nicht bereits von Anfang an integriert hat.

Ich habe das so gelöst, dass es da einen Wrapper um jede Ressource gibt, die man so verlieren kann und diese registriert sich dann irgendwo und wenn man ein Lost Device feststellt, werden alle Ressourcen wieder geladen. Wie das geschieht ist abhängig von der Ressource selbst. (VB's werden z.B doppelt gehalten, einmal noch in einem Array, und dieser kann dann relativ schnell wieder einen neuen VB erstellen, Texturen werden neu geladen usw. keine befriedigende Lösung habe ich für das rendern in Texturen gefunden, darum biete ich eine Funktion an, wo solche Sachen ebenfalls jedesmal, wenn neu erstellt wird ausgeführt werden können). Lost Device ist aber durchaus imo einer der grössen Mängel von DX9. Zum Glück ist das ja bereits in DX10 weg. :)
Mich nähmte aber durchaus wunder, wie das andere Leute machen. Z.B auch Crysis, da bei denen der Aufbau der Levels ja grundsätzlich lange geht (lange Ladezeiten) aber wenn man mal eben das Fenster wechselt und wieder zurück ist alles bereits wieder da, ohne das man gross warten muss. (Meine Vermutung ist, dass die da so etwas ähnliches machen, wie ich mit den VB's. :))

Sorry für OT, aber zum Spiel kann ich noch nichts sagen, weil ich es immernoch am laden bin.. -.-

  • »Wümpftlbrümpftl« ist der Autor dieses Themas

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

74

20.12.2009, 13:35

Ich denke die machen das dann alles tatsächlich über diese Reset-Funktionen.. is aber ziemlich haarig find ich.

Solchen Sachen werd ich in der Zukunft einfach in einem weiten Bogen aus dem Weg gehen: Ich arbeit mich in Ogre3D ein :)


EDIT:
So weil jetzt schon öfter gefragt wurde.. ich hab meinen Herzen einen Stoß gegeben und den SourceCode zusammengestellt für euch.
Ich muss aber eindrücklich warnen, dass der ziemlich wirr ist! Ich hab während der Entwicklungszeit meine Stil ein paar mal verändert.. und am Schluss hab ich dann die Kommentare nicht mehr wie sonst auf Deutsch sondern auf Englisch geschrieben (zwecks der Übung).
Aus meinem heutigen Standpunkt heraus is der Code ein ziemliches Kuddelmudel... von OOP nicht viele Spuren.
7z Archiv 3,6 MB
Es liegen noch bei eine Textdateien mit einigen wichtigen Infos zur Verwendung, sowie für den Editor nötige Daten. Außerdem sind Projektdateien für VC++08 enthalten.
Wenn jemand beim Anblick stirbt ist es nicht meine Schuld ^^

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

75

20.12.2009, 14:11

So, habs jetzt mal kurz angeschaut. Wirklich beeindruckend!

Gefällt mir recht gut ist das erste RPG, das ich spiele. :p

Ich bleibe teils noch in Gebäuden hängen, aber das ist eher eine Kleinigkeit. :)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

76

20.12.2009, 14:23

Ist zwar schon eine weile her, aber musste man eig nur die texturen+surfaces reseten? Und das ging doch eig per Device->Reset, wenn man da die entsprechenden creationflags gesetzt hat (ich glaube D3DPOOL_MANAGED o.s.ä.), oder irre ich mich gerade gewaltig?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

  • »Wümpftlbrümpftl« ist der Autor dieses Themas

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

77

20.12.2009, 14:24

Richtig. Dazu muss aber auch wirklich alles Managed sein. Und irgendnen anderen Hacken gabs glaub ich auch noch.. fällt mir gerade nicht mehr ein...

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

78

20.12.2009, 14:26

Ja rendertargets werden nicht automatisch neu erstellt. Alternativ kann man einem Lost_Device vorbeugen indem man alle aktionen vermeidet, während das fenster nicht aktiv ist. Ich glaube dann schreddert es die device auch nicht. Bin mir aber nicht mehr sicher...
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

79

20.12.2009, 14:36

Zitat von »"Nox"«

Alternativ kann man einem Lost_Device vorbeugen indem man alle aktionen vermeidet, während das fenster nicht aktiv ist. Ich glaube dann schreddert es die device auch nicht. Bin mir aber nicht mehr sicher...

Hmm. Nein, das ist glaube ich nicht so. Steht zumindest ebenfalls in der Doku so etwas, wie sobald gewisse Aktionen passieren, wie eben Fenster wechseln, gibts Lost Device, weil glaube ich der Speicher für andere Sachen gebraucht wird. Ob da jetzt noch ein Call kommt oder nicht spielt keine Rolle.

Man müsste es ausprobieren, aber ich meine alleine das feststellen, ob die Device Lost ist geht ja über einen Call. (present oder so, weiss nicht mehr genau).

80

20.12.2009, 14:38

Beim Code der GV-Engine (speziell Direct3D (sind sogar noch tbDirect3D kommentare dabei )) hab ihr euch aber ein bisschen von der TB_Engine Beeinflussen lassen ;)

Werbeanzeige