GUI



  • Wenn ihr ein Spiel mit Fenstern im Fenstermodus spielt (z.B. irgendein MMO (Map, Inventar, AH, ...)). Welches Verhalten wünscht ihr euch dann, wenn die Größe des Spielfensters verändert wird?

    [] Alle Positionen sind fest. (Elemente könnten außerhalb des Spielfensters landen und unerreichbar werden, bis das Fenster wieder vergrößert wird.)
    [] Positionen sind fest, aber alles wird in den sichtbaren Bereich gecapt.
    [] Positionen und Größen sind dynamisch. (Alles ist relativ groß zum Spielfenster. Gibt uU Probleme mit der Schrift, wenn sie nicht mehr pixelgenau ist und skaliert werden muss.)
    [] Positionen sind dynamisch (somit kann auch beim verkleinern des Spielfensters kein Element komplett aus dem sichtbaren Bereich rutschen), aber Größen fest. (Löst Schriftprobleme etc.)
    [] Ihr habt eine bessere Idee



  • Hi,
    kurz und knapp: Punkt 3 und 4. Wenn ich im Fenstermodus spiel(e/te), wünsche ich mir ein anpassendes Verhalten. Alles sollte im Verhältniss zur Fenstergröße stehen.

    Tschö (:



  • Sehe ich auch so. Die Punkte drei und vier würde ich mir wünschen, diese beiden Modi dann einstellbar.



  • Intuitiv: das Prinzip von 3.
    Ich glaube kaum, dass jemand das Fenster so klein macht, dass es dann Probleme mit der Schriftgröße gibt. Und wenn - dann erzeugt 4 ein noch größeres Problem, und zwar das, dass die Widgets das eigentliche Spiel komplett verstecken und sich z. T. überlappen ...



  • Gui-Elemete sind individuell einklappbar und nur als kleiner Reiter am Bildschirmrand zu sehen. Beim ausklappen skaliert? Individuell einstellbar.



  • Danke für die Rückmeldungen soweit. Zu dem Umstellen: Das macht die Implementierung wesentlich umständlicher. Muss mir mal überlegen, ob es das wert ist. Was würdet ihr bevorzugen, wenn ihr euch für eins entscheiden müsstet?

    Sone schrieb:

    Intuitiv: das Prinzip von 3.
    Ich glaube kaum, dass jemand das Fenster so klein macht, dass es dann Probleme mit der Schriftgröße gibt.

    Das ist auch nicht das Problem. Das Problem ist, dass man (ich?) nicht bei jedem Renderdurchlauf aus Vektorgrafiken die Buchstaben neu berechne. Heißt, ich habe Glyphen im Speicher, die einfach skaliert werden. Hochskalieren ist lustigerweise relativ unproblematisch (sieht nur etwas schwammig aus irgendwann), aber runterskalieren sieht teilweise ziemlich schlecht aus, das erzeugt seltsame Artefakte, die das lesen anstrengend machen.

    Wenn 3 tatsächlich beliebt sein sollte (ist eigentlich die Variante mit der simpelsten Implementierung), muss ich mich wohl einfach mal an meinen Schrift-Renderer setzen und ihn "skalier-tauglich" machen. Momentan nutze ich einfach .tga Dateien mit nem Index. (Generiert von BMFont.) Bin da für Tipps dankbar, eine Bibliothek möchte ich aber nicht benutzen. Externe Programme sind okay, komplizierte Algorithmen die ich einfach abschreiben kann auch. Sollte möglichst keine WinAPI Funktionen oÄ nutzen.

    knivil schrieb:

    Gui-Elemete sind individuell einklappbar und nur als kleiner Reiter am Bildschirmrand zu sehen.

    Hast du WoW mal gespielt? Irgendwie passt die Antwort nicht, oder ich verstehe nicht was du meinst. Die map öffnet sich halt auf "m" oder so. 🤡



  • cooky451 schrieb:

    Sone schrieb:

    Gui-Elemete sind individuell einklappbar und nur als kleiner Reiter am Bildschirmrand zu sehen.

    Hast du WoW mal gespielt? Irgendwie passt die Antwort nicht, oder ich verstehe nicht was du meinst. Die map öffnet sich halt auf "m" oder so. 🤡

    1. Hat das jemand anders gepostet
    2. Wollte ich GENAU das mit WoW argumentieren! Ehrlich! 😃



  • cooky451 schrieb:

    Danke für die Rückmeldungen soweit. Zu dem Umstellen: Das macht die Implementierung wesentlich umständlicher. Muss mir mal überlegen, ob es das wert ist. Was würdet ihr bevorzugen, wenn ihr euch für eins entscheiden müsstet?

    Sone schrieb:

    Intuitiv: das Prinzip von 3.
    Ich glaube kaum, dass jemand das Fenster so klein macht, dass es dann Probleme mit der Schriftgröße gibt.

    Das ist auch nicht das Problem. Das Problem ist, dass man (ich?) nicht bei jedem Renderdurchlauf aus Vektorgrafiken die Buchstaben neu berechne. Heißt, ich habe Glyphen im Speicher, die einfach skaliert werden. Hochskalieren ist lustigerweise relativ unproblematisch (sieht nur etwas schwammig aus irgendwann), aber runterskalieren sieht teilweise ziemlich schlecht aus, das erzeugt seltsame Artefakte, die das lesen anstrengend machen.

    Behälst du die Proportionen bei? Wie filterst du beim skalieren? Gar nicht? Dann ist das kein Wunder.



  • Warum sollte ich nicht meinen Bedarf an GUI-Elementen senken, wenn ich auf kleinen Fenstern spiele. Warum sollte ich nicht Sagen: Das, das und das will ich auch bei klein, das, das das nicht. Und diese Einstellung soll er sich merken, wenn er ein kleines Fenster hat. Konfigurierbar ueber die Maus, weil Tasten schon fuer viele andere Sachen herhalten muessen. Was verstehst du daran nicht?

    Nur weil du ein Fan von mir bist, traue ich dir zu kurz ueber meine Saetze nachzudenken. Aber da du WoW erwaehnst: Lass doch deine User ihr GUI selbst programmieren.



  • Sone schrieb:

    Behälst du die Proportionen bei?

    Schon, ja, hoffe ich doch.

    Sone schrieb:

    Wie filterst du beim skalieren? Gar nicht? Dann ist das kein Wunder.

    Ich filtere gar nicht, stimmt, ich dachte OpenGL übernimmt das netterweise für mich mit

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
      glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
      glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
      glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    

    knivil schrieb:

    Warum sollte ich nicht meinen Bedarf an GUI-Elementen senken, wenn ich auf kleinen Fenstern spiele.

    Na ja, ich habe die Idee jetzt zwar verstanden, ist ja vielleicht auch ein nettes Feature, aber wie genau das zur Frage passt weiß ich immer noch nicht.



  • Wenn ihr ein Spiel mit Fenstern im Fenstermodus spielt (z.B. irgendein MMO (Map, Inventar, AH, ...)). Welches Verhalten wünscht ihr euch dann, wenn die Größe des Spielfensters verändert wird?

    Wenn das Fenster recht klein ist, dann wuensche ich mir, dass unwichtige/kleine Anzeigen eingeklappt automatisch eingeklappt werden, die restlichen Elemente durchaus verkleinert werden (nicht zwingend mit dem gleichen Scaling des Fensters) und bei Bedarf ein und ausgeklappt werden koennen. Die restlichen Elemente Sollen sich nicht behindern.

    Die entscheidene Frage ist aber: Wie gestallte ich ein gutes UI fuer jeden Benutzer, dass intuitiv, nicht ueberladen und anpassbar ist? Nur ein Teil davon ist GUI. Ich finde das sehr wichtig fuer ein Spiel. Wenn noetig nehme ich auch eine kurze Eingewoehnungsphase wie bei Gothic 1 in Kauf. Auch das Standard-UI von WoW hat mir damals sehr gefallen. Ich habe aber keines dieser Spiele im Fenstermodus gespielt.



  • Eine Minimalauflösung festlegen, zum Beispiel 640*480 oder 800*600 und dafür sorgen, dass die GUI für diese Auflösung passabel aussieht. Das Spielfenster kann man dann nicht beliebig klein machen. Sowas wie Minimap + Skillbar muss gerade so draufpassen. Spielinterne Fenster wie das Inventar müssen ebenfalls draufpassen, allerdings nur eins. Bei einer Auflösung von 800*600 kann man dann das 400*500 Inventar vernünftig sehen, man kann aber nicht mit offenem Inventar durch die Gegend rennen. Bei höherer Auflösung geht das. Irgendwann sieht man aber das Inventar nicht mehr gut, weil es zu klein ist. Dann kann man es (bzw. alle Unterfenster) um Faktor 1.5, 2, 2.5 usw. vergrößern, bzw. die native Auflösung ist ein Vielfaches von 400*500, sodass sich das artefaktfrei skaliert.


Anmelden zum Antworten