2012-06-25

Weekly update

During three following weeks I will have to work on something else (book article) so probably updates will be very small. This week's update is small for other reasons which also may affect few following weeks.


I only did some small refactor and work on making multithreading safer and in more control - separating internal AI logic from interactions.

2012-06-17

Weekly update

I didn't do a thing during last week.

Point of having "weekly updates" was to make me do at least something every week, but I knew that this had to happen. At least I have a good excuse:

I took a week off, so I could spend some time with my wife and that we could do some stuff that we had to do (lots of various little things, mostly related to house). And we could spend some time together. I guess that we should do this from time to time.

But have no worries, I still want to work on Dragontorc and while I didn't do anything, I still was thinking a lot about it and planning few things.

2012-06-10

Weekly update

Finally I had more time this week! So here's the list:
  • added movement styles - they lay between locomotion component and movement module acting as a layer that modifies velocity (works great for both AI and player - created test movement style "drunken")
  • added (well, still adding) actions - very similar to behaviours but without tree structure and comparing to behaviours, they are responsible for actual physical activity of an object. Behaviours are just logic, issuing AI messages, requesting movement, etc. but can't modify physical world. Actions can. And actions can also be triggered by player, while behaviours are just for AI.
  • some work done on object/projectiles existence (objects may go into afterlife, taking their physical appearance out and leaving just basic info about them, so living objects may still reference them in their logic, etc)
  • unified anchor/custom anchor for appearance and created simple hierarchy: appearance -> appearance atom -> bitmap, so defaults are provided at top level and may be overriden while going down (bitmap being at the bottom).
  • some refactoring (most important: removal of code block executions is aware if given CBE is currently advancing or not and handling such situation)
In this week I hope to finish actions and do some more work on AI Basic as there are quite few important commands requiring implementation, so I could finally end this milestone ;)

2012-06-03

Weekly update

During week I didn't do much, but luckily, when weekend came, I had some free time to do a little bit of work, so here we go:

There are now projectiles, flying around, hitting stuff etc (not doing any damage yet). I also added touch flags so it is now possible to touch specific objects but not collide with them (as it is case for wizard's astral projection and some projectiles). And because I have now first objects that can be destroyed, I had to solve the issue of advancing objects while some of them may disappear.

And I had time for some thoughts about threading. I don't support threading at the moment but I will surely do for at least some stuff. I'd like to have AI and Appearances multithreaded as any action in them is limited to this single object and if there is something that may affect other objects, such things like messages between AIs might be/are queued. Physical activity, such as movement, interactions, everything that may not be confined to a single object or can't or shouldn't be deferred, will be singlethreaded. Of course things that are singlethreaded should be limited to as small number as possible and should be quick as possible.

During next week I hope that I will bring projectiles to some usable level and I will start working on actions. And maybe think about something that could handle health, mana etc. I don't want to have such things for Dragontorc, but I'd like to have an option in code for that.