Get the latest version right here:
Subscribe to BlenderPeople Development News RSS Feed here:
Now follows old stuff from the original post…
First - I’m moving discussion of this from the blender.org boards to here. So, anyone who’s been following this over there - welcome! I just couldn’t stand the forum errors on long threads there anymore. Ack.
Here’s a link to the latest animation:
The camera was stuck to one of the red team Actors, on assault against a defending Blue team. BTW, I will not be posting future updates on blender.org. I’ll put them right in this thread.
Everone else can bail here, but if you’re interested in the progress report and to do list, read on…
Did a complete rewrite of the code. It is now significantly faster. It was calculating a full frame of motion for over 140 actors in less than one second on my Athlon XP1800 .5GB RAM machine.
Fixed a bug in the Python API source, allowing the generation of smooth IPO curves from Python. The calculated motion frames can now be used as keyframes, every 3, 6, 12 or whatever real frames. So it only took one second to calc the motions for 12 full frames. I might try a 1000 actor sim this weekend. We’ll see how it scales.
Code rewrite made it easy to add new kinds of orders, so I added three new types: StrictMarch and StrictDefend, which are like their normal versions, but actors will ignore enemies unless directly attacked. Also added RegroupMain and RegroupCommander, which cause forces to regroup to a central location or their heirarchicial commander, respectively.
Rewrote the code for barrier avoidance. It still needs work, but it’s much more efficient and intelligent now.
The big one: DIRECTIONAL AWARENESS. Actors are now directional creatures. Before, they evaluated everything on a global basis. Now, they make their decisions based on what they see in front of them, with user-definable fields of vision and turning speeds. In the video, you can see them “looking around” for enemies to attack. Actors also “hear” in a limited radius, so they are aware of crap that’s going on behind them, just not so much as the stuff in front of their face. Came up with solutions to some nasty over-rotation problems, so if you’ve been working on a script and your rotations get out of control once they go over 360, pm me and I’ll give you my solution.
TO DO LIST:
Testing on each of the Orders, to make sure they do what they’re supposed to, and that Actors ignore them when they’re supposed to. For documentation sake, I’ll make a little video of each Order type in action.
DB creation code. All you will have to do is have mySQL installed and Blender will create the appropriate databases and tables for you, if they don’t already exist.
Decide how to handle verticle orientation and include movement constraints for slopes on terrain.
Once that’s done, then the whole package is 1/3 finished. Another 1/3 is the script set that will link NLA info with Action logs generated by THIS part of the script, creating the character animation to go along with the keyed motion. The other 1/3 of the project is GUI and documentation. Anyone who likes this and has done a GUI before, please contact me. I need your help.