I’m hoping someone can help me with this. I am experimenting with trying to get webUI to do a multiplayer game. I can sorta get something close, but I am having a very hard time following the code while it processes a command.
Since the multi-connection part of the UI is expecting collab play, webui appears to want to call all commands on the initial actor that was the player at start-up. I can’t find where the actor is set, outside the normal non-webui places. I have gotten some progress, I think, by getting
WebCommandWin.receiveInput to change
gPlayerChar to the actor value of a property I added to the ClientSession object. It’s still calling the action on the original actor though.
Where should I look to find the place where the webUI sets this association. If I can change this on a per ClientSession basis I’ll be in a good place with trying to get a multiplayer game.
If I can pull this off I might be able to make a multiplayer game in the future.
I didn’t know TADS3 could create a multiplayer game… sounds cool. Unfortunately I don’t know anything (yet) about dealing with putting a game on the web…
The WebUI has the capability of multi-connection already, it’s just not accessible by default. But it does work; in its current form, if you manually expose the feature, for collaboration play. There are a couple of display bugs in the code, but nothing that will break a game.
The code already tracks each connection and knows who sent what to the game. I’m working on changing the WebUI to allow each connected player to get a different actor. Each actor will have collaborators as well. I’ll need to fix the menu system to be multi-player aware and fix a display bug in the process. I’m sure I’ll find other changes that will be needed as I explore.
I’ve found out it’s a more involved process than I thought. It does look like it’s possible to accomplish.
Good luck, it sounds really cool… it’s way over my head at this point in my programming life…