-
-
- (637)
-
premium membership
-
Posts
483
|
StorageContainer question, re multiple players
|
Well actually, I have two questions:
1) Is there something "real" games do (which is not available through the XNA framework) so they don't have to show the storage device selector screen? (It seems that some games don't ask me, even though I have a MU plugged in in addition to the harddrive)
2) For those who've made games where they store per player information: If two different players are signed in and taking part in the game, do you bring up the storage device selector twice? (Once for each player).
|
|
-
-
- (637)
-
premium membership
-
Posts
483
|
Re: StorageContainer question, re multiple players
|
Ok, perhaps a simpler question: how do people store high scores and such for different players? Do you just use a folder with the name of the gamertag under the storagecontainer's path?
|
|
-
-
- (1152)
-
premium membership
-
Posts
687
|
Re: StorageContainer question, re multiple players
|
mtnPhil:1) Is there something "real" games do (which is not available through the XNA framework) so they don't have to show the storage device selector screen? (It seems that some games don't ask me, even though I have a MU plugged in in addition to the harddrive)
Probably. Most of us don't know, since we don't have access to the official XDK.
mtnPhil:2) For those who've made games where they store per player information: If two different players are signed in and taking part in the game, do you bring up the storage device selector twice? (Once for each player).
Generally, that's what you're supposed to do. It's usually bad form to assume that all players want to use the same storage device, particularly for save games. However, for high scores, it might be safe to only assume that the primary player (the first one who signed in) wants to keep the high score list. Someone else with more experience in implementing high score lists might have more insight here.
Previously known as "Rainault". Twitter - me, Jade Vault GamesAnnouncing ASCII Quest, a Roguelike under development for Xbox LIVE Indie Games
|
|
-
-
- (12538)
-
premium membership
MVP
-
Posts
8.749
|
Re: StorageContainer question, re multiple players
|
The sort of "cheat" you can do is to just ask for a profile agnostic save device and store each profile's save there using the profile as the file name. Downside is that the user can't move their individual high score without moving all of them. But it does save you from showing the device multiple times. It's a hack, but it's there.
|
|
-
-
- (637)
-
premium membership
-
Posts
483
|
Re: StorageContainer question, re multiple players
|
Nick Gravelyn:The sort of "cheat" you can do is to just ask for a profile agnostic save device and store each profile's save there using the profile as the file name. Downside is that the user can't move their individual high score without moving all of them. But it does save you from showing the device multiple times. It's a hack, but it's there.
Yeah, I suppose that's what I'll do. I would certainly hate to throw up storage selector dialogs for every additional player that signs in.
|
|
-
-
- (4283)
-
premium membership
-
Posts
1.075
|
Re: StorageContainer question, re multiple players
|
mtnPhil: Nick Gravelyn:The sort of "cheat" you can do is to just ask for a profile agnostic save device and store each profile's save there using the profile as the file name. Downside is that the user can't move their individual high score without moving all of them. But it does save you from showing the device multiple times. It's a hack, but it's there.
Yeah, I suppose that's what I'll do. I would certainly hate to throw up storage selector dialogs for every additional player that signs in.
You can actually extend this "cheat" a bit to allow players to move their save files individually:
As with the cheat that Nick described, put all save data onto the same profile agnostic storage device. But on that device, do not put them into the same storage container (only separating them with profile specific filenames). Instead, create an individual storage container on this device for each profile (with profile specific container names). That way, each storage container will show up as an individual entry on the Xbox dashboard (in the storage management section), so each container can be moved/deleted/copied separately, but you still only need to show a single storage selector dialog (for the general storage device). And of course you should then give the storage containers meaningful names, so that the user knows what data is contained in each container (i.e. something like "GAME_NAME - General Data" or "GAME_NAME - Data of GAMERTAG" etc.).
So, instead of this:
General Storage Device
|
+-- Game Specific Storage Container
|
+-- Save file for general game data
|
+-- Save file for player A
|
+-- Save file for player B
|
etc...
do this:
General Storage Device
|
+-- Storage Container for general game data
| |
| +-- Save file
|
+-- Storage Container for player A
| |
| +-- Save file
|
+-- Storage Container for player B
| |
| +-- Save file
|
etc...
Note how this differs from the solution where you use actual profile specific storage devices (i.e. showing the storage selector dialog once for each player), because that would look like this:
General Storage Device
|
+-- Storage Container
|
+-- Save file
Storage Device for Player A
|
+-- Storage Container
|
+-- Save file
Storage Device for Player B
|
+-- Storage Container
|
+-- Save file
etc...
Doc
|
|
-
|
|
Re: StorageContainer question, re multiple players
|
mtnPhil:Yeah, I suppose that's what I'll do. I would certainly hate to throw up storage selector dialogs for every additional player that signs in.
Both of the games I've been playing a lot of coop lately, Castle Crashers and Left 4 Dead, pop up a storage selector for each player. Its good enough for those games, why not for you? The reason you should pop up the selector every time is because, frankly, people tend to play Co-op games together.
I go to my brother's house to play co-op games and I take my MU along to store my data. If Castle Crashers just assumed I was using my brother's hard drive, the game wouldn't load the characters with the levels/weapons I'd already earned. In L4D why shouldn't the game check my MU so it knows I like my vertical setting standard even though my brother plays inverted? But all these situations work perfectly whether I'm there, he's here, or we're both somewhere else.
By their definition, multiplayer games are the kind of games people going to play with other people, which means its even more important that the data works the way I want it to no matter whose Xbox I'm plugging my MU into. Don't make a multiplayer game and then punish people when they go out and find people to play with.
|
|
-
-
- (637)
-
premium membership
-
Posts
483
|
Re: StorageContainer question, re multiple players
|
Hmm, strange... I couldn't get Castle Crashers to show any device selector at all.
|
|
-
|
|
Re: StorageContainer question, re multiple players
|
Device selectors are not shown if you only have one device plugged in. The callback method fires immediately using the one source.
|
|
-
-
- (12538)
-
premium membership
MVP
-
Posts
8.749
|
Re: StorageContainer question, re multiple players
|
MrLeebo: mtnPhil:Yeah, I suppose that's what I'll do. I would certainly hate to throw up storage selector dialogs for every additional player that signs in.
Both of the games I've been playing a lot of coop lately, Castle Crashers and Left 4 Dead, pop up a storage selector for each player. Its good enough for those games, why not for you? The reason you should pop up the selector every time is because, frankly, people tend to play Co-op games together.
I go to my brother's house to play co-op games and I take my MU along to store my data. If Castle Crashers just assumed I was using my brother's hard drive, the game wouldn't load the characters with the levels/weapons I'd already earned. In L4D why shouldn't the game check my MU so it knows I like my vertical setting standard even though my brother plays inverted? But all these situations work perfectly whether I'm there, he's here, or we're both somewhere else.
By their definition, multiplayer games are the kind of games people going to play with other people, which means its even more important that the data works the way I want it to no matter whose Xbox I'm plugging my MU into. Don't make a multiplayer game and then punish people when they go out and find people to play with.
You know, that's a good point. I guess I just never noticed before or never shared a console enough or something. It probably is best to just let everyone pick their own device. The hard part is just making it clear who's doing it when since the actual prompt gives you room for modification to display something like "Hey, player 2 choose your device!".
|
|
-
-
- (637)
-
premium membership
-
Posts
483
|
Re: StorageContainer question, re multiple players
|
MrLeebo:Device selectors are not shown if you only have one device plugged in. The callback method fires immediately using the one source.
I've got two devices. I know they are both working, because XNA games bring up the selector screen :-).
Still Castle Crashers never showed a device selector (but clearly loaded information corresponding to my profile). Maybe it only does that if your profile is on the MU? Mine is on the harddrive.
I even signed in a profile that had never played Castle Crashers before, started playing a game, and still no device selector came up.
|
|
-
|
|
Re: StorageContainer question, re multiple players
|
There are professional games that prompt the user for a storage device every time the user wants to save, there are ones that prompt for every save if there is more than one storage device, and ones that only prompt once per profile (the first time that new profile saves or creates a player).
As in many scenarios, much of the complexities of the underlying system are abstracted in the XNA Framework. While this makes programming games much easier, it sometimes also limits possible scenarios.
If there’s scenarios that matter to you or your prospective community games, the best course is to enter those suggestions into the Connect web site. Those get looked at for each new version of the product, and with 3.1 just being released, this is the best time to make an impact with suggestions.
Richard Meyer SDET - XNA Framework\Security
|
|
-
|
|
Re: StorageContainer question, re multiple players
|
I get a device selector pop up at start for any game I play. I guess I had just gotten so used to it that never bothers me. I don't mind because when I play a game like Fallout 3 even the autosave file would keep my little 64 MB card nice and full so I'd be selecting the HD anyway.
Is your profile roaming? Mine is and that would make sense why it behaves that way. I bet a non-roaming profile defaults to its own storage device because logically it can't appear in any other context; a save file separated from its profile would become useless. After roaming the system asks you every time because it doesn't know what device your profile will pop up from next! :-p
|
|
|