Auflösung - Game Client

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Auflösung - Game Client

    Hallo,

    ich bräuchte mal ein paar Anregungen für die Auflösung meines mit Game Maker gemachten Spiels. Ist, denke ich, kein so einfaches Tehma bei dem es eine Standard-(Auf)Lösung gibt, darum wäre es am praktischsten, wenn es zu einer kleines Diskussion kommt, bei der es unterschiedliche Meinungen gibt.

    Mein Spiel läuft im Moment im Fenster mit einer Auflösung von 1024 * 768. Ich hab mich am Anfang darauf festgelegt, weil ich nach kurzer Recherche gefunden haben, dass das wohl die meist genutzt Auflösung ist. Gefiel mit auch ganz gut, weil nicht zu High und nicht zu Low...halt so nen Mittleding. Im Moment bin ich mir allerdings überhaupt nicht mehr sicher, ob ich es dabei belassen soll. Wenn ich bei 1920*1080 in den Vollbildmodus schalte hats halte schwarze Streifen an den Rändern, was ziemlich blöd aussieht.

    Vielleicht sollte ich es auch generell so machen, dass das für unterscheidliche gewünschte Auflösungen angepasst wird, also dass der Room automatisch angepasst wird...geht das überhaupt mit Game Maker? Ist aber wohl zu viel Aufwand...

    ...oder sollte ich es einfach generell für 1920*1080 (also Max) entwickeln und dann einfach alles andere runterskalieren lassen? (Gibt dann aber auch trotzdem wieder schwarze Streifen bei anderen Formaten...)

    Wie macht ihr das? Was für Auflösungen fahrt ihr so bei euren Spielen und warum? Passt ihr das Automatisch an, oder lasst ihr einfach Game Maker skalieren? Baut ihr ne Auswahlmöglichkeit ein, wie aufwendig ist das?

    Wäre dankbar für viele Anregungen und Tipps ;)
  • Wenn ich bei 1920*1080 in den Vollbildmodus schalte hats halte schwarze Streifen an den Rändern, was ziemlich blöd aussieht.


    Ja, das sieht blöd aus, kann man aber ändern, entweder, man strecht das Bild, was dann ziemlich gut aussieht :troll:
    oder man tauscht die Ränder durch ein Bild aus, so wie ich es in RaidTD gemacht habe, dies geht auch relativ simpel.



    ​...oder sollte ich es einfach generell für 1920*1080 (also Max)

    Unter das Max, verstehe ich gerade, dass du denkst, dass 1920x1080 die höchste Auflösung ist, womit du ganz schön falsch liegst, es gibt noch viel höhere, z.B. 4K

    ​Wie macht ihr das? Was für Auflösungen fahrt ihr so bei euren Spielen und warum? Passt ihr das Automatisch an, oder lasst ihr einfach Game Maker skalieren? Baut ihr ne Auswahlmöglichkeit ein, wie aufwendig ist das?


    -> Mit der oberen Methode, ich lasse ein Bild im draw gui über das ganze Fenster zeichnen und dann nochmal die Application Surface.

    -> Die Auflösung variiert je nach Spiel.

    -> Bei mir passt sich alles Automatisch an.

    -> Auswahlmöglichkeiten mache ich so nicht, ich gebe dem Spieler die Freiheit, das Fenster, wie eine normale Applikation zu "ziehen", sprich mit der Maus an den Rand packen und dann vergrößern/verkleinern.

    -> Ich hatte zwar ne kurze Krise deswegen, aber nach ein wenig nachdenken ging das relativ einfach, kommt drauf an, wie "gut" man ist.
  • Gametrickser schrieb:

    oder man tauscht die Ränder durch ein Bild aus, so wie ich es in RaidTD gemacht habe, dies geht auch relativ simpel.


    Das ist ne super Idee! Und das geht so einfach, also unabhängig von der eigentlichen Auflösung?

    Unter das Max, verstehe ich gerade, dass du denkst, dass 1920x1080 die höchste Auflösung ist, womit du ganz schön falsch liegst, es gibt noch viel höhere, z.B. 4K


    Ja, ist mir schon klar, dass es noch größer geht, aber das ist für mich so die Maximale Größe, in der ich entwickel, weil auf dem PC mehr eher selten ist.

    Mit der oberen Methode, ich lasse ein Bild im draw gui über das ganze Fenster zeichnen und dann nochmal die Application Surface.


    Wie genau geht das? Hättest du da vielleicht nen Code-Beispiel? :)
  • ufff, also .. . Ich habe ein Object "obj_windowcontrol" erstellt, dies auf Persistent gestellt und im aller ersten raum erstellt, sollte am besten auch nicht 2x existieren. okay.

    Create Event:

    GML-Quellcode

    1. ratio = 1;
    2. ww = 0;
    3. www = 0;
    4. hhh = 0;
    5. hh = 0;
    6. wscale = 0;
    7. hscale = 0;
    8. // Benötigt neuste Beta-Version
    9. window_set_min_width(512);
    10. window_set_min_height(384);
    Alles anzeigen


    Draw Gui End Event:

    GML-Quellcode

    1. ww = window_get_width()-room_width; // Die Restliche Fläche vom Fenster, die nicht vom Spiel eingenommen wird.
    2. hh = window_get_height()-room_height;
    3. wscale = (window_get_width())/surface_get_width(application_surface);// wie viel das Fenster vergrößert wurde, im Gegensatz zur Startgröße
    4. hscale = (window_get_height())/surface_get_height(application_surface);
    5. ratio = min(wscale,hscale,1.99); //auswerten, auf welchen scale er zugreifen soll, 1.99 ist die maximalvergrößerungsrate und ergibt bei mir 1920x1080.
    6. if(ratio >= 1) // wenn Fenster vergrößert wurde, wird der gewünschte Hintergrund und das Surface gezeichnet und noch der view Port gesetzt.
    7. {
    8. draw_background_stretched(HINTERGRUND,-(ww/2),-(hh/2),window_get_width()+(ww/2),window_get_height()+(hh/2));
    9. draw_surface_stretched(application_surface,0,0,room_width*ratio,room_height*ratio);
    10. view_wport = window_get_width();
    11. view_hport = window_get_height();
    12. }
    13. else // Falls es kleiner als die Startgröße werden soll, zeichnet er kein Bild, sondern eine Farbe, das habe ich gemacht, da das Bild komisch gezeichnet wird, wenn man das Fenster kleiner zieht, Faulheit und so q:
    14. {
    15. window_set_color($1C1C1C);
    16. }
    Alles anzeigen


    Und das war es auch schon. . .

    Wie man die Linien zeichnet, habe ich jetzt raus gelassen, also die weißen, die man im Bild sieht, an den Rändern.

    EDIT: Bedenke bitte, dass dieses Skript auf mein altes Projekt RaidTD zugeschnitten ist, also kann es bei dir zu komischen Fehlern kommen, muss nicht sein, kann aber ^^

    -Nils