Tuesday 30 June 2009

Adding coverage tests

I've created unit test for my new tasks property code last week. It was useful as it helped to find one problem in code with uninitialised variable. Also, I've started some code to create tasks properties widget in Ember (but didn't commit it yet).

The list of things to do is left unchanged: parameters filtering on server side; Eris changes and widget on client side. I want to do some client stuff on this week.

Tuesday 23 June 2009

Task properties are doing something

On last week, Al helped me to fix the “bug” with python script which turned to be not a bug but simple error.

Also I’ve make a new world initialization script (define_world_empty.py) that creates an empty script. It helps to monitor with cycmd without being spammed with all kind of different event from entities and NPCs from default world. While it is possible create empty world with calling some functions from main define_world.py, I think that having separate script to create empty world, is useful by itself, to serve as a template.

Next, Al made a prototype for some core class that would allow to change task property and I added some logic to it. So now, operation for change of task properties is successfully processed, property changed and exposed back to client.

Next things to do on server side, is to implement filtering to let change only allowed properties, and on client side to make changes in Eris and create widget to select task parameters.

Tuesday 16 June 2009

Tasks interface exploration

On this week I did some exploring on what is needed to implement tasks interface along with some learning on usage of cycmd and cypython tools.

I started wiki page with specification of tasks interface.

Then, I was trying to do set operation from python task script, but this run into a bug in current python bindings.

Next, I did some exploring on client side. Added sample attribute to task class and tried to load the class in Ember. Basic code like request a class and print its attributes does the work.

As I see, all task handling on client is done in Eris. So, I need to add to Eris::Task class ability to store attributes. That is adding some variables and logic to fill them in Task::updateFromAtlas().

From server side, as it doesn't use Eris, something in Character use operation handler should be made. And also nasty python bindings should be fixed.

That’s what I’m going to do on next week. But Al should enlighten me on what exactly should be made on server side.

Tuesday 9 June 2009

Tasks interface discussion

Last week we started to discuss how to express user interface for tasks. To recall, we want to provide an UI for task that would allow player to select the parameters of a task and control it.

We want add additional declarations for attributes that are allowed to be changed to existing declaration of task. This data then should be sent to client and used to present an interface when task started.

And that’s what I’m going to do next week: try to manipulate attributes of an existing task, also write draft specification for attributes declarations in task, add some example attributes and see what should be done for it to be shown in client.

Tuesday 2 June 2009

The Void in code space

Not much happened last week in mason game systems from. Better to say, nothing happened at all. But this is expected, as I had exams.

Now, exams are over and I can get back to work on the project. Seeking forward to postponed replies on my mail on expressing interface for tasks.