Sign in to follow this  
Drigovas

Designing for multiple monitors

Recommended Posts

I have several monitors. Many of you likely have several monitors, but this is in no small part to the fact that we [most of us anyway] are developers in some branch, and are not what you would categorize as a 'casual user'. When I play games, I turn all but one screen off, because no game I've ever played actually takes advantage of multiple screens, and many of them behave strangely in the case of multiple screens [such as having a mouse cursor that falls off the full screen game and into the desktop to the side]. Many computer users don't have multiple screens though, so designing a game around them is a bit tricky. Part of the reason they don't have multiple displays is because developers like us don't actually support the second display, leaving it instead just sitting there. So the challenge becomes pretty obvious. What should the design of a games interface take into consideration when targeting an audience that *may* have multiple monitors? My current work enables the use of multiple monitors in a rather crude way. My project was a game with a free floating camera. Each screen was just a different view of the same world. It was helpful at times, because it enabled the player to pretty much be in two places at once, but it was still a bit of a unsophisticated use of the other screen[s]. It IS however, a solution that could scale arbitrarily, so if a player had a dozen screens, they could use them all if they chose.

Share this post


Link to post
Share on other sites
The major key would be in multiplayer games, where you shouldn't allow the presence of additional monitors provide a major advantage to those players and throw off the balance.

Share this post


Link to post
Share on other sites
For multiplayer games it is a bit trickier. But in all honesty, better hardware is going to provide you an advantage in nearly every situation, and not just for additional displays. In multiplayer though, how low do you set the bar beyond which you are going to render all additional resources useless? Having a display with the desktop shown could be an advantage as well in these cases...

Anyway, it's a bit of a side track. It could be argued that implementing bookmarking for cameras would level the playing field [to the extent to which it could be leveled] in the case that I mentioned.

Share this post


Link to post
Share on other sites
How exactly do you render in a fullscreen mode onto all monitors?

I hope you mean by using the video card driver's expand mode where it puts all the monitors together to form one high resolution virtual screen. For example, three 1280x1024 monitors create a 3840x1024 display.

That's the only way I know, are there others?

