Monday, January 14, 2008 6:34am
As I suggested last week
, I have been seriously considering the need to rewrite the client, and this week I went ahead with that proposal. Yes, it is a step backwards as far as functionality, but with my experience with Toi and from what I understand of the new client, I think I can get this done pretty quick.
As always, I am using an iterative approach to planning the project, and it makes sense to restart the numbering here and call this 'iteration 1'. The goal of iteration 1 is to create a solid rendering engine and integrate our user interface
system on top of it. This week, I was able to get most of the graphic rendering features completed, and can render simple textured 3D objects.
Weekly Progress Charts
I'm going to try a little experiment here, and introduce my development log into these blog posts. This is a bit of information I keep personally on the work I'm doing, and while a bit dry, I think it should act as a fairly good indicator when it comes to progress for each iteration.
|Development Log - Iteration 1|
|Actual Work Hours:||15||15|
|Work Item Hours:||20||20 of 49 (41%)|
|Work Items:||56||56 of 63 (88%)|
As this is the first time I've displayed this chart, let me explain what the numbers mean a bit. The first row, actual work hours, should be fairly obvious, it's the actual number of hours I spent working on Antilia this week and throughout the iteration.
The second row merits a bit more explanation. Each iteration is broken up into a list of work items, and for each work item I estimate how long it will take. In the case of this iteration, I have identified 63 work items thus far (and this number may change a little bit throughout the iteration as new work items are identified). Because I am always a bit off on my estimate, this column tracks how far I am based on how much of the estimated work time is complete. So, the final number on this column (41% this week) is the best estimate really as far as how close I am to competing this iteration.
The final column indicates how many items remain on my to-do list. This iteration was a little strange because creating the rendering engine, there were a lot of small identifiable tasks that took 15 minute each (which is why I was able to complete so many this week). As you can see from this week, work items are not a good indicator of how far along the project is, because they very so much in size and complexity. The remaining 7 work items all require several hours each, and indeed, add up to more development time than the previous 56 combined.
Long Term Plan
Of course, the point of this re-start was so that I could get a better handle on the system architecture and form a solid development plan, so let me do a quick run-down on the future iterations as I am currently planning. Naturally, the further out into the future we go, the less certain things are.
- Iteration 1 - Create a new rendering engine and integrate GUI.
- Iteration 2 - Create a new seamless terrain and cavern systems
- Iteration 3 - Create new editor tools
- Iteration 4 - Create new server, sky rendering, other loose ends
- Iteration 5 - Put all the pieces together, create the playable test platform.