Dynamische Auflösung - 2D Spiel
- Shadow-Gamer
- Beiträge: 152
- Registriert: 06.09.2009 13:31
- Computerausstattung: NB: Intel P8700, Mobility ATI HD4650, 4GB, Win 7
Re: Dynamische Auflösung - 2D Spiel
ich wollte halt ein spiel, was man von netbook bis 22 Zoller ganz gut spielen kann u. da ich einen multiplayer einbauen will, sollte das schon recht einheitlich sein
Ich versuche ja nicht faul zu sein. 
- Mok
- BotHunter
- Beiträge: 1484
- Registriert: 26.12.2005 14:14
- Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit - Wohnort:
Re: Dynamische Auflösung - 2D Spiel
Geht das mit den Auflösungen nicht einfacher?
Muss man wirklich für jede Auflösung von 640x480 bis 19Franzjosef einen eigenen Sprite machen? Bei 600 Sprites, was man von einem halbwegs guten Spiel verlangen kann, hat man da schon eine Menge zu tun.
Bei so Mainstream-Spielen à la Counter-Strike, Half-Life, Call of Juarez, Crysis, Call of Duty werden einem ja auch nicht hunderttausend Sprites mitgeliefert.
Muss man wirklich für jede Auflösung von 640x480 bis 19Franzjosef einen eigenen Sprite machen? Bei 600 Sprites, was man von einem halbwegs guten Spiel verlangen kann, hat man da schon eine Menge zu tun.
Bei so Mainstream-Spielen à la Counter-Strike, Half-Life, Call of Juarez, Crysis, Call of Duty werden einem ja auch nicht hunderttausend Sprites mitgeliefert.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: Dynamische Auflösung - 2D Spiel
verstehe.
also, wenn es einheitlich sein soll, würde ich sowieso eher drauf achten, dass das seitenverhältnis immer gleich ist.
bei nem Netbook hast du das Problem, dass viele nur eine einzige Auflösung können, und die halt eher unüblich, sowas wie 1024x600 eben.
bei 22" hast du eigentlich weniger ein Problem, weil ein Spieler seine Treiber schon so einstellen wird, dass auch eine 1024x768 ordentlich angezeigt wird.
eine passable Möglichkeit wäre vielleicht, wenn du einen WindowedScreen mit einer festen Auflösung von 800x600 erzeugst,
und den mit Autostretch in ein Fenster packst, dass du an die Höhe des Desktops anpasst...
PS:
@Mok
das sind alles 3D spiele, die werden überhaupt nicht mit Sprites geliefert.
also, wenn es einheitlich sein soll, würde ich sowieso eher drauf achten, dass das seitenverhältnis immer gleich ist.
bei nem Netbook hast du das Problem, dass viele nur eine einzige Auflösung können, und die halt eher unüblich, sowas wie 1024x600 eben.
bei 22" hast du eigentlich weniger ein Problem, weil ein Spieler seine Treiber schon so einstellen wird, dass auch eine 1024x768 ordentlich angezeigt wird.
eine passable Möglichkeit wäre vielleicht, wenn du einen WindowedScreen mit einer festen Auflösung von 800x600 erzeugst,
und den mit Autostretch in ein Fenster packst, dass du an die Höhe des Desktops anpasst...
PS:
@Mok
das sind alles 3D spiele, die werden überhaupt nicht mit Sprites geliefert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Re: Dynamische Auflösung - 2D Spiel
Ich würde die Sprites nur in einer Auflösung mitliefern und zwar in der höchstmöglichen. Beim laden der Sprites würde ich diese dann auf die aktuelle Auflösung passent runterscalieren. Beim verkleinern der sprites sollte die quallität besser sein als beim vergrößern.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: Dynamische Auflösung - 2D Spiel
> Beim verkleinern der sprites sollte die quallität besser sein als beim vergrößern.
das ist grundsätzlich richtig, aber PB hat keine nativen Funktionen um Sprites zu verkleinern.
das ist grundsätzlich richtig, aber PB hat keine nativen Funktionen um Sprites zu verkleinern.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Re: Dynamische Auflösung - 2D Spiel
also ich mach das immer variable bsp:
Code: Alles auswählen
InitSprite()
InitKeyboard()
screen_width=0
screen_height=0
screen_depth=0
If ExamineScreenModes()
While NextScreenMode()
If ScreenModeRefreshRate()=60
screen_width=ScreenModeWidth()
screen_height=ScreenModeHeight()
screen_depth=ScreenModeDepth()
If Random(5)=5
Break
EndIf
EndIf
Wend
EndIf
OpenScreen(screen_width,screen_height,screen_depth,"test")
Repeat
FlipBuffers()
ClearScreen(0)
ExamineKeyboard()
If StartDrawing(ScreenOutput())
Box(0,0, screen_width,20,RGB(0,128,0))
Box(screen_width-95,2, 90,16,RGB(0,0,128))
x=screen_width-200
y=screen_height-200
Box(x,y, 200,200,RGB(128,0,0))
y=screen_height-150
Box(0,y, screen_width-200,150,RGB(128,128,0))
buf$ = Str(screen_width) + "*" + Str(screen_height) + "*" + Str(screen_depth)
DrawingMode(1)
DrawText(2,2,buf$)
StopDrawing()
EndIf
Until KeyboardReleased(#PB_Key_Escape)
- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
Re: Dynamische Auflösung - 2D Spiel
Hier würde ich Sprite3Ds verwenden die lassen sich mit ZoomSprite3D() prima vergrößern und verkleinern und mitKaeru Gaman hat geschrieben:> Beim verkleinern der sprites sollte die quallität besser sein als beim vergrößern.
das ist grundsätzlich richtig, aber PB hat keine nativen Funktionen um Sprites zu verkleinern.
Sprite3DQuality() kann man einstellen ob beim zoomen weich gezeichnet wird oder nicht. So kann man auch prima Retro-Spiele basteln
die auf jedem Bildschirm knackig scharf/pixelig dargestellt werden.
Als Erstes würde ich mich auf ein festes Seitenverhältnis für das Spiel festlegen, mit schwarzen oder bunten Balken wird dann eine verzerrungsfreihe Darstellung gewahrt.
Hier ebenfalls sehr interessant:
Anderer Weg gleicher Effekt die CleanPixel©-Technologie von Zeha.
I´a dllfreak2001
- Mok
- BotHunter
- Beiträge: 1484
- Registriert: 26.12.2005 14:14
- Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit - Wohnort:
Re: Dynamische Auflösung - 2D Spiel
Hmmm, da hast du Recht... aber das ganze Menü-GFX wird ja auch mitgeliefert.Kaeru Gaman hat geschrieben:@Mok
das sind alles 3D spiele, die werden überhaupt nicht mit Sprites geliefert.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: Dynamische Auflösung - 2D Spiel
das sind stinknormale Textures in Basisgrößen wie 1024² oder 2048², die beim Darstellen skaliert werden.
Also von der Funktionsweise sowas ähnliches wie ZoomSprite3D.
Also von der Funktionsweise sowas ähnliches wie ZoomSprite3D.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- Shadow-Gamer
- Beiträge: 152
- Registriert: 06.09.2009 13:31
- Computerausstattung: NB: Intel P8700, Mobility ATI HD4650, 4GB, Win 7
Re: Dynamische Auflösung - 2D Spiel
ich versuche es mal damit:
->ich lege nur hochauflösende Bilder bei
->ich frage den user am anfang nach einer Passenden auflösung u. werde die Bilder mit der Image bibliothek auf die passende größe skalieren, allerdings nur proportional, damit es nicht total scheiße aussieht. Und speichere die Bilder dann ab, damit sie beim nächsten start direkt nutzbar sind.
mal sehen inwiefern das klappt...
Greeeeeeets
->ich lege nur hochauflösende Bilder bei
->ich frage den user am anfang nach einer Passenden auflösung u. werde die Bilder mit der Image bibliothek auf die passende größe skalieren, allerdings nur proportional, damit es nicht total scheiße aussieht. Und speichere die Bilder dann ab, damit sie beim nächsten start direkt nutzbar sind.
mal sehen inwiefern das klappt...
Greeeeeeets
Ich versuche ja nicht faul zu sein. 