View Full Version : What's with all these fullscreen games?
PuppyHelmet
2003.07.02, 03:14 PM
Before I start, sorry if this ought to be in a different forum, but it seems to me this is an element of overall game design. My art teacher always said the first four lines of a composition are the ones defined by the frame. :)
I'd like to know why it is that nearly every game, shareware or otherwise, that's been released in the last year or two has not had the option of displaying the game in a moveable window. To the best of my knowledge, it takes (marginally) more work to make games fullscreen than to leave them in a standard window. So why is it now standard practice for developers to hijack the player's screen?
I can understand that for complex, 3D games, like shooters or platformers, going fullscreen-only makes sense. I'm sure it has benefits for framerate and the overall look-and-feel - after all, these are more cinematically inclined genres. But why should my screen resolution change and all my applications get hidden while I'm playing a 2D board game , for cryin' out loud? Any sort of game that doesn't require constant input from the user, and therefore invites the user to multitask - do some instant messaging while you're conquering the world - ought to have at least the option of being contained within a window that can be treated like any other application, even if the developer would prefer their work to be viewed in the largest space possible.
Moreover, it's getting harder and harder to hide these games and return to the desktop without quitting them entirely. If the menubar is kept hidden, you're pretty much at the developer's mercy unless you quit entirely. It may take extra effort for us to support menus in our fullscreen games, but in my opinion it's bad etiquette to develop your program so that it runs at the expense of anything else happening on the player's computer.
This is not intended as a rant, and sorry if it sounds like that. I'm just curious to know why going fullscreen seems to be the default these days when it really ought to be a conscious choice by the developer, to suit the sort of game they're making - that is, fullscreen should be the default setting for your game if and only if the gaming experience would benefit from being set against a black backdrop. I intend to make my uDG entry this year windowed, with the option of fullscreen but not as the default. I know I'd appreciate having more games that don't assume you're going to give them your undivided attention until you quit them, and that are conducive to a more casual playing style.
Thoughts on this? I'd particularly like to hear from some designers who do consciously choose fullscreen over windowed (or vice-versa) about why they make that choice...
- Chris Doucette
Steven
2003.07.02, 03:18 PM
I agree, unless there's a good reason for not having it - such as in 3D fps's (as you mentioned)
It does get annoying. Blizzard games have a good solution - command+M makes them go windowed.
Yay Blizzard!
(heh. I just got Frozen Throne yesterday ;) )
BeyondCloister
2003.07.02, 03:32 PM
Well I made my Chromacell game windowed. As it is a turn based game it can easily be played while doing other things.
The kind of games I'm developing are designed to be picked up and put down with ease so suit the windowed format.
It is so much easier to hide a window behind that important word document you are working on for the deadline when the boss comes in than a fullscreen game :p
Of course another factor is that it is so much easier to debug the game during developement when Project Builder can be used to single step through with the game on screen.
My uDevGame entry will also be following the windowed plan.
Hope that spreads some enlightment on the twisted logic of a game developer :wacko:
skyhawk
2003.07.02, 03:53 PM
ALL games, FPS, RTS, Turned based, ANYTHING needs to have the option to go into windowed mode. It is the very simple courtesy that allows one to IM someone while destroying a town. Now unlike in XP, you should be RIPPED out of the game when someone IMs you, but you should have the simple option to go into a windowed type mode.
Kjurtyl
2003.07.02, 03:54 PM
Hooptie also is a windowed game, although if I remember correctly we were asked to do a fullscreen version at one point which we declined. We chose windowed for the same reasons BeyondCloister mentioned.. in order that it can be picked up and put down on the user's schedule, not ours!
I agree that a lot of games go full screen for no good apparent reason, but I believe that games with metal and TNT basic tend to go full screen by default. The reasoning behind that is unknown to me however, someone more familiar with those should provide a better explanation of why.
Hey Cloister, how's Chromacell coming along anyways?
- Kjurtyl.
skyhawk
2003.07.02, 04:01 PM
Originally posted by Kjurtyl
I agree that a lot of games go full screen for no good apparent reason, but I believe that games with metal and TNT basic tend to go full screen by default. The reasoning behind that is unknown to me however, someone more familiar with those should provide a better explanation of why.
WORST thing I've ever seen was a full screen calculator program.
BeyondCloister
2003.07.02, 04:04 PM
OT, but by public demand :D
The real job has kept me too busy recently but just about to release a new beta of Chromacell. Was in the middle of compiling the readme file when this thread distracted me again.
AJ Infinity
2003.07.02, 04:41 PM
DOn¥t forget, browser based games like NeoPets or Gold Yard are windowed.
diordna
2003.07.02, 05:16 PM
My uDG entry will be primarily fullscreen, being a (sort of) RPG, made up of many little (and larger) games. However, I plan to make separate windowed versions of all of the games the larger game is composed of. Since I'll probably make it available early, if I get enough emails, I'll make a windowed option.
KittyMac
2003.07.02, 05:20 PM
Originally posted by PuppyHelmet
Thoughts on this? I'd particularly like to hear from some designers who do consciously choose fullscreen over windowed (or vice-versa) about why they make that choice...
Why not? I can't speak for everyone, but for myself there are several factors why I go fullscreen without a windowed option.
Firstly, and without starting a flame war, I'd think many people prefer running games fullscreen. For instance, taking your 2D board game as an example. When one goes to play an actual board game, one clears off a set area (the kitchen table for example) and devotes that area to the game. One normally doesn't keep their homework, dinner, or other board games cluttered on the same table, no? One devotes that certain area of space for the game. Now, lets say the phone rings, one would turn away from the game and answer the phone. Hence, one should be able to quickly hide the fullscreen game and IM someone, then when they're ready to go back to the game turn back to the "table."
Going fullscreen gives the developer greater control over providing a consistent user interface and experience. Does someone really want big blue aqua buttons in a game of medieval warfare? Especially buttons which change visually from OS release to OS release, let alone from platform to platform?
Some games provide scrolling by bumping the mouse up to the side of the screen (WarCraft, for example). I think this style of scrolling is very difficult to pull off properly in a windowed fashion, since your mouse is no longer bound by the window edges.
Related to the consistent user interface, not having to deal with the menu bar, window resizing, and whatnot simplifies things when working across OS 9, OS X, and Windows. If the developer simply has a sand-box to play with, then things from the development become simpler (note that I didn't say impossible, only easier).
And lastly in my own defense, although my lastest game is fullscreen only, it hides instantly when the user pressent Cmd-H (or Ctrl-H) under Mac OS 9, OS X, and Windows (which, unless I misplace the references to "2D board game" and "conquering the world" you may have been referring to? :p ). I too have a beef with games which do not follow conventions such as Cmd-Q, and force the user navigate their custom menu system just to quit. Any game should be able to hide and quit at any time during the user experience.
Perhaps a more heinious crime though are games which require the user to have OS X, when the same game can run just as well under OS 9 (or visa-versa)? When looked at in this light, this is the same thing as requiring a game to run fullscreen or windowed.
Cheers,
Rocco
TNT Basic does full screen only at this time. I think that it is on TNTís to do list to have a windowed option available. It is probably best to present both options and have the user decide how they want to play the game.
Having the option presents a dilemma for the developer though. In some games such as turn based strategy, board games etc. it is probably acceptable to have scroll bars or some other way to navigate the screen. In a sprite and tile based arcade game though, the graphics are often designed with a specific screen size in mind 640x480 or 1024x768 for example. The player often needs to see the entire screen in order to play the game. In this case would you present the game in the next smallest size that can fit windowed in the screen? Shrink it to 640x480 so that it can be windowed in a 1024x768 screen for example. In these types of games you usually have to make a set of tiles for each resolution you are supporting so it is not a trivial matter to support many screen sizes.
-Jim
erazorhead
2003.07.02, 06:13 PM
Originally posted by KittyMac
Why not? I can't speak for everyone, but for myself there are several factors why I go fullscreen without a windowed option....
those are good reasons to make a game fullscreen, but none of them cover why windowed view shouldn't be an option.
your 'kitchen table' metaphor makes sense, but i don't think the comparison is perfect. i might clear off a table to play chess on it, but on the computer i would still want to keep an eye on a download, take note if my girlfriend gets on AIM, change the song in iTunes, etc. at least as an option.
anyways, take warcraft 3 as an example... this kind of game gets (in my opinion) the least mileage out of running in a window - for reasons you mentioned (interface consistency, edge-of-screen-mouse-scrolling) and others. but people still applaud their inclusion of the option. i have used it on several occasions myself and found it to be a lifesaver.
finally, not having a windowed view option has been a dealbreaker on several shareware games for me. so there's my input as a consumer. :p
geezusfreeek
2003.07.02, 06:33 PM
My general preference toward this is to default to full-screen, but give as many ways as possible to multitask: command-m (blizzard-style), command-h, command-tab, etc.
macboy
2003.07.02, 07:23 PM
In some games, it's best to have an option, but when there's a game that NEEDS the whole screen, it's usually best to keep it fullscreen. And clicking outside the window in a game where speed/constant clicking is neccesary is not very fun.
Originally posted by Kjurtyl
... but I believe that games with metal ... tend to go full screen by default.Sorta OT: MetaL doesn't go fullscreen automatically because it's not only for games.
skyhawk
2003.07.02, 07:29 PM
Originally posted by macboy
And clicking outside the window in a game where speed/constant clicking is neccesary is not very fun.
*cough MaFFia*
NCarter
2003.07.02, 07:48 PM
One strong reason why the developer might want to add the ability to run in a window is that debugging a fullscreen application is really difficult because you can't see the debugger. I added window support to my application framework for that reason alone, but I'm going to make the option available to the player anyway.
I'm curious... those of you who are writing fullscreen games with no window mode, how do you manage to debug your games?
KittyMac
2003.07.02, 08:06 PM
Originally posted by NCarter
I'm curious... those of you who are writing fullscreen games with no window mode, how do you manage to debug your games?
Debugging works just fine with CodeWarrior and Jaguar. It doesn't work so well with OS 9 and ATI cards, though. So it really depends.
Cheers,
Rocco
Carlos Camacho
2003.07.02, 08:35 PM
I would love to see this turned into an article on the debate. Take both sides and sum them up.
Bachus
2003.07.02, 09:39 PM
The way I see it, *every* game should let you run it in a window. Now I can make a concession for a game that requires the mouse, like a FPS or a game like Maffia (I'll never remember how to capitalize that). But for a keyboard-only game, if you don't let me play in a window or at the very least let me switch apps without quitting, you're doing a disservice to your customers.
Now in my current project, I even draw direct-to-screen and I still let the user play in a movable window. I do this by hiding the cursor and intercepting standard window events. But a simple hit of esc or command-P and the game pauses letting the user move or minimize the window to their heart's content. The MacMAME-based emulators use a similar technique.
Custom game interfaces are all well and good, but I'd much rather play a game that conforms to Apple's guidelines first.
geezusfreeek
2003.07.02, 10:30 PM
Originally posted by NCarter
I'm curious... those of you who are writing fullscreen games with no window mode, how do you manage to debug your games?
Dual monitors. :D
Mark Levin
2003.07.02, 11:20 PM
Actually, I use both windowed mode and dual monitors. Windowed mode to avoid unnecessary wasted time and monitor stress from rez changes, and double monitors for the extra real estate. Of course, the extra monitor was very handy before S2 could switch between windowed and fullscreen mode while running :P
death_himself
2003.07.03, 09:42 AM
Gawd, I totally, agree, fullscreen mode is up njear the top of my blacklist, alongisde OSX only games (what I really hate is that some people simply can't afford OSX, and its a bit tasteless for Apple to keep pushing people to convert, whilst I am nowhere near being poor, I can't afford it simply because I'm 16, but I can imagine people who have saved long and hard for a computer...and well...). Sorry, going off-topic there.
I have a few more reasons why I hate fullscreen too, firstly, it actually puts a halt to all other programs! I mean, seriously, how dare a program do that :(. So, it basically stops me from having fun whilst I wait for a download to be completed, in a way, it actually goes against what games should be, a distraction, something fun. On top of that, it stops me from receiving IMs, so I end up frustrated at just missing catching up with a net buddy. And what do I do with these games? I trash them, simple as. I particularly think that, say, RTS or any strategy for that matter, simply aren't suited to fullscreen, I don't know why, just they seem particularly wrong (alongside MMORPGs). Sorry, not saying much here, yes, down with fullscreen games, BURN!
NCarter
2003.07.03, 10:11 AM
Originally posted by death_himself
I have a few more reasons why I hate fullscreen too, firstly, it actually puts a halt to all other programs! I mean, seriously, how dare a program do that :(.
Not entirely true. The reason your fullscreen games stop all other applications is that they stop processing events in order to run more smoothly. A windowed application that stopped processing events would also stop all other processing.
At the risk of winding you up, it's only an issue on Mac OS 9. OSX's pre-emptive multitasking allows you to play a fullscreen game and do anything else you want in the background, no problem! ;)
If it's any consolation, one of your previous posts convinced me to try to make sure my uDevGame entry supports OS9. It'll also run in a window.
death_himself
2003.07.03, 11:48 AM
Originally posted by NCarter
Not entirely true. The reason your fullscreen games stop all other applications is that they stop processing events in order to run more smoothly. A windowed application that stopped processing events would also stop all other processing.
At the risk of winding you up, it's only an issue on Mac OS 9. OSX's pre-emptive multitasking allows you to play a fullscreen game and do anything else you want in the background, no problem! ;)
If it's any consolation, one of your previous posts convinced me to try to make sure my uDevGame entry supports OS9. It'll also run in a window.
Gimme a minute whilst I have a nervous breakdown... :P . I spose then developers who allow a windowed mode do so to allow multi-tasking and thus make sure their app doesn't stop processing events...or not, I'm not too sure. What bothers me is that fullscreen mode seems to try and control me, its taunting me, its saying 'you WILL play this game and do nothing else, because I said so and you have no other choice'. I also think fullscreen mode is completely wrong for the udevgame contest, to me, udevgame is about making a fun game, a diversion, something non-commericial...because of the way I find fullscreen mode manipulative, I associate it with commercial games. If that makes any sense whatsoever, I apologise for my lack of writing skills :) .
Mark Levin
2003.07.03, 01:04 PM
Whether a game uses fullscreen and whether or not it allows background programs to keep running under OS 9 usually aren't related.
The reason OS 9 games tend to take over the entire computer is that a) allowing background tasks has a much bigger speed penalty for the foreground task on 9 than on X and b) it's reasonable for the developer to assume that when you choose to launch a game, it's because you *do* want to play the game and do nothing else :P
PuppyHelmet
2003.07.03, 01:24 PM
Originally posted by death_himself
because of the way I find fullscreen mode manipulative, I associate it with commercial games. If that makes any sense whatsoever, I apologise for my lack of writing skills :) .
This is a fairly good reflection of how I see things - fullscreen mode is the fashionable way to do things these days, and (perhaps unconsciously) we developers tend to emulate these sorts of trends. Going fullscreen adds a sense of polish and makes the game seem more professional or commercial, which, ideally, impresses the player. In practice, however, that cool fade-to-black effect that signals a switch to fullscreen can be frustrating if you just want something to play with while waiting for a download to finish.
Above all, if you do use fullscreen and switch resolution, be absolutely sure, when the program is hidden or when the player quits, that everything returns to the way it was. I was about ready to kill myself with a grapefruit spoon after the umpteenth time Myst III - an otherwise incredible game - sent all my desktop icons to the top left corner in random order.
Functionality vs. flashiness is a whole 'nother ballpark - don't even get me started on the 5-minute CG intros to DVD menus - but the fullscreen/window "problem" (and I use that word hesitantly) seems to be one that's well within our ability to "correct". It's clear that both formats have advantages, both for the player and the developer, so why not put in the extra effort and implement both? Have your cake and eat it too, as it were. It's not the easiest way, but flexibility, done correctly, is the most impressive feature of all.
- Chris
Bachus
2003.07.03, 03:00 PM
Originally posted by PuppyHelmet
Above all, if you do use fullscreen and switch resolution, be absolutely sure, when the program is hidden or when the player quits, that everything returns to the way it was. I was about ready to kill myself with a grapefruit spoon after the umpteenth time Myst III - an otherwise incredible game - sent all my desktop icons to the top left corner in random order.
Ugh. I forgot about that "feature" of full-screen apps. And why do I still see games that do that? Even some modern ones written recently shrink my windows to a tiny size and move around all my icons. It's simply inexcuseable.
Zwilnik
2003.07.03, 03:05 PM
Fullscreen only all the way. Apart from the technical issues of speed etc. one of the big things a game is trying to do is to draw your senses into itself and make you focus on the game. If it does this, you'll be more 'into' the game and it's easier to create a better game. If the game is in a window with other apps going on around it then it's difficult to leave the real world behind and get into the game world, so don't give the gamer a choice to play your game in a bad environment.
Another less important aspect is look and feel. If you make your game run in a window, the look of your game is defined by the window and OS around it, not the graphical style you've done for your game.
Mazilurik
2003.07.03, 03:26 PM
I guess the choice of whether or not to have a windowed mode depends on the type of game and the developer's goals for the game (an immersive experience vs. a quick diversion), but all games should at least allow the player to pause the game and switch to the Finder; Cmd-H usually works for this, but some games aren't expecting the player to leave the game and act a bit strange when he returns to the game (e.g. choppiness, visual artifacts). For turn-based games, where the user doesn't need to respond to the other players' actions directly (all interaction occurs during the player's turn), the game could open a window when the player puts it in the background that shows the current game status (i.e. current player, current phase, chat messages, maybe a headline-style report of game events) and signals when it's the player's turn, so the player can follow the game while doing other tasks without having the entire game screen on his desktop.
PuppyHelmet
2003.07.03, 03:26 PM
Originally posted by Zwilnik
Fullscreen only all the way. Apart from the technical issues of speed etc. one of the big things a game is trying to do is to draw your senses into itself and make you focus on the game. If it does this, you'll be more 'into' the game and it's easier to create a better game. If the game is in a window with other apps going on around it then it's difficult to leave the real world behind and get into the game world, so don't give the gamer a choice to play your game in a bad environment.
Another less important aspect is look and feel. If you make your game run in a window, the look of your game is defined by the window and OS around it, not the graphical style you've done for your game.
Again, this is not always appropriate. For an RPG, adventure game, or FPS, yes, the mode of presentation demands that the players immerse themselves in the game world. Scrabble does not. Ultimately it has to be the player's decision how much screen space to give to your program, and if they don't want to have their screen covered up, they won't play a fullscreen game.
This also applies to sound - games that have no option to make their sound effects and music quieter (or to shut them off entirely) are extremely irritating to players who might prefer to listen to their own music or who don't want their coworkers to know they're playing games. :P
If the sound and visuals are integral to the game experience, the player will want to play the game in its proper environment, in fullscreen and with the volume turned up. It's just a bit presumptuous on the developer's part to assume the player will always be in that frame of mind. If you don't want your game to be played casually, that's fine, but it could lose you some business.
BeyondCloister
2003.07.03, 03:33 PM
The sound / music issue raises another question I've been meaning to ask.
How much notice of game music do players take these days?
With the computer acting as a music system via iTunes do you want to listen to your own choice of music or the game music?
Personally I feel that sometimes the game music repeats too much - well definitly compared to my collection of CDs that are now living in iTunes :D
erazorhead
2003.07.03, 03:33 PM
Originally posted by Zwilnik
Fullscreen only all the way.
...
If the game is in a window with other apps going on around it then it's difficult to leave the real world behind and get into the game world, so don't give the gamer a choice to play your game in a bad environment.
i disagree. it seems presumptuous to make the gamer play the game fullscreen because you disapprove of their desire to run it windowed. again i'll invoke Warcraft 3; the game itself is so immersive that i always prefer to play it fullscreen - my choice - but every time i need to, say, pause the game and check my mail, without quitting the whole game, i have the ability to click over to windowed, check my mail, and come back into fullscreen. if you want people to be immersed, make an immersive game that people will want to play full-screen.
KittyMac
2003.07.03, 04:00 PM
Originally posted by PuppyHelmet
If the sound and visuals are integral to the game experience...
I would argue that sound and visuals are always an integral part of the game environment, just like gameplay and originality. Would you prefer a scrabble game with really bad graphics and sound but played in a window, or a scrabble game with great OpenGL rendered graphics and a killer musical score being played fullscreen?
I think we're all pretty much in agreement that games which go fullscreen only, yet are unfriendly to the user (ie don't support quickly hiding/quitting/tabbing) come off as being under-polished and not user-friendly, but what concerns me is that gamers these days seem to expect all games (including shareware) to be as polished as WarCraft III (something which cost millions of dollars and many people to make), even though the shareware titles cost well under half of what the commercial titles cost.
Many people here have bluntly stated that they will not even play a game which goes fullscreen, yet the way I see it is that any shareware game is an awesome accomplishment of the developer's dedication to independent game development. Why neglect them since they didn't have a $5 million dollar budget? I'm not saying we should all go and throw our money at the small developer, but we should at least play their games with an open mind.
Cheers,
Rocco
erazorhead
2003.07.03, 04:10 PM
i agree. i think an individual or a small group's labor of love to put out any finished game is admirable.
but is it very difficult to add a windowed option to the average shareware game? (not rhetorical, i actually do not know). the negative perception of not having such a feature exists, as we have seen here... is it not worth the time and energy it would take to add such a feature?
also, it goes the other way (something i don't think we've touched on yet). for example, i sometimes wish i could play MAFFia fullscreen.
KittyMac
2003.07.03, 04:25 PM
Originally posted by erazorhead
but is it very difficult to add a windowed option to the average shareware game? (not rhetorical, i actually do not know). the negative perception of not having such a feature exists, as we have seen here... is it not worth the time and energy it would take to add such a feature?
The difficulty is very case dependant. For a game targetting a single platform, then no, not really. For a game targetting multiple platforms (in my case, 3 different platforms), then you have 3x the amount of development, plus 3x the amount of play-testing. In the end, it could add a whole 2 months to the total development time of the game.
and as mentioned before, the type of game also matters. In my case, my game runs without scrolling at 1024x768, a window size which is perhaps a bit too big for the average user.
On the other hand, I was unaware of the strong feelings harbored towards anti-windowed games until this debate started. Hence, I think it more a matter of "Well, commercial title X doesn't need to do it, why do we?" mentality than not. Bottom line, for everyone here who "downloads a game and puts it straight in the trash" when something doesn't meet your fancy, how about filling a bug report? How many times to I read on VersionTracker "It didn't launch so it goes straight to the trash!", and yet I bet that person never bothered to let the developer know about it.
There are two ways to let your preferences be know, with your wallet and with your voice. However, if you don't use your voice, the problem will probably not get fixed and worse, any future games will have the same problem since the developer is going merrily on his way thinking all is well.
Cheers,
Rocco
Feanor
2003.07.03, 06:02 PM
Originally posted by Zwilnik
If the game is in a window with other apps going on around it then it's difficult to leave the real world behind and get into the game world, so don't give the gamer a choice to play your game in a bad environment.
Another less important aspect is look and feel. If you make your game run in a window, the look of your game is defined by the window and OS around it, not the graphical style you've done for your game.
That is a subjective experiecne. I strongly urge you to leave it to your users to decide for themselves if and when they want or need to be more or less "immersed" by having full screen as an option.
Now, there is the issue with some intense 3D games of needing minimum texture storage area. In Jaguar with Quartz Extreme, windows use texture memory. Better to have them all pushed off the card when the game starts up, instead of having them moving back and forth over the bus.
Still, that should be up to the player. Give them a note about memory demands &c. somewhere, either in the support docs or in a one-time warning dialogue.
Zwilnik
2003.07.03, 06:29 PM
Originally posted by Feanor
Still, that should be up to the player. Give them a note about memory demands &c. somewhere, either in the support docs or in a one-time warning dialogue.
But why should my game suffer for the few people who don't want to play it the way it was designed ?
Yes, for games like Scrabble, fullscreen isn't required, but I don't write games like Scrabble. I write Arcade/Console type games. If a player isn't concentrating fully on my game, I've already lost :)
There's also the issue of development time. For part time developers like us, this is a critical issue. Do we spend time making the game play nice with all of the possible window control events (a major pain) and resizing, or do we finish the gameplay and graphics ? I know which one I always choose ;)
erazorhead
2003.07.03, 08:30 PM
well if it's a one-or-the-other decision between the two, i of course agree that you should get the game to its best possible state as opposed to adding a fullscreen/windowed option.
however i still stand for having both - like i said, in many games this feature is a deal maker/breaker. i suppose its importance depends on the type of game, as you said; but i can't think of a game where i wouldn't even want the option
GoodDoug
2003.07.04, 02:19 AM
Originally posted by Zwilnik
Fullscreen only all the way. Apart from the technical issues of speed etc. one of the big things a game is trying to do is to draw your senses into itself and make you focus on the game. If it does this, you'll be more 'into' the game and it's easier to create a better game. If the game is in a window with other apps going on around it then it's difficult to leave the real world behind and get into the game world, so don't give the gamer a choice to play your game in a bad environment.
Another less important aspect is look and feel. If you make your game run in a window, the look of your game is defined by the window and OS around it, not the graphical style you've done for your game.
Amen Brother!
Though I don't completely agree that every game should be fullscreen. I think that there is a very valid point to having games be fullscreen, and not just because of mouse issues... sometimes the feel of the game requires a more immersive setting. Though many will disagree with this, I felt I should chime in with my support for fullscreen.
BeyondCloister
2003.07.04, 03:56 AM
I don't think I stated my view on the matter clearly earlier on in the discussion so excuse me for trying again :blush:
My puzzle games, designed as pick up and play distractions, go for the windowed option as default. However I use a fixed size window so I dont have to worry with the problems of resizing and getting a bad write up from someone because the game is not playable when the window is 10 pixels by 10 pixels :p
The only Aqua feel I have in my game is the window's title bar with all the 'what the user expects' features for hiding the window away etc. The rest of the interface is contained in my window so all my own graphics.
If I was using OpenGL instead of bitmaps then I would make the game window resizeable within set limits.
Once I have the game 99% finished then I will add the option of fullscreen, but due to the fixed graphic sizes I'm not sure how to get around the terrible side effect of moving the desktop all over the place when resizing :(
Now if I was writing an arcade game then I would go for fullscreen as default but still have a window option.
Each game type has its own best method of display, but giving the user the option to choose is the best method. If someone wants to sit and play my puzzle game fullscreen for 14 hours then I'm more than happy - unless they sue me for some silly reason, as happens in a certain country these days, like forgetting to go to the toilet :p
And on the subject of OS X only. Sorry to say that it was OS X that attracted me to the Mac platform and the easy of development within the Cocoa environment. Never developed OS 9 so never likely to release for that platform.
Right must go to work now and stop waffling away.
OneSadCookie
2003.07.04, 07:40 AM
Originally posted by BeyondCloister
I'm not sure how to get around the terrible side effect of moving the desktop all over the place when resizing :(
If you go fullscreen properly, this is not a problem.
desktopMode = CGDisplayCurrentMode(...);
CGCaptureAllDisplays();
CGDisplayChangeToMode(...);
//play to your heart's content
CGDisplayChangeToMode(..., desktopMode);
CGReleaseAllDisplays();
NCarter
2003.07.04, 01:55 PM
Originally posted by Zwilnik
There's also the issue of development time. For part time developers like us, this is a critical issue. Do we spend time making the game play nice with all of the possible window control events (a major pain) and resizing, or do we finish the gameplay and graphics ? I know which one I always choose ;)
Well, it's not like you can't write that code once and reuse it in every project. I didn't find it too difficult to write the necessary window handling code using Carbon Events (I even have a window constrained to the correct proportions!). I think it's worth the effort.
I sympathise with what you're saying, though. Lack of time and space in my brain is the main reason I've never got around to adding HID Manager support to anything.
I agree with Zwilnik and KittyMac. Many seem to expect the same level of quality from a shareware developed by one person as a full commercial title with 50 or so people and millions of dollars behind it. Many of these same peope have yet to complete a game themselves. Of course we try to make a well polished and quality product but the difference in the amount of resources and money do make a difference no matter if you like it or not.
As an independent developer you have to leave out a lot of things because there's simply not enough time to do everything that the big game house does in 2 or 3 years with their millions of dollars budget. Making it run perfect in windowed mode is not one of the priorities.
Originally posted by KittyMac
Bottom line, for everyone here who "downloads a game and puts it straight in the trash" when something doesn't meet your fancy, how about filling a bug report? How many times to I read on VersionTracker "It didn't launch so it goes straight to the trash!", and yet I bet that person never bothered to let the developer know about it.
So true. It's annoying when they take the time to write down their complaints on VT but don't bother to read the instructions where it's clearly spelled out how to do some specific thing.
True, a game like chess or a card game can very well run in windowed mode but most games benefit from running in full screen mode.
If you don't like that, well then a lot of games aren't for you. Time to start making your own game and you can make it the way you want.
KenD
arekkusu
2003.07.09, 11:21 PM
opinion:
If you can, allow both fullscreen and windowed mode.
If you allow windowed mode, and it makes sense for your game, allow the window to be resizable.
If you allow fullscreen, BE SURE to properly capture and release the screen.
fact:
fullscreen gives better GL performance, because hardware page flipping is available, and you don't have to fight the window manager for VBL sync.
BeyondCloister
2003.07.11, 02:51 PM
OneSadCookie,
The sample code you posted for switching fullscreen and back seems to be Carbon based.
How do I do this from Cocoa?
Sorry for asking but no experience at all of Carbon as Cocoa and Objective-C is the only development I've done on Mac since switching from Windows.
Feanor
2003.07.11, 04:00 PM
Originally posted by BeyondCloister
OneSadCookie,
The sample code you posted for switching fullscreen and back seems to be Carbon based.
How do I do this from Cocoa?
Sorry for asking but no experience at all of Carbon as Cocoa and Objective-C is the only development I've done on Mac since switching from Windows.
There is no Cocoa. AppKit depends on a windowed environment, you know, for events and stuff. I guess they could have added wrappers to Foundation somewhere, but that's a waste of time. REMEMBER: Objective-C is C with objects, so you better understand functions, too. Core Graphics is worth knowing.
OneSadCookie
2003.07.11, 10:22 PM
CoreGraphics is not part of either Carbon or Cocoa.
There is no Objective C API for going full-screen, because as FÎanor mentioned, AppKit is an application framework, not a game framework.
You can find DisplayKit on the web, it's an Objective C wrapper for the CGDirectDisplay functionality. Personally, I think it's almost easier just to use CGDirectDisplay straight, but YMMV.
skyhawk
2003.07.11, 11:38 PM
Download this (http://www.withay.com/macosx/opengl/Lesson21_OSXCocoa.zip)
this has an example of how to do fullscreen... it uses coregraphcis and all, but it shows you how to do everything for an opengl type window.
arekkusu
2003.08.04, 05:05 AM
The sample project from NeHe that skyhawk links to above incorrectly sets up the fullscreen context-- it fails to specify the display to use, so it doesn't work on Powerbooks or other multi-display systems.
It also captures the screen before realizing it has failed, so it flashes everything black.
Correct method of setting up fullscreen explained in this thread (http://www.idevgames.com/forum/showthread.php?s=&threadid=4245)
The reason why so many developers go fullscreen-only is shown by the confusion displayed over fullscreen in this thread. Display modes have always been a moving target on the Mac, from doing it yourself with the Display Manager, to DrawSprocket, to QuickTime, etc. There are OS 9 vs OS X differences in how to do things best, window buffering vs lack of window buffering, third party tools like Ian Ollman's library or SDL, sample code from Apple that doesn't always work or which is not documented properly, menubar drawing or lackthereof, Cocoa vs Carbon APIs, multiple monitor support, etc.
Getting a good game out there is hard enough as it is. Every single time that you deal with OS specific issues, you are taking time away from your actual game development, and opening yourself up to OS specific issues of checking for software versions, misfeatures, bugs, gotchas, video incompatibilities, workarounds, speed, etc.
And then there is maintenance and support. Not trivial.
I've done both fullscreen only, and windowed, and combined. I use windowed mode for development, but I don't demand that arcade style games use a windowed mode. Board and some puzzle games are different, obviously.
Games really are a special case, at least for fast action games. They do not fit in with the desired Apple event model, because they really DO want to hog system resources for maximum performance. If you can provide a windowed mode, great, if not, well, life is short, and video games are expensive to produce at the best of times, without having to worry unduly about platform specific stuff.
I will say, however, that for development, I consider it vital to have a windowed mode, however spotty it is. You are doing yourself a major disservice if you don't have a console or text file that you can write errors or status reports to in real time as you test your game and develop content for it. I wouldn't even contemplate developing a game in fullscreen mode alone.
Steven
2003.08.15, 10:54 PM
Heh. When I had a problem with my fullscreen game (it was a choice: either windowed or fullscreen, and the crash happened only during fullscreen) I fired up my Linux server next to it, ssh'ed into my main dev machine, and ran GDB so that the GDB output was showing on one machine while the other played the game ;)
Fenris
2003.08.22, 08:16 PM
I can't see any reason not to support both modes - at least not in any design that I am currently working on.
Take, for instance, a turn-based puzzle game. You might want to have it running behind all the windows while doing a spreadsheet, and sometimes popping it to the front to do a few moves. Still, it might be a lot more immersive to play in fullscreen. I'm just echoing what others said here... :)
But, for instance, El Ballo (a 2D platformer I'm working on) will support both modes too, even though it's an action game. It's simple to play nice with the other apps - just pause the game when it is switched to the background/suspended. I can think of a few situations when a player might want to run in a window: a modem user doing a download - he might want to play a game, and still keep an eye out for when the d/l is finished. Copying files, burning CD:s and such. OS 9 users might want to run in a window, since a lot of games mess up the desktop when they switch resolutions.
But, still, I think that running games in a window works best for small games - games that doesn't run on a 800x600 arena. Look at the game Down&Out. It's roughly 300x250 in a window, and it fits neatly on the desktop, among other windows and apps, and that's actually it's strength - that it doesn't get in the way of what you're doing.
Fenris
2003.08.22, 09:02 PM
Oh, yeah, as for solutions to the problem: in El Ballo, I came up with an approach that works quite nicely:
Whenever the game is paused, the window is hidden/fullscreen is disabled, returning everything to it's non-game state. Then, I put up a small (100x150 or something) window, with a small graphic and a message that says that the game is paused. In addition to that, two Aqua buttons labeled "Quit" and "Resume", the latter defaulted. Now, the player pauses, everything goes away, but there's one little, non-cluttering window left to ease the process of finding it again. (Many newbie computer users seem to have a hard time to resume programs that's just a menu bar and a Dock icon - they can't find it.) The window is closable and minimizable, so it can be put out of the way totally, if need be. To resume the game, the player just needs to click the little window, and hit return or click the resume button to get back, or click the quit button to insta-kill the app, no questions asked, no screen fades, no resolution switches, no nothing.
I'm very satisfied with this solution, since it allows me to put the game away completely while not losing it. Also, sometimes, when a game is paused and you decide you don't want to play it anymore, you want to kill it without having to get back into the old display mode and work yourself out of the game the hard way.
Now, the thing I like best about this solution is that it's completely moduled. The way it's built around my GameApp class, it's just a matter of updating the .nib with a new graphic and I can put the same solution into any game in under two minutes. Me like! :D
I throw in two screeners here, and hoping that Casey won't rip out my lungs for showing graphics early... :/
Window plays nice (http://www.rusted.se/pic2.jpg)
Window sits in Dock (http://www.rusted.se/pic1.jpg)
David
2003.08.23, 04:14 AM
That's very slick; I wish I knew how to do that :p
Fenris
2003.08.23, 04:20 AM
I might take up on Carlos' suggestion and write something up on this subject...
David, if you want instructions, just mail me off the list: ivan at rusted dotcom.
vBulletin® v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.