added to ssh server
8
Constraints.md
Normal file
8
Constraints.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Constraints
|
||||
This is a table of constrains / user requirments to make this game function.
|
||||
|
||||
## Terminal
|
||||
| Name | Constraint |
|
||||
|:----:|:-----------|
|
||||
| Terminal Size | 160x70 |
|
||||
| Font speck | UTF8 |
|
||||
@@ -12,6 +12,18 @@ So, doing some research on how this. The best concolusion for this is a
|
||||
transactional server. This means that it is more about "playing cards" then
|
||||
then like updating a game for a fps or something.
|
||||
|
||||
These transactions can range between:
|
||||
- Entity List Transactions
|
||||
- Entity Transactions
|
||||
- Map Transactions
|
||||
- Player Transactions
|
||||
|
||||
All transactions are just packets that get sent to the client to the server or
|
||||
vice versa. A tranaction is anything that needs to be synced between the client
|
||||
and the server. A good example on how this looks is like a command structure.
|
||||
If an enemy wants to attack a player it will make a **attack transaction**.
|
||||
This transaction will be sent to the client to perform this action.
|
||||
|
||||
## Transactions on a packet level
|
||||
I was doing some thingking about the transactional system and it's like playing
|
||||
cards. As you place a card and it gets checked if the card is possable to play.
|
||||
@@ -19,17 +31,33 @@ Then if so, then, relay that command to the other clients. And now what dose tha
|
||||
look like on a packet level.
|
||||
|
||||
```packet
|
||||
|
||||
# entity transaction
|
||||
int id, int action, int argSize, args....
|
||||
|
||||
```
|
||||
|
||||
So for every entity this is what the packet looks like.
|
||||
|
||||
The packet consists of a id, action, argSize, and args. The id is refferanceing
|
||||
the **entity** id on the server. *This id is reflected on the clients*. The
|
||||
The packet consists of a id, action, argSize, and args. The **id** is refferanceing
|
||||
the entity id on the server. *This id is reflected on the clients*. The
|
||||
**action** is is the action id of that entity. This could be a attack command.
|
||||
or just a simple move command. But all the server dose is just prosses these
|
||||
transactions see if they are valid, then, relay the transactions to the other
|
||||
clients.
|
||||
|
||||
---
|
||||
|
||||
## Transaction Path
|
||||
This is the path of transactions that need to accure for everything to run
|
||||
properly.
|
||||
|
||||
```
|
||||
Server <map data> -> client
|
||||
Server <entity data> -> client
|
||||
Client <entity data> -> Server
|
||||
```
|
||||
|
||||
The Server needs to accept and send entity data.
|
||||
The Client needs to accept and send entity data.
|
||||
The Client needs to accept map data from the server.
|
||||
|
||||
Reference in New Issue
Block a user