If you mean using that mode, then I guess a good approach would be to allow for any resolution, and make sure your HUD scales well. Most importantly, allow the game to place the HUD in an arbitrary position, to make it possible to have the HUD on the center monitor only (if it's a triple monitor setup). Of course, a proper FOV adjustment is a must.

I guess that's pretty much all you can do to ensure your game will look ok when stretched on multiple monitors. This applies to racing/flight sim games, and perhaps FPS.

I get the feeling you're thinking of more novel uses of multiple monitors (akin to the Nintendo DS), rather than properly stretching your one-screen game onto multiple monitors. In that case, I can't offer much advice... But I heard a strategy game Supreme Commander had some interesting support for dual monitors.

Share this post


Link to post
Share on other sites
Quote:
Original post by shurcool
How exactly do you render in a fullscreen mode onto all monitors?
You can capture them as individual adapters, and display them individually. The whole virtual desktop thing works well for [certain] windowed applications, but for full screen stuff, you pretty much get stuck doing it yourself. If you want some more details, there are plenty of threads in the technical forums on this site about this subject. A quick search would turn up answers. Also, MSDN has lots of details, and if you have a DirectX SDK installed, it has full details as well in it's docs.

Anyway! Design! Implementation is left to the engineers.... what about designing for multiple monitor support. How would you utilize such a wide variability in your display resources?

[Edited by - Drigovas on July 25, 2008 3:23:02 PM]

Share this post


Link to post
Share on other sites
it would be nice to have your inventory screen and stats on another monitor and it wouldnt be that hard to implement.

I guess their is not enough demand. Supreme Commander supports multiple monitors but i'm not sure how it works.

Share this post


Link to post
Share on other sites
I suppose that the most obvious use of multiple monitors is to separate the main display from the information display. In a RTS or in a RPG, there are often mini-maps, character descriptions, inventories / list of resources, that could all be on the second screen to keep the primary display fully for the game.

Other than that, I think that management games where you need to keep an eye on many things ate once are a win there. In most trading floors, 6-screens setups are the standard, and that can go up to 8 or 10, because traders need to see tons of information at the same time. Air traffic controllers (military and civil) also have generally several screens, with for example one for the main radar display, one for the list of planes being managed, and one for general information.

I suppose you could actually make some pretty neat strategy game where you would play the role of the top general, and manage several battles at once while keeping an eye on your industrial output, your spies reports, the weather forecast (can change the outcome of a battle!), and your diplomacy staff. In that case, it is probably a win to provide a very configurable display, where the player can open a number of empty windows, and fill them with the individual controls. You'd need of course to provide a default 1 screen interface, and maybe a default 2 and 3 screens interface.

Share this post


Link to post
Share on other sites
Quote:
Original post by small_duck
I suppose that the most obvious use of multiple monitors is to separate the main display from the information display. In a RTS or in a RPG, there are often mini-maps, character descriptions, inventories / list of resources, that could all be on the second screen to keep the primary display fully for the game.


This is what I first thought of. I've recently got the new Advance Wars for the DS, which uses the second screen for stats on terrain and units or any other mission specific points of interest (such as a radar showing a missile approaching, or the "second front" of your battle such as the high-altitude battlefield for aircraft). For an RTS this is probably the best way to go. In an RPG, something like always having your inventory open could allow interesting use of items in the middle of the action etc.

http://www.gamethink.net/IMG/jpg/advance_wars_DS_2005.jpg

I suspect you might find some decent inspiration from DS games here, although many are a bit of a cop-out, using the second screen only for a map.



Share this post


Link to post
Share on other sites
Quote:
Original post by WavyVirus
although many are a bit of a cop-out, using the second screen only for a map.
Which is a pretty big concern of mine. For the DS, there is a pretty strict budget on screen space, even with two of them, since they are so small. Monitors on the other hand, are pretty big. It seems wasteful to even use a second screen at all if you're just going to use it to store a tiny little bit of information in one corner of it, and leave the rest effectively unused. Even if you have enough information for two screens, what do you do if the user has 3?

Share this post


Link to post
Share on other sites
Quote:
Original post by Drigovas
Even if you have enough information for two screens, what do you do if the user has 3?


Display a message "This is clearly a developer's system,... GET BACK TO WORK YOU LAZY SLACKER!"?

Share this post


Link to post
Share on other sites
Quote:
Original post by Drigovas
Quote:
Original post by shurcool
How exactly do you render in a fullscreen mode onto all monitors?
You can capture them as individual adapters, and display them individually. The whole virtual desktop thing works well for [certain] windowed applications, but for full screen stuff, you pretty much get stuck doing it yourself. If you want some more details, there are plenty of threads in the technical forums on this site about this subject. A quick search would turn up answers. Also, MSDN has lots of details, and if you have a DirectX SDK installed, it has full details as well in it's docs.

Thanks for the info, I did not know that (never delved in this area, as I only have one monitor).

Share this post


Link to post
Share on other sites
As a rule, if one of my games goes fullscreen I blank out any additional monitors I'm not using and make sure to handle/prevent any awkward problems such as the mouse "falling off" the correct monitor. Blanking out additional monitors should be a user configurable option (perhaps the user wants to see something they've put on another monitor?), but if you've gone fullscreen you should always handle issues such as constraining the mouse properly.


