semi-random worker idle anymation
We want workers to do more than just stand around but have some idle animations. there are several ways to implement this.
discuss on the forum http://
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Bug #536505: Animated Citizens/Carrierers | Fix Released |
Bug #553180: The engine should support multiple idle animations for carriers | Won't Fix |
Sprints
Whiteboard
Based on what i've been reading on the forum/irc. The following is only an suggestion. please leave feedback but don't kill me because it might or might not break compatibility
Problem: we want fancier animation. including idle workers who start playing with a jojo for example.
Proposed sollution:
Although graphic programs are stored along with worker/building types they should be loosely connected. meaning any chance in graphic definition never should break any savegame, gameplay or even network games
Animations should be converted to mng files. Mng files have the advantage of
- select how long each frame will be displayed
- faster load times
- lower total image size
- a (build) script can be generated to convert current png animations to mng
production programs can have the following (graphic) options (comments between () not included but just as explanation)
graphic=someprefix (display a single png file, called someprefix.png no looping, nothing fancy)
graphic=someprefix (display an animation, called someprefix.mng, and loop this animation)
graphic=someprogram (more advanced graphic program)
hotspot=int int (only valid if graphic is a png or mng file, to center the graphic)
depreciate the old pics directive
note: the detection if the prefix refers to a png or mng file or a program name is done automatically
if a directional component is needed the file will be called someprefix.
Animation program can be deffined as follows
[program name]
graphic=
loop=int [x|s] (s is loop int miliseconds x is loop x times, x only valid with mng files
hotspot=int int
playFX= soundfile (play corresponding sound file while this animation program lasts)
nextstate=program[ program]* (one or more animation programs. the next state will be choosen at random from one of these programs)
if a worker changes production program the graphic program will be instantly aborted.
when an production program starts the graphics program (if specified) will start at the beginning as wel so the timing can be matched with the time it takes to do the work
----------------
If the ideal carrier moves alone the path, then its not a good thing because as goods comes to the flags he may not in a fair position to collect them and will be more inefficient.
What in my mind it that without moving alone the path here and there (so no need of the direction) he will do small actions at the spot.
i) kicking a stone on the path
ii) sit down and stand up
iii) do exercise (like we do in a drill display :))
iv) yawning
v) Scratching the leg
etc.
therefore the conf file needed to be something like
[idle]
//as normal
//then
[idlefx]
dummy_i_??_??.png
sleep=1000
then the images can be like,
dummy_i_00_00.png
dummy_i_00_01.png
dummy_i_00_02.png
dummy_i_01_00.png
dummy_i_01_01.png
dummy_i_01_02.png
what do you think??
nha: I don't like the new type of animations just for idleness. We can handle this by creating an "idle" program which chooses animations accordingly and can do other things as well, as desired.