2013-02-28

Weekly update MS04x10

I started working on doors but got a little bit distracted by both not Dragontorc and Dragontorc related things. One of distractions was finally locating and fixing crash that was happening on one of machines I work on. And I think that it was good idea to do so (few computers with different OSes installed). Strange thing is that it should happen on every machine but on this particular one there was 100% repro. But that crash is fixed and that was only one that I am aware of and it was caused by pretty dumb thing I did (for any programmers, especially vala programmers, owned object was created and stored in weak pointer and I have no idea why I made it weak anyway).

Another thing that distracted me was handling of logs and screenshots (I have no idea why I didn't do that earlier) and adding "dev tools". First one is to export templates for door graphics.

And other things I did were related to doors and to room generation but nothing new to be shown yet. I hope that during weekend I will finish doors.

Thing that worried me a little is that I want to add many more things and while I am tempted to do them immediately, I am not going to do so. Unless of course I feel/think that I need something already. Otherwise I just take strategy of small steps. I have clearly specified goals and I am getting there with small steps. Some of the things I refactor while I work on them but some I leave for future.

There's one more thing I'd like to cover now.

I am starting to consider releasing builds, so people can test them but as some of the things are already functioning but they are just pieces that are not exactly glued together, it could be quite disappointing experience for some of people expecting playable game. And that keeps me from releasing such builds. I am not worried about leaking, using them as early game, as this ain't game yet, but probably I will still add some simple mechanism to allow playing just in specific framework of time and release new build every month or so. And on the bright side, I'd love to see what some of the people would do with modding system, even without any documentation - but I think that I should write manual anyway, at least for some of the things (AI BASIC for example).

Any suggestion about tools/solutions for doing that? This is something that is not taken straight from code and I am not even thinking about creating separate documentation for source code (although I try to comment as much as possible and many things have ideas and processes described anyway, so that's covered). I am talking about manual for modders. Wiki?

2013-02-20

Weekly update MS04x09

I was sick for a week and occupied with few other things and I'm sorry for that.

Recently I added room generator that takes various pieces and puts them together to form a room. At the moment there are just pieces for corners and walls. There are no doors visible and this is next thing on my to do list. Doors will be a little bit tricky, as they are holes in walls with object going through them - even if actors move to different room when they haven't even passed the door line, they sometimes still should appear partially obstructed by walls. But actors aren't biggest problem and for now I will just ignore that issue. Bigger problem are wings of doors. I don't want users end up with creating same graphics for animated doors on left, back and right side walls. And there are also hinges and doors opening into and out the room which would just end up doing enormous amount of graphics. What I thought is that it might be easier to create graphics for door frame, hole and wing of door separately. Why frame and hole separately? Because of the way I want to display objects on other side of door. Things should be rendered in this order:
  1. Walls.
  2. Door frames.
  3. Door holes with objects that are going through them or are on the other side of them.
  4. Objects inside room.
There are many more planes/layers and it might seem strange to have them separated this way but this gives more control over what is rendered first and what next.

Anyway, this is just a plan for next couple of days which will also include type for door, code to handle various door types.

And here's a screenshot of how does it look now, mind that all graphics are just test stuff (taken from original one or done quickly to test various functionalities).


Rooms are quite tall, the ceiling should be not too much higher than the books on the wall. But for some odd reason I decided to have walls this tall. Well, temporary graphics.

2013-02-04

Weekly update MS04x08

Not too much happened last week, again. I moved parts of code here and there to have it cleaner and more organised.

And I started to add room generator that should put all room pieces together to create a room. User should be able to add any piece, describe how does it connect to other pieces and program will use it when generating room. I plan for future to add user-defined blocks of pieces that can be used together with single pieces.

I also tested plane to display objects in foreground and used different scaling values for both axes. In original Dragontorc I think that there was single scale which resulted in objects in foreground going too low when Maroc moved further into room. Now it looks better I think. As soon as I finish room generator and add few custom pieces, I will provide video.

And while we're here with different planes, there is also background plane that can add perspective in "rooms" that are open spaces - forests, deserts, etc.
I only need to allow users to modify scaling for different regions.

And I added debug rendering that will be useful both for me and for users creating custom content. And I already solved a bug with it related to projectiles hitting objects.