Groups and macro-orders proposal
Posted: Sat Jun 12, 2004 2:48 am
I thought of posting this in the programming forum, but the topics there were more about the implementation than the design, and this post may be considered a crazy idea. The vacabulary used should appeal to the programming crown, but still written with plain english syntax.
I would ask programmers to comment on what is already done and how and what wasn't done and why.
I will update this thread with clarification, but feel free to ask and comment. The idea is early in development, there may be conflict in the vocabulary.
Groups and macro order:
-You can give macro order to groups
-everything belongs to its self-group as soon as you give the order to create the entity (order colonisation, ship building, group merging)
-Groups are destroyed manually.
-Tools are provided to assist mass destruction of groups (Destroy all empty self-group?)
-You can replace/merge the orders of an empty group to another group (including self-groups).
macro order include:
-copy orders (from another group)
-merge orders
-join/create a group
-clear orders
-wait x turn
-wait for turn x
-move (does pathfinding)
-explore (move to nearest unknown system)
-patrol (go to nearest unfriendly/hostile ship
-colonize
-change encounter behavior
-add/reset/remove production
-change focus
-macro orders apply mini-order to every entity. The game apply the mini-order to the world.
-macro order are or are not be repeated upon completion
-macro order may applied once (it assign mini-order to self-group but doesn't reapply them automatically).
-macro orderer reports the applied mini-order
Tools are supplied to create groups.
every groupable object contains:
- mini-order list
- a group (which is a self group)
a group contains:
- group membership (ordered) list
- 4 macro-order lists: outertop, outerbottom, innertop and innerbottom
mini-order compilation:
- 2 temporary macro-order deck (double ended queue) (top and bottom) are created.
- create a temporary list of group that the groupable object is member of, starting with its self group, then its first membership group in the list, that group's membership list first item, etc.
every time a group is added, it is checked that the group isn't alreaady in the list.
- the group order queues are added to the temp queues that way, starting with the last group:
-outertop at the top of the top deck
-innertop at the bottom of the top deck
-innerbottom at the top of the bottom deck
-outerbottom at the bottom of the bottom deck
- the 2 temp queue are merged (top on top of bottom) in a master macro-order list
- the macro order are then processed from the master macro-order list into the mini-order list
I would ask programmers to comment on what is already done and how and what wasn't done and why.
I will update this thread with clarification, but feel free to ask and comment. The idea is early in development, there may be conflict in the vocabulary.
Groups and macro order:
-You can give macro order to groups
-everything belongs to its self-group as soon as you give the order to create the entity (order colonisation, ship building, group merging)
-Groups are destroyed manually.
-Tools are provided to assist mass destruction of groups (Destroy all empty self-group?)
-You can replace/merge the orders of an empty group to another group (including self-groups).
macro order include:
-copy orders (from another group)
-merge orders
-join/create a group
-clear orders
-wait x turn
-wait for turn x
-move (does pathfinding)
-explore (move to nearest unknown system)
-patrol (go to nearest unfriendly/hostile ship
-colonize
-change encounter behavior
-add/reset/remove production
-change focus
-macro orders apply mini-order to every entity. The game apply the mini-order to the world.
-macro order are or are not be repeated upon completion
-macro order may applied once (it assign mini-order to self-group but doesn't reapply them automatically).
-macro orderer reports the applied mini-order
Tools are supplied to create groups.
every groupable object contains:
- mini-order list
- a group (which is a self group)
a group contains:
- group membership (ordered) list
- 4 macro-order lists: outertop, outerbottom, innertop and innerbottom
mini-order compilation:
- 2 temporary macro-order deck (double ended queue) (top and bottom) are created.
- create a temporary list of group that the groupable object is member of, starting with its self group, then its first membership group in the list, that group's membership list first item, etc.
every time a group is added, it is checked that the group isn't alreaady in the list.
- the group order queues are added to the temp queues that way, starting with the last group:
-outertop at the top of the top deck
-innertop at the bottom of the top deck
-innerbottom at the top of the bottom deck
-outerbottom at the bottom of the bottom deck
- the 2 temp queue are merged (top on top of bottom) in a master macro-order list
- the macro order are then processed from the master macro-order list into the mini-order list