-
Notifications
You must be signed in to change notification settings - Fork 10
Feature Proposal: Ingame Chat #57
Comments
What sort of actions do you think should be able to be performed via chat commands? |
The actions that should be able to be performed via chat commands should be similar to what the game Minecraft has. To access a command, there should be a prefix like ! or / followed by the command, then the values of what the command takes in. The scripting api that SoS already has should be able to extend this command system. With the chat system being placed in, I think the chat system should be put into it's own folder. As I know the chat system can be put into one script for now since how easy it is in Godot to send information to all clients. The sort of actions that I think should be able to be performed are teleport commands, setting structures, and admin commands like muting, kicking, or banning. |
The chat commands are not necessary. Everything can be implimented directly in the console (which makes it a great deal simpler all around). If we create our own chat system should it prioritize ensuring that all clients see the chat log in the same over or should it prioritize low latency? I'm of the opinion that a few hundred ms of latency between sending a message and seeing it appear is not noticeable and that chat order is more important but others may disagree. In addition should it be persistent? If so should it be persistent between server restarts or just between disconnections/connections? These are the overall goal decisions which should drive the implementation. If I missed anything do let me know 😄 Cheers! |
I think using simple protocol using just RPCs. I don't think it's hacky at all when using an ircbots or webhooks to communicate outside of the game. As I know most games that have a chat system are using simple protocols. Before the player could use the chat system, they first have to have a verified account before joining the server. Persistent chat is kind of tricky because mods may implant their own chatting system (for what ever reason), so what I'm thinking is having persistent chat as an option. Also we should probably make it distinguishable if the player joins a different server. |
Why should players have to create an account anywhere but the server they are joining? One of SkyOfSteel's goals is to be as decentralized as possible and to allow as much freedom to server owners as possible.
Are you referring to making sure that you can recognize a player who is on multiple servers that you are on even (which could be encumbered by having different nicknames on different servers)? |
I thought that you were saying that we needed an account system earlier for a chat system, sorry about that lol. Also what I meant was by making it distinguishable was that making the chat log show where the chat is coming from. For example after when you leave and join another server the chat history is ended with this text for an example |
I was saying that if we were to use a preexisting chat protocol we would have to integrate into SkyOfSteel however that system handles authentication. What I was referring to by persistence is having the server store the chat log and resend it to new clients as they connect as opposed to them only being able to see the messages sent after their connection. |
Oh huh, that would be a good idea to send the chat log to the clients. There should also be an option for the server hosts if they want to turn it off. |
Agreed |
A way to get this UI working is to have a preview only window of the chatlog in the HUD and pressing the chat bind would open a menu similar to the console or pause menu in operation. Closing the chat window will then return to the game just like how closing the console or pause menu do. |
Sidenote: This closes #50 when completed |
Closing due to lack of activity in favor of #50 |
We should add ingame chat so players can communicate to each other via text. Also I think another great feature would be chat commands!
The text was updated successfully, but these errors were encountered: