This commit is contained in:
Albin Corén 2018-01-06 08:50:01 +01:00
Родитель 4a280c08e3
Коммит 9321efe569
1 изменённых файлов: 6 добавлений и 4 удалений

Просмотреть файл

@ -5,19 +5,21 @@ The project is WIP.
It's licenced under the MIT licence :D
## Features that are planned / done are:
* Object and player spawning (working on atm)
* Object and player spawning (done)
* Connection approval (done)
* Message names (done)
* Replace the integer QOS with names. When you setup the networking you specify names that are assosiated with a channel. This makes it easier to manager. You can thus specify that a message should be sent on the "damage" channel which handles all damage related logic and is running on the AllCostDeliery channel. (done)
* ProtcolVersion to allow making different versions not talk to each other. (done)
* NetworkedBehaviours does not have to be on the root, it's simply just a class that implements the send methods etc. You could switch all your MonoBehaviours to NetworkedBehaviours
* NetworkedBehaviours does not have to be on the root, it's simply just a class that implements the send methods etc. (done)
* Multiple messages processed every frame with the ability to specify a maximum to prevent freezes in the normal game logic (done)
* Built in lag compensation (going to be worked on when all base functionality is there)
* Area of intrest (not working on ATM but it's on the TODO)
* Core gameplay components similar to what the HLAPI offers (but hopefully of better quality)
* Encrypted messages / full encryption for all messages. This will only be avalible for dedicated server use as the dedicated servers will need a dedicated RSA keypair that the clients will have the public key of hardcoded. This to exchange AES keys.
* Serializer
That's all I can think of right now. But there is more to come, especially if people show intrest in the project.
## Indepth
The project shares many similarities with the HLAPI. But here are the major differences:
* The command / rpc system is replaced with a messaging system. You simply call the Send method in the NetworkedBehaviour and specify a name (string), all scripts that are listening to that message name will recieve an update.
The project is not yet very tested. Examples will be created when it's more functional.