(2017-10-12, 20:13)grumpygamer Wrote: Quote:How does this scale to 8, or even 16, players?
How does a SNES (for example) do that? Or are you talking about an arcade machine?
I'm talking about any game. Arcade machines. I think Genesis supports two 4-player hubs. If we hard-code a 4-player limit now, it will be prohibitively expensive to change this later.
(2017-10-12, 20:13)grumpygamer Wrote: Quote:How does the player choose which virtual hardware is in use? Some SNES games react differently depending on if a Multitap is attached or not. Which means that one player can have multiple virtual devices (multitap + controller for SNES, or joystick + mouse + keyboard for DOSBox).
So you're saying I can add a virtual controller to the SNES emulator and map it on to a physical controller? Or to multiple physical devices?
What's the benefit? It seems such an edge case scenario! Whoever wants to go to that level of sophistication will have the actual machine...
I am quite perplexed about this, but I'll think about it.
I certainly don't feel like it's a priority, but you're boss
Certainly not a priority, but a design requirements nonetheless. We don't have to launch with this feature, but we can't choose an architecture that prevents this, unless we change our design requirements.
(2017-10-12, 20:13)grumpygamer Wrote: Quote:User must be able to map controller to up to three devices at once (mouse, keyboard and joystick)
Not sure why, but ok..
Think about a joystick DOS game that requires the enter key or a mouse action to launch. Omitting this feature would preclude these games. We can certainly do this if we change our design requirements, otherwise we have to support this edge case.
(2017-10-12, 20:13)grumpygamer Wrote: Quote:Dialog must respect both physical and logical topological restraints (see examples of physical topology and logical topology) including hubs and daisy chaining
No clue what this means...
Topology is how things are connected. I've split this into two kinds of topologies:
Physical topology is how devices physically connect to each other. For example, you can physically plug a multitap into another multitap. Physical topology obviously can never change.
Logical topology is what the emulator logic can handle. This is strictly a subset. For example, you can physically plug a multitap into a multitap, but there's no emulator logic that can handle this, so it's not allowed. Logical topology can be different for each emulator and change over time.
Topology is important because it lets us describe things beyond the trivial topology of a direct controller-console connection. Without topology, we couldn't describe hubs or daisy chaining.
We have a difficult job. Our data is described topologically, but we need to hide this complexity from the user. However, the simpler the dialog, the more work needs to be done under the hood. I'm hoping to find a happy medium.
(2017-10-12, 20:13)grumpygamer Wrote: Quote:Dialog must support multiple physical controllers per each virtual controller (allows turn-based multiplayer e.g. Monopoly and some multiplayer handheld games)
Is this the same as the one above: controller mapped to 3 devices at once?
No, this is exactly the opposite - 3 physical controllers mapped to a single device. The inputs are multiplexed together so even though it's three people, it looks like a single player to the emulator.
This design requirements came from a forum request. Like all design requirements, it can be dropped, but this is something we need to decide to do.