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

Cranberry

Treue Seele

  • »Cranberry« ist der Autor dieses Themas

Beiträge: 312

Wohnort: Innsbruck, Tirol

  • Private Nachricht senden

1

08.05.2014, 18:33

Grafiken unabhängig von Auflösung darstellen.

Ich habe jetzt schon einige Spiele entwickelt. Diese hatten aber alle nur eine fixe Auflösung.
Wenn ich jetzt ein Spiel für Android entwickeln würde, müsste die Auflösung variabel sein um alle Geräte zu unterstützen.

Hier das Problem: Bei einer Auflösung von 800x600 sind alle Grafiken wie sie sein sollten. Wenn ich die Auflösung jetzt aber auf 400x300 herunter setze, wirken die Grafiken doppelt so groß.

Muss ich für jede Auflösung eigene Grafiken anfertigen oder gibt es eine einfachere Technik?

mfg,
Cranberry

P.S.: Ich rede hier von 2D Spielen. :)

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Cranberry« (08.05.2014, 18:45)


2

08.05.2014, 18:54

Die Grafiken wirken vermutlich doppelt so groß, weil du sie nicht richtig skalierst beim Rendern
Wenn du 800x600 auf 400x300 runter skalierst, musst du auch deine Sprites in Höhe und Breite halbieren ;)
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.

Cranberry

Treue Seele

  • »Cranberry« ist der Autor dieses Themas

Beiträge: 312

Wohnort: Innsbruck, Tirol

  • Private Nachricht senden

3

08.05.2014, 18:58

So einfach und ich komm nicht drauf...

Danke!

EDIT: Für alle die diesen Post hier in Zukunft mal finden. In SFML gibt es eine einfachere Lösung: Views!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Cranberry« (08.05.2014, 19:07)


Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

4

08.05.2014, 23:06

Bedenke aber, dass es nicht nur unterschiedliche Auflösungen, sondern auch unterschiedliche Seitenverhältnisse gibt. Über die/eine View kannst du wahrscheinlich bereits dafür sorgen, dass unterschiedliche Auflösungen des gleichen Seitenverhältnisses bedient werden können, dein Spiel muss sich aber dennoch an unterschiedliche Seitenverhältnisse anpassen können.

Grundsätzlich sollte man auch Grafiken in unterschiedlichen Qualitätsstufen mitliefern, damit zur Laufzeit die passendste gewählt werden kann. Hier solltest du darauf achten, dass die Views da nicht evtl. kontraproduktiv sein könnten.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

09.05.2014, 10:54

Eine Möglichkeit sind SVG o.ä. mitzuliefern die dann beim ersten Laden oder ändern der Einstellungen entsprechend rausgerendert werden.
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.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

09.05.2014, 11:04

SVG ist nett, aber bisher habe ich keine gute Bibliothek gefunden, die das rendern kann. Für mobile wird's noch schwerer.

Das ganz große Problem an Skalierungen ist, dass man eigentlich für die höchst mögliche Auflösung malen muss, denn raufskalieren von 800x600 auf 1920x1080 sieht sehr bescheiden aus.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

7

09.05.2014, 12:31

Bezüglich SVG-Renderer hatte ich mich bisher nie weiter erkundigt, aber selbst dann dürfte man immernoch das Problem haben, dass man ersteinmal seine Grafiken in einem entsprechenden Format benötigt. Häufig ist es aber so, dass solche Grafiken als Rastergrafiken erstellt werden und sich somit nur mit zusätzlichem Aufwand in Vektorgrafiken umwandeln lassen oder dass man mit Vektorgrafiken nur schwer (mit höherem Aufwand) das erreichen kann, was man eigentlich haben will.
Deswegen wäre wohl eine Unterstützung von beidem besser, sollte man brauchbare SVGs haben oder erstellen können.

Für die Raufskalierung gibt es einen Fall, in dem es nicht bescheiden aussieht: es soll so (pixelig) aussehen. Es gibt diverse Spiele (Beispiele wären "Jamestown" oder "Cross Code"), die auf Pixelgrafiken setzen, indem sie für eine bestimmte, relativ geringe Auflösung rendern und dann (mit entsprechendem Filter, der für kein oder kein zu starkes Blurring sorgt) das Bild hochskalieren (Pixel-perfekt, entsprechend des Seitenverhältnisses oder füllend).
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

09.05.2014, 12:32

Für die Raufskalierung gibt es einen Fall, in dem es nicht bescheiden aussieht
Klar, aber die sind nicht unbedingt die Norm.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

9

09.05.2014, 12:35

Für manche Grafiken kann man auch NinePatches verwenden, das sieht dann für jegliche Auflösung scharf aus. Funktioniert super für Buttons und jegliche Rahmen.

Cranberry

Treue Seele

  • »Cranberry« ist der Autor dieses Themas

Beiträge: 312

Wohnort: Innsbruck, Tirol

  • Private Nachricht senden

10

09.05.2014, 17:51

Die unabhängige Auflösung ist mittlerweile kein Problem mehr, da ist SFML ganz simpel und flexibel.
Die Frage ist nur, wie ich die verschiedenen Seitenverhältnisse handhaben werde.
Ich will ja nicht, dass man auf manchen Geräten mehr oder weniger wie auf anderen sieht.
Da hilft wahrscheinlich nur ein schwarzer Rahmen. :/

Werbeanzeige