Home » Stars! Clones, Extensions, Modding » Stars! Nova - Development » Orders
Orders |
Wed, 06 July 2011 23:03 |
|
Aeglos | | | Messages: 142
Registered: May 2011 Location: Chile | |
|
The great Id refactoring is practically done, and the Intel file is well underway to being properly structured.
So, let's talk Orders now; Let's clear some ideas for it's future restructuring, if any.
Right now, the Orders file is nothing more than an updated State; it sends the state read from the intel plus any changes the client made. I was under the impresion that the idea was to change this to send some kind of order commands that the server would process, instead of merging each client's state to it's master copies and then process fleets, stars, etc.
Right now the server keeps a record of each client's valid state for the start of each turn. Due to this, It's easier for the server to check for errors and cheats than before, but it's not flawless. Checking fleet positions for example; it can be done but it would be awkward to loop all fleets and compare their coords for each player when reading their turns. We would need to do this for stars also, and for almost all of their fields, else a client can silently modify some data from objects and it would be merged into the server's master copies.
Ideally the client would send only commands like "add waypoint to fleet #xx", "remove item from star #xx's queue" or "activate mass driver on star #xx". There should be a dinstinct and finite number of commands a client can send... in fact, the amount of commands for Stars seems to be very small. I can think of this command "types":
- Add/remove waypoint
- Merge/split manually
- Modify cargo manually
- Add/remove item from production queue
- Mark/Unmark a star for leftover resources only
- Activate Mass Driver (could be waypointed since starbases are fleets)
- Change research target
- Change research budget
- Add/edit/remove a design (edit could be a remove-add combo).
- Add/edit/remove a battleplan
- Change a relation
And that seems to be it... I can't think of anything else. So the list is pretty small to be passing the whole state down to the server.
This could easily be achieved with a bunch of concrete order implementations that inherit a base Order class.
Thoughts?
[Updated on: Wed, 06 July 2011 23:17] Report message to a moderator
|
|
|
|
|
Orders
By: Aeglos on Wed, 06 July 2011 23:03
|
|
|
Re: Orders
By: Daniel on Thu, 07 July 2011 04:57
|
|
|
Re: Orders
By: Aeglos on Thu, 07 July 2011 05:18
|
|
|
Re: Orders
|
|
|
Re: Orders
By: Aeglos on Thu, 07 July 2011 06:31
|
|
|
Re: Orders
|
|
|
Re: Orders
By: Aeglos on Thu, 07 July 2011 07:02
|
|
|
Re: Orders
|
|
|
Re: Orders
By: Aeglos on Thu, 07 July 2011 07:55
|
|
|
Re: Orders
|
|
|
Re: Orders
By: Aeglos on Thu, 07 July 2011 08:17
|
|
|
Re: Orders
|
|
|
Re: Orders
By: Daniel on Thu, 07 July 2011 10:14
|
|
|
Re: Orders
|
|
|
Re: Orders
By: Aeglos on Thu, 07 July 2011 14:39
|
|
|
Re: Orders
|
|
|
Re: Orders
|
|
|
Re: Orders
|
|
|
Re: Orders
|
|
|
Re: Orders
By: Aeglos on Wed, 20 July 2011 18:43
|
|
|
Re: Orders
By: Musmuris on Fri, 19 August 2011 16:06
|
|
|
Re: Orders
By: Daniel on Fri, 19 August 2011 17:54
|
|
|
Re: Orders
By: Musmuris on Sat, 20 August 2011 04:34
|
|
|
Re: Orders
By: Aeglos on Sat, 20 August 2011 02:53
|
|
|
Re: Orders
By: Daniel on Wed, 22 February 2012 03:12
|
|
|
Re: Orders
By: Daniel on Sat, 25 February 2012 00:04
|
|
|
Re: Orders
By: Daniel on Sat, 25 February 2012 02:38
|
|
|
Re: Orders
By: Daniel on Sat, 25 February 2012 05:46
|
|
|
Re: Orders
By: Aeglos on Sun, 26 February 2012 20:10
|
|
|
Re: Orders
By: Aeglos on Tue, 28 February 2012 03:36
|
|
|
Re: Orders
By: Daniel on Fri, 27 April 2012 17:21
|
|
|
Re: Orders
By: Aeglos on Fri, 27 April 2012 18:42
|
|
|
Re: Orders
By: Aeglos on Sat, 28 April 2012 21:58
|
|
|
Re: Orders
By: Daniel on Sun, 29 April 2012 03:59
|
|
|
Re: Orders
By: Aeglos on Sun, 29 April 2012 13:11
|
|
|
Re: Orders
By: Daniel on Fri, 11 May 2012 21:41
|
|
|
Re: Orders
By: Daniel on Sat, 12 May 2012 01:09
|
Goto Forum:
Current Time: Mon Jun 03 18:35:10 EDT 2024
|