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

1

23.01.2013, 12:48

Vektorgrafiken?

Hallo Leute,

ich bin gerade am programmieren eines Androidspieles. Ein Kollege von mir könnte mich mit 2D Grafiken versorgen, doch uns bleibt eine Frage:

In welchem Format müssen die Grafiken erstellt werden?

Da Smarthphones/Tablets viele verschiedene Displaygrößen haben, waren wir am überlegen, wie wir am besten die Skalierung auf den div. Geräten regeln.

Er hat leider noch nie mit Vektorgrafiken gearbeitet und wir stehen momentan leider fest und kommen an diesem Punkt nicht weiter...

Könnt ihr uns Tipps geben? Wie funktioniert das mit den Vektorgrafiken? Mit welchem Programm bzw wie werden diese hergestellt? Gibt es noch andere eventuell einfachere Möglichkeiten??



Danke schonmal für eure Hilfe.

Viele Grüße

Ghorki

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

23.01.2013, 12:55

Erstellen kann man die z.B. mit InkScape. Aber wie genau ihr die dann in die Spiele bekommen und dort rendern wollt, das is mir noch nicht ganz klar, da braucht Ihr nämlich eine eigene Vektor-Grafik-Rasterisierung oder wollt Ihr die in verschiedenen Größen abspeichern? Das wäre angesichts des notorischen Platzmangels auf mobilen Geräten sicherlich auch nicht so toll. Allerdings gibt es für SVN-Rendering natürlich auch gewisse Libs mit gewissen Lizenzen.

Die Einfachste Lösung wäre sicherlich die Grafiken für die größte Auflösung zu erstellen und bei geringeren herunter zu skalieren.
http://stackoverflow.com/questions/20793…ame-development
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]

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »BlueCobold« (23.01.2013, 13:13)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

23.01.2013, 13:08

Spielobjekte zur Laufzeit als Vektorgrafik zu zeichnen lohnt sich eigentlich nur, wenn sie auch zur Laufzeit ihre Größe drastisch verändern sollen.
Ansonsten, wie BlueCobold schon gesagt hat, entweder die Grafiken selber als Teil eures Build-Prozesses in verschiedenen Größen als Bitmaps rastern (könnte man sicher gut automatisieren) oder die Vektorgrafiken beim ersten Starten des Spiels auf dem Gerät rastern und die Bitmaps dort aufbewahren. Die zweite Methode erfordert jedoch einen Vektorgrafik-Renderer auf dem Gerät, und die Ladezeit wird beim ersten Mal wohl recht lang sein. Dafür ist jedoch die Downloadgröße des Spiels kleiner.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

23.01.2013, 14:19

Problem am Rendern von SVG-Daten beim Start oder bei der Installation ist vielschichtig:
1) Bei Installation heißt wieder hoher Speicher-Verbrauch. Auf Smartphones ist das oft unerwünscht, jedenfalls meckert meine Freundin auch immer, weil sie keinen Platz mehr hat.
2) Alle gängigen SVG-Render-Engines sind GPL oder "schlimmer". Dass die GPL die Entwickler-Gemeinde in zwei Lager spaltet ist ja bekannt und nicht ganz unberechtigt. Wer GPL mag, der hat Glück. Wer sie vermeiden will, für den wird es schwierig. Für Android scheint es allerdings ein paar Java-basierte Engines dafür zu geben. Für C++ sieht's sehr kniffelig aus.
Edit: Das könnte gehen - http://cairographics.org/cairomm/ (rein für mich als "Bookmark")
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]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (23.01.2013, 15:34)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

23.01.2013, 14:52

Dein erstes Argument trifft aber (im Mittel ;)) auf deinen Vorschlag noch stärker zu als auf meinen.
Du hast ja vorgeschlagen die Bitmaps in einer für alle Geräte ausreichenden (also sehr hohen) Auflösung direkt mitzuliefern. Wenn man die Bitmaps erst auf dem Handy erzeugt, passt sich deren Größe und Platzverbrauch automatisch an das Gerät an. Natürlich muss man noch den Platzverbrauch der Vektorgrafiken mit berücksichtigen, nur sind die meistens nicht sehr groß.
Ich würde das allerdings auch nicht selber so umsetzen, weil es mir zu kompliziert wäre. Aber theoretisch sicher eine coole Lösung.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

23.01.2013, 14:57

Das erste Argument trifft aber auf deinen Vorschlag noch stärker zu, wenn du die gerasterten Bitmaps gleich mitlieferst.

Jap. Das war aber auch nur als negativ-Punkt im Gegensatz zur "Generate always on launch"-Variante gedacht. Sicherlich ist Mitlieferung der größten Bilder noch schlimmer, aber wenn man schon nur Vektor-Bilder liefert, dann wäre es maximal als Option innerhalb des Spiels sinnvoll, sodass der User entscheiden kann, ob er lieber lange wartet oder seinen Speicher vollmüllt. ;)
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]

7

23.01.2013, 15:03

Wenn er die Grafiken auf der Basis des höchsten Displays zeichnet, werden die Grafiken meim kleiner skalieren doch relativ unschön oder nicht?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

23.01.2013, 15:08

Das kommt auf den verwendeten Filter an.
Aber ja, es wird definitiv nicht so gut aussehen wie wenn du die Vektorgrafik von vornherein für die korrekte Größe rastern würdest.
Das Herunterskalieren beim Zeichnen passiert mittels MIP-Maps. Die gibt es aber nur für bestimmte Größen, und wenn etwas dazwischen gebraucht wird, wird entweder die zu große MIP-Map unterabgetastet (Aliasing) oder es wird zwischen der zu großen und der zu kleinen MIP-Map interpoliert (unscharfe Grafik).

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

23.01.2013, 15:33

Schlimmer als Runterskalieren ist aber Raufskalieren. Daher der Vorschlag.
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]

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

23.01.2013, 16:04

Klar, das bezweifelt wohl niemand ;)

Werbeanzeige