As for what you could actually use additional monitors for... a few ideas:
  1. Additional map viewport(s). Particularly useful in strategy/tactical gaming where it may be handy to be able to view and/or interact with multiple sections of a larger-than-screen map at the same time. Depending on how this is handled it may give an advantage to players with additional monitors -- potential workarounds include disallowing such matchups, or simply informing all players so that a potentially disadvantaged player is aware of the situation and can decide to opt out. From the sounds of it, the game mentioned in the OP is an example of this, and rather than being unsophisticated I see it as a simple but intuitive way to use additonal displays.

    Supreme Commander does this as optional functionality (otherwise just plastering a logo on a secondary monitor to blank it out), and by default has the map on the secondary monitor zoomed out such that you get an overview of the entire map (potentially allowing you to do without the minimap on the primary monitor if you wish). I'm not sure, but do not believe that SC does anything (other than presumably disabling or blanking them out) with additional monitors beyond a second one.

  2. Provide a larger-than usual minimap/radar display on a second monitor. This is the baby-brother of the above suggestion, and can even be provided by the very same functionality in games which include good enough zooming functionality (such as Supreme Commander). Same notes as above regarding potential advantage to multi-monitor players.

  3. Use all the monitors to produce a wider display. This is common in flight simulators. See this page for some pictures of examples.
  4. This is a particularly good option for things that simulate being in a fixed-sized control area such as the cockpit of a plane or spaceship, or perhaps for displaying the different terminals in the bridge of a starship, although you could also just use it to display any game (I'd suggest this is probably a bad idea for a first-person view that doesn't simulate a cockpit) as seen here for example.

  5. Mirror the primary display. This is a bit of a cop-out, and it most cases probably won't actually be useful to the player.

  6. Display additional data on other monitors, such as the quest-log in an RPG, or recent chat and just about any multiplayer game.

  7. Actually make a second monitor useful or neccesary for gameplay. Making something up off the top of my head, you could have a scrolling-shooter where both monitors display different "dimensions" (with differing challenges/obstacles/powerups/etc.) of the world in which the game takes place and the player can (or more likely, must) change between those dimensions (in our example we could explain this as some sort of "phasing" technology) at appropriate times in order to complete the game. I'm sure there are many similar (and perhaps dissimilar but also tied into gameplay) ideas that could work, although a disadvantage of this particular option is that it essentially requires having two monitors to play unless you want to provide some kind of split-screen mode for players with only a single monitor.



Anyways, just a few ideas, hope it helps someone. [smile]

Share this post


Link to post
Share on other sites
I can see how simulation games, RTS and RPG could benefit from this. I had an experience of dual-screen gaming with EVE online, the applications of multi-screen in this game are obvious and probably also apply to other MMOGs. I heard that in the first releases, EVE had a special multi-monitor mode but that they removed it. Too bad. It still allows however to run the game in 2560x1024 resolution, making a wide view that is still very useful for a lot of situation. It is just a shame that many things in the UI have to be in the middle of the display and can't be moved.

In this game, many windows will quickly come in the way of your display : scanning results, list of targets, drones control, market details, chat window, player info, character sheet, etc... I usually have all the info-rich windows on one screen and optimize the second one as a combat view : large view of the 3D universe with only targets list, drone controls and weapons control.

While I was a beginner, I enjoyed having a single 1280x1024 view for the game and a firefox running on the other display, browsing various forums and tutorial for crucial informations.

Share this post


Link to post
Share on other sites
Quote:
Original post by jbadams
Use all the monitors to produce a wider display. This is common in flight simulators. See this page for some pictures of examples. This is a particularly good option for things that simulate being in a fixed-sized control area such as the cockpit of a plane or spaceship, or perhaps for displaying the different terminals in the bridge of a starship, although you could also just use it to display any game (I'd suggest this is probably a bad idea for a first-person view that doesn't simulate a cockpit) as seen here for example.
As was also mentioned in the associated links, there becomes some questions about mapping the logical display to the physical screens [for example, having the crosshairs in some shooter on the split between two screens]. Another detail is the issue of stuff like text or other GUI information becoming chopped up on the break between the two screens. It is the unfortunate truth for all of us multi-monitor people that monitors tend to still have some pretty fat boarders, along with there is no means of programatically detecting the physical configuration. It is an interesting view point though, and something certainly worth considering in the future. I'm a little curious how infinity would handle monitors of differing resolutions or strange configurations with respect to the placement of GUI objects [it would be bad if something got cropped out completely]... It seems that just having a bigger desktop isn't sufficient, and that the game itself still needs to be aware of the environment to deal with some of these sorts of little issues.
Quote:
Original post by jbadams
Display additional data on other monitors, such as the quest-log in an RPG, or recent chat and just about any multiplayer game.
Pretty much the most immediately apperent solution, except for the issue of finding enough stuff to actually put over there. Also, this very much helps mitigate the potential performance impact of running with multiple screens by removing the need to actually re-render a scene twice each pass, and just updating the less immediately important stuff as it changes, or as is convenient.
Quote:
Original post by jbadams
Actually make a second monitor useful or neccesary for gameplay. Making something up off the top of my head, you could have a scrolling-shooter where both monitors display different "dimensions" (with differing challenges/obstacles/powerups/etc.) of the world in which the game takes place and the player can (or more likely, must) change between those dimensions (in our example we could explain this as some sort of "phasing" technology) at appropriate times in order to complete the game. I'm sure there are many similar (and perhaps dissimilar but also tied into gameplay) ideas that could work, although a disadvantage of this particular option is that it essentially requires having two monitors to play unless you want to provide some kind of split-screen mode for players with only a single monitor.
This really is the ideal option, in my eyes. Removing completely the question of whether or not I could be flexible with respect to this, and instead just designing from the ground up to use a specific display configuration. The only downer is that lots of people are still buying awesomely powerful machines and then hooking them up to their shitty 17 inch CRT displays that haven't even been considered for replacement since they got the thing with their first computer. It sure would be nice though... I can dream of a world where I can demand anything of players' machines.
Quote:
Original post by ruby-lang
I know this won't help you specifically, but some games would benefit from each player having her own screen in PvP or coop mode.
I'm sure that this would be useful in instances where there is some sort of split screen play, but in all reality, the monitor space is far from the only technical challenge with implementing any sort of complicated game on a shared machine. I agree that there would be value in this, but it seems as if resources would be better spent networking a game for LAN play than dealing with the headaches introduced by split-screen games.

By the way, thanks for the discussion so far everyone. [especially for pointing me to supreme commander's dual screen support, infinity, and eve]. There don't seem to be very many games yet supporting it, but hopefully there will be in the near future.

Share this post


Link to post
Share on other sites
For most 3D (action) games you would need an uneven number of screens if you want to render an extended field of view. While there are many people with a graphics card that allows you to connect 2 monitors (and some even doing it), more than that usually requires specialized solutions (e.g. more cards or Matrox's TripleHead).
So for most games the second monitor would only be useful to display additional information, but it really depends on the genre.

FPS:
Stretching the viewport is out of the question since the crosshair ends up between the screens. You could put anything there that doesn't have to be immediatly visible (like a health bar). Minimap was one idea mentioned before, but you could also display smaller viewports of your teammates's perspective if your game is coop.
Another fun way to combine game design and graphics would be to display an alternate view on the second screen, for example a parallel dimension in the same space or an IR-View.

3PS:
Same as FPS but with more flexibility, I'd guess.

RTS:
Again, you could put anything that clutters the main view to the second screen. In an RTS (assuming Top-Down or isometric view) stretching the view is possible but I'd guess quite irritating. Mouse-scrolling could also be very annoying.
Best use would be a second camera that you can move independently and switch to with a keypress. This obvious advantage in Multiplayer should of course be controllable by the host and co-players.

TBS:
Turn-based games usually have a complex interface and would profit most from multiple monitors.

RPG:
No-Brainer. Inventory, Character Stats, etc.

Sports:
Besides the player's view on the main screen, the second could display the audience's perspective or be a dynamic director's view that changes all the time. Great way to show the crowd's reaction or multiple perspectives at once. (Thinking FIFA here).


Well, there are lots of possibilities to use it as a feature, but always keep in mind the unfair advantage in multiplayer when designing it. It's usuability is also limited by people that don't have a second screen. And as a "fluff" feature getting multiple display support in is usually not worth the extra work. What every developer SHOULD do, is to test their game with a multi-screen setup, even if it just uses one, to see if it works.

Best way to use it, would be a scriptable interface that modders can extend to more screens. Building the perfect multiple screen interface kept me longer in WoW than the game ever could on it's own.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this