Grafik Engine Erstellen

  • Ich bin dabei ein spiel zu erstellen und habe hier 2 Beispiele, wie man meine Engine verwendet. Ich würde gerne wissen, was ihr von den Scripten haltet und was ich verbessen könnte, damit sie besser und schneller laufen.

    Bekannte Bug´s:
    Farbverzerrung bei mittlerer Tranzparenz

  • Sieht gut aus!

    Was macht eigentlich der ASM Code genau?

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Find ich auch gut! besonders das erste Example ist interessant, da könnt man gleich was 'Drum-Rum' Scripten ;)

    Grüsse!

    [EDIT]
    Garfik ist beabsichtigt?!? Aber die Namebox frisst bei mir viel Leistung - ich Denke eben in den GDI+ Funktionen liegt hier der Hund begraben.

    Einmal editiert, zuletzt von Techmix (26. April 2012 um 12:33)

  • UEZ: Der ASM Code schreibt malt die Objekte auf die Bitmap und löscht die Farbe, die ganz oben links im Objekt ist raus, also Tranzparenz.
    Bei das mit dem Laggenden Link ist schon so beabsichtigt, das liegt an der geringen Framezahl wenn ihr das Sleep kürzer macht, dann ist er flüssiger.
    Und wo genau zieht die NameBox so viel leistung bei euch?
    € wegen dem Garfik: Das als ich mir vorgenommen hab ne Grafik Enine zu schreiben habe ich es einem Freund geschrieben, war aber übermüdet und so kam das Garfik zu stande und da ich nicht sehr kreativ bin hab ich das so übernommen

  • Hi,

    Zitat

    Nur ASM kommt sonst nicht mit Tranzparenz klar

    stimmt nicht^^
    Die "Bitmaps" verwenden beim Blitten nicht den Alphakanal, aber das kann man per TransparentBlt() oder entsprechendem Code (Verknüpfung von Source- und Destination-Pixel mit dem Alphakanal) beeinflussen.

  • Gute Idee.
    Mir gefällt vorallem, wie du das Framerate Problem gelöst hast.

    Als Verbesserung:
    1) Ich würde dir empfehlen den Code zu kommentieren, da es schnell mal unübersichtlich werden kann.
    2) Was machst du wenn du einen PC hast, der ungewöhnlich lange für das Rendern braucht, also länger als die angegebenen FPS?
    Dann würde deine If Abfrage in _Garfik_Update() nicht mehr anschlagen und die Anwendung würde erst recht wieder ruckeln.
    3) Empfehle ich dir den Zeiger auf die DllStuct in $hGarfik[8] bereits vorzuspeichern, damit du nicht in jedem Update-Aufruf DllStructGetPtr() benötigst.

    Einmal editiert, zuletzt von Ealendil (6. Mai 2012 um 01:18)

  • 1) Mal sehen
    2)Man kann bei so einem PC nichts machen, damit es nicht mehr ruckelt. Deswegen ist das If ja da sonst ruckelt es noch viel mehr wegen der Funktion...
    3)Ich denke ich verbesser das. Das Array wird jetzt viel länger

  • Sry, hab mich falsch ausgedrückt.
    Mit "ruckeln" meinte ich nicht geringe Framerate, da kann man nichts ändern.
    Ich meinte, dass sich deine Objekte, im Beispiel "Link", viel zu langsam bewegen würden, da du eine "pro Frame Bewegung" implementiert hast.

    Einmal editiert, zuletzt von Ealendil (6. Mai 2012 um 18:57)

  • Späte wird die bewegung eh vom Server übernommen und es wird an den Clienten nur die Position der Spieler geschickt

  • Ohne dich ärgern zu wollen, auch wenn es danach ausschaut.

    Selbst wenn es der Server regelt, muss die Bewegung korrekt berechnet werden.
    Was wäre wenn der Server gerade überlastet ist und dasselbe Problem, siehe oberen Post von mir, auftritt.

  • Glaub mir ich bin kein Anfänger. Du musst mir nicht alles vorkauen. Ich habe schon Spieler geschrieben die das Korrekt berechnen. Und btw wie soll ein server bei so wenig berechnung überlastet werden? (Außer DDOS)