Integrationstest meines Spiels



  • @Energyzer: Bei dir hat es scheinbar funktioniert. Darf ich fragen, ob du die VC# 2005 Express Beta installiert hast, oder ob du nur das Framework selber gezogen hast? Und wenn ja, wo?

    Danke schon mal



  • Ich hab das Framework von deiner Download-Site gezogen (also von dem Link,
    der zur MS-Site führte).

    Zuvor hatte ich schon das normale, aktuelle Framework drauf. Außerdem VS.NET
    C++ 2002 Std sowie DX 9.0c SDK (Dezember). Die 2005er Beta war bei mir nie
    drauf.

    Das ganze läuft auf Win XP Pro SP2.

    Wenn du weitere Fragen hast, frag ruhig 😉



  • Danke, für die Information!



  • Hi
    Folgender Fehler...

    An exception 'System.TypeInitializationException' has occured in Stoneage.exe
    

    Ach ja: Das .Net 2.0 Beta Framework hab ich drauf. 😞



  • Mir ist gerade aufgefallen, dass du PowerCollections benutzt. Sind dir die Klassen von System.Collections.Generic zu lahm ? Bei mir genügen die vollständig...



  • Nein, sie sind mir nicht zu lahm, es gibt einfach nur zu wenige davon.

    Hast du den Stack Trace zu dieser Exception? Insbesondere die Nested Exception würde mich interessieren.



  • Hmm warte, der Debugger verreckt mir, ich komm nicht an die Daten ran. Ich versuch mal ohne Debugger da ran zu kommen... hmm nein, geht gar nicht: Hab versucht nen "Wrapper" zu schreiben, der die Funktionen importiert und aufruft, aber das ganze kann nicht einmal geladen werden. Vielleicht liegt es daran, dass ich nur C++/CLI 2.0 gesaugt habe und den Rest nicht 😞 mfg



  • Bekomme die gleiche Fehlermeldung wie phoenix.

    Als ich mich mit Visual C++ 2005 Beta an den Prozess drangehangen habe, hab ich noch diese hilfreiche 😉 Meldung bekommen:

    Additional information: The type initializer for 'game.Game' threw an exception.



  • Hallo,

    danke für eure Mühen. Ich habe den Verdacht, dass ihm ein paar DLLs zu managed DirectX fehlen / in der falschen Version sind. Trifft es zu, dass jeder, der Probleme hat, kein DX SDK installiert hat? Wenn das der Fall ist, werd ich evtl. zukünftig ein paar DLLs (3 MB) mitliefern müssen.
    Das muss ich aber erstmal genauer herausfinden. Ich hab einen Testrechner, auf dem ich ein ähnliches Problem beim Starten reproduzieren konnte (blabla, dieses Problem an Microsoft senden), da werd ich Morgen Abend ein paar Tests machen.



  • Daran lags wohl. Nach Installation des DirectX SDKs lässt sich das Spiel starten.

    Vielleicht solltest du das noch verlinken.
    DirectX 9.0c Redistributable for Software Developers - Multilingual with updated DirectX for Managed Code (December 2004)



  • Ich hab's befürchtet. 34MB sind natürlich ein bisschen sehr krass. Hoffentlich ist das bei zukünftigen Installationen von DX dabei.



  • Genau das war es 💡 . Danke es funktioniert jetzt. Macht Spass, aber wie gesagt die Grafiken sind noch verbesserungswürdig 👍 .



  • hab auch mal das dx9sdk installiert, das Spiel funktioniert zwar immer noch nicht, es kommt jetzt aber beim starten folgende Meldung:

    Ein unerwarteter Fehler ist aufgetreten und das Programm mus beendet werden.
    ...
    In der Datei "logfile.txt" wurden Informationen über dieses Problem gespeichert.
    ...

    falls es dir Hilft:

    logfile.txt schrieb:

    startTime = 19.12.2004 13:31:42

    ...

    A CRITICAL EXCEPTION OCCURED:

    System.IO.FileNotFoundException: File or assembly name 'Microsoft.DirectX.Direct3DX, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35', or one of its dependencies, was not found.
    File name: 'Microsoft.DirectX.Direct3DX, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ---> System.IO.FileNotFoundException: Das System kann die angegebene Datei nicht finden.
    at graphics.GraphicsEngine.initD3D()
    at graphics.GraphicsEngine..ctor()
    at game.Game.Main()

    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

    endTime = 19.12.2004 13:31:42

    Achja,die Meldung kam schon nachdem ich nur ManagedDX installiert hab.
    Dann hatte ich probiert die ganze SDK zu installieren, womit sich dann aber nichts geändert hatte.

    [EDIT]
    hab jetzt mal dieses Assembly Binding angeschaltet:

    === Pre-bind state information ===
    LOG: User = [...]
    LOG: DisplayName = Microsoft.DirectX.Direct3DX, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    (Fully-specified)
    LOG: Appbase = file:///[...]/Stoneage/Game 0.20.1/
    LOG: Initial PrivatePath = NULL
    Calling assembly : Stoneage, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.

    LOG: This bind is in default load context.
    LOG: No application configuration file found.
    LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.40607\config\machine.config.
    LOG: Post-policy reference: Microsoft.DirectX.Direct3DX, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    LOG: Attempting download of new URL file:///[...]/Stoneage/Game 0.20.1/Microsoft.DirectX.Direct3DX.dll.
    LOG: Attempting download of new URL file:///[...]/Stoneage/Game 0.20.1/Microsoft.DirectX.Direct3DX/Microsoft.DirectX.Direct3DX.dll.
    LOG: Attempting download of new URL file:///[...]Stoneage/Game 0.20.1/Microsoft.DirectX.Direct3DX.exe.
    LOG: Attempting download of new URL file:///[...]/Stoneage/Game 0.20.1/Microsoft.DirectX.Direct3DX/Microsoft.DirectX.Direct3DX.exe.

    [/EDIT]



  • File or assembly name 'Microsoft.DirectX.Direct3DX, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35', or one of its dependencies, was not found.

    Hmmmm, das sollte nicht sein. Wenn er die Datei nicht findet, muss ich fast glauben, dass bei der Installation von dem DX Zeugs was schiefgegangen ist?
    Ich werd jetzt aber dann gleich die .exe nochmal mit dem december SDK bauen, weil ich auch auf diese runtimes verlinkt habe. Mal schaun, was mein Testrechner noch dazu meint.



  • Der December SDK Build ist verfügbar. Bei denen, wo es bisher funktioniert hat lohnt sich ein Download wahrscheinlich nicht, weil sie dadurch nur evtl. neuere Runtimes brauchen und sich sonst nichts verändert hat.
    Wäre nett, wenn nochmal einer es versucht, bei dem es bisher nicht geklappt hat, selbst mit den Managed DX Runtimes. 🙂



  • jo, funktioniert jetzt bei mir 👍

    [EDIT]
    Normal ist die Framerate um die 100 FPS, als mich der Computer mit einer Armee aus Steinwerfern anggriffen hatt,fiels auf ca 50 runter als se alle ihre Steine warfen.



  • Freut mich, dass es jetzt geht.

    Danke auch für den Hinweis zur Performance. Ich kann leider noch keine optimierten Builds erstellen, außerdem muss ich bzgl. Kollisionserkennung noch ein bisschen meine Algorithmen verfeinern. Es wird sich also definitiv noch bessern. 🙂


Anmelden zum Antworten