Any game that involves a lot of action at the same time I prefer to be fullscreen to isolate it from the other stuff I have going on
Also if the game involves using the mouse to move by hitting one of the screen edges I prefer fullscreen.
As someone with a slow computer, it's nice to have a fullscreen, low-resolution option for games whose speed is at all limited by graphics. For pygame/pyopengl games, this gives a speed boost. Testing with our pygame-based game:
I go for opengl + resizable windows, they are tiling (xmonad/awesomewm) friendly and if ya want fullscreen just maximize it. No performance loss in HW accelerated blitting even in high resolutions. Just don't use texture filtering and maintain aspect-ratio (and integer zoom multiples).
@stycchio: I go for opengl + resizable windows, if ya want fullscreen just maximize it. No performance loss in HW accelerated blitting even in high resolutions.
What do you mean by no performance loss? Even when I'm just using GL calls on a hardware-accelerated pygame surface, the fullscreen resolution makes a huge difference to the framerate on my system. How is that not the same as a performance loss on higher resolutions?
We always tend to have windowed as an option both in game and on the command line but fullscreen is the default behaviour. However, let's not confuse fullscreen with actual resolution switching. Fullscreen should involve making the viewport fill the entire screen, changing the resolution before doing that can often mess up display settings later.
Performance wise using a larger window is definitely slower than using a smaller one for the simple reason that although the number of primitives you render does not change the per-fragment computations are multiplied. The body of a game's runtime, however, is usually divided between two things: per-tick updates and rendering. Only the latter will be affected by screen size. Out game this PyWeek was graphically very simple and consequently has no problem running at very high resolutions!
I (lightly hold) the strong opinion that that fullscreen should be the default behaviour. That's how most games run. That provides the best immersive experience. That gives the most coherent behaviour if the game also switches resolution, which is something else I think is important. My old graphics card is frequently fillrate limited. Running at (linearly) half the resolution isn't bad looking on my LCD, and generally approaches FOUR TIMES the framerate.
Most important of all - fullscreen is simply what I prefer.
I'm happy to give people an option to run in a window. Generally my pyweek entries accept '--window' command line args, (documented by --help), and they also support alt-enter keypress to toggle between fullscreen and windowed. Do fullscreen detractors think there are other ways I should expose this option? Are there key binds that are commonly used for this across all platforms?
The problem with command-line options is that they're hardly a standard in PyWeek entries and even when they are used they're not implemented in any sort of consistent way (for example, one of the games I judged did something like argsv[1] == '-nofullscreen' without documenting it or providing command-line help). I think that the only sane default is to leave the screen resolution alone by default and provide an option for changing the resolution or fullscreening if you feel you need it.
What if the splash screen says "Press Alt-Enter to switch to windowed mode", and your video settings are restored (as happens naturally with pygame games, I believe). Then you've spent all of 3 seconds of your life. Is that so bad?
*And fullscreen doesn't work in my dual-screens set-up, neither does my tablet work very well. I hate you dual screen. >.>
1280x720 windowed: 22fps
1280x720 fullscreen: 25fps
680x384 windowed: 42fps
680x384 fullscreen: 48fps
I always wished that pyglet would let you set the resolution for fullscreen mode... a lot of pyglet games could go from unplayable to playable for me!
What do you mean by no performance loss? Even when I'm just using GL calls on a hardware-accelerated pygame surface, the fullscreen resolution makes a huge difference to the framerate on my system. How is that not the same as a performance loss on higher resolutions?
Performance wise using a larger window is definitely slower than using a smaller one for the simple reason that although the number of primitives you render does not change the per-fragment computations are multiplied. The body of a game's runtime, however, is usually divided between two things: per-tick updates and rendering. Only the latter will be affected by screen size. Out game this PyWeek was graphically very simple and consequently has no problem running at very high resolutions!
Most important of all - fullscreen is simply what I prefer.
I'm happy to give people an option to run in a window. Generally my pyweek entries accept '--window' command line args, (documented by --help), and they also support alt-enter keypress to toggle between fullscreen and windowed. Do fullscreen detractors think there are other ways I should expose this option? Are there key binds that are commonly used for this across all platforms?