this is the original work log that I maintained from may 1998 to january 2000. it's largely self-explanatory, and is included here for... well, for completeness, I guess. sorted from most recent to least recent. this page holds july 1999 to january 2000; archives are also available.

22-3/1/00 Sorted out as much as I can pertaining to my PhD - I will be studying part-time while working at Bungie. I hope to finish some time in early 2002, but we'll see how everything goes.

Everything is finalised now concerning the trip. I'll be flying out on Wednesday, the tickets are here, Bungie will be meeting me at the airport on the far side. I even have a place to stay when I get there!

Sent out a bunch of emails telling people where I'm going and how they can contact me. This will probably be the last update on here; the work log may end up moving to my other website eventually. For the record it is www.finality.net.

21/1/00 Trying to find Geoff so that I can talk about my PhD.

My airplane tickets haven't yet arrived. Hopefully they will turn up on Monday, or else I will begin to get anxious.

20/1/00 Finished incorporating a few minor typographical changes to the conclusion which Geoff suggested.

Printed several copies of the final manuscript, and sent them out via courier to the editors of the IEEE CG&A, which is the journal that I eventually decided to submit to.

For some reason, reporters are calling Geoff repeatedly today, and of course I have to field all the calls. Great stuff.

Transmeta's new Crusoe processor looks very interesting.

Doing a lot of organising files and compressing them ready to be backed up onto CD-R. In total I think I have around 300 MB of stuff to take with me.

19/1/00 Casting around for another good example to use in my Results section.

Time is running out extremely rapidly. The paper hangs together very well in its current state, and if the referees decide that another example is required I will supply one. Looking at the instructions for submission on the IEEE website, and should have everything ready to be sent off tomorrow.

Finished tidying up the paper and wrote an abstract. Just the cover letter to go.

Miscellaneous foolishness is running rampant on the Halo forums at the moment. Good thing I don't have the time to try and follow any of it.

18/1/00 Finished writing the conclusion and almost all of the results. Tomorrow should finish it off completely.

Hapkido restarts this evening.

Bungie released the source code for Marathon 2 today. Unfortunately their FTP server immediately crashed. :)

17/1/00 Getting results and profiling.

Wrote much of the results section and collected a couple of screenshots and timing sets.

GameZone haven't shipped System Shock 2 yet, and that's no fun. I might go uptown and see if there are any computer shops that have it.

All right, so I'm weak, and I bought it. :)

15-6/1/00 Not much, yet.

Played some Myth; our order is now into the finals of the Major League Myth tournament, which will be held next week.

Helped out Troche with his tournament again for a bit.

Making plans for dinner next weekend.

14/1/00 Initial timing tests seem to indicate that my sense for frames-per-second is somewhat optimistic. I thought it was clocking around 5-10fps as a rule of thumb, and it turns out to be only 4. Rats. Time to redefine the problem. :)

Adding a rather useful hierarchical profiler to my code. Mmmm... hierarchical profiling.

Discovered that after I turn off my MP3 player and close down the development environment I actually get 15fps on this particular update. I knew there was something wrong. Heh.

The profiler is complete enough that I can generate some results tomorrow - I have to build another model first, but that shouldn't prove too hard (fingers crossed).

Hmm. How interesting. I hope that this little stunt works.

After talking to Alex, it seems that it may actually be possible for me to head over there very much sooner than I had anticipated.

13/1/00 Final checking of the text of all sections of the paper that have currently been written (everything but Results and Conclusion). Added another figure, tidied up a lot of minor typographical changes.

The next thing to do is gather some results from my code. Started adding some profiling routines that I can use to measure frames per second accurately.

There may be a way to fast-track the visa process, that we're investigating now.

Having trouble getting WINZ to do what I want - they keep losing pieces of information that I give them.

Marathon films are such fun. I wish we could still find people to play it around here. :)

12/1/00 Playing with LaTeX, worked out how to define a new class of floating material so that my algorithms will magically migrate across pages to where they should be.

QT4 is still interacting poorly with my display drivers and requiring restarts in order to watch movies. Argh.

Found an extremely important and relevant reference that I absolutely should not have missed in my previous literature reviews. This is very disturbing. Fortunately it doesn't invalidate any of the work that I've done - on the contrary, it supports several of my basic assumptions - but it's still worrying.

The AOL - Time Warner merger scares me, as it should everyone who enjoys individual diversity rather than corporate homogeneity.

Found a website with some Marathon films on it, so I'm going to download them and see how good these guys are... heh heh.

11/1/00 Wrote up an algorithm for octree construction.

Writing up another algorithm for octree combination... the disconcerting thing is that all of these algorithms are in fact longer than the verbiage that they're replacing. But I guess they aren't as dense...

Noting with amusement as Hamish Sinclair and his pals try to integrate all of the Halo story material into a single coherent whole... heh, even Bungie don't know what's going on at the moment.

Suffered from a lapse of willpower and ordered System Shock 2 over the Internet. I probably shouldn't own a credit card. No expensive lunches for me for a week. :)

The halo.bungie.org forum is a mess right now. I'm basically going to give up on it for a while - there is no signal, it's all noise.

10/1/00 The text for most of the paper is in a very good state now. Still to do: draw one figure, results section, conclusion, look at converting some text descriptions into algorithms.

Built the figure in question. Time to start sketching out the algorithms.

Somehow I seem to have fallen into the role of resident graphics programmer on the Core's Halo forum. This is probably a bad thing, seeing that people now expect me to answer questions about Halo theories - but I can't answer most of them. Well, I'll keep trying to skate the line for a while at least.

Ran into John la Rooy while wandering around town and had a chat to him about how everything is going at Allied Press. Sounds like it's the typical barely-constrained chaos that most production systems turn into. :)

8-9/1/00 More proofreading etc... not as much as I'd like, but it is the weekend.

Went to see Sleepy Hollow at the movies (for a second time; I saw it in Chicago about a month ago). It doesn't stand up to a second viewing as well as I'd thought, unfortunately.

Playing Myth a bit - we won our MLM match and then suddenly Phod and I discovered that Odin had entered our order into another tournament without really telling anyone. Not such a good move. Still, we played a few of the games for fun - against a thoroughly reprehensible bunch of spoilt kids. I also helped out the tournament organiser a bit, but I doubt that even a hundred people available to host games would have been able to save the organisational disaster that it turned out to be.

7/1/00 Geoff likes the text of my paper a lot better now. There are still several issues to resolve, but I should have a submission-ready version when he gets back on the 18th of January.

Didn't get up this morning to watch Bungie TV - too tired. Besides, it was rather information-free yesterday.

6/1/00 Rearranging figures, had a few good ideas that should improve clarity.

Printed out a new copy of my paper for Geoff since he hasn't read the one that I gave him two weeks ago, and a few things have changed since then.

The text is a lot more solid now.

Watched Steve Jobs' Macworld keynote speech via the streaming video feed. It was two hours long... interesting. He unveiled OS X's new user interface for the first time, and I have to say that it's not bad. There are some very, very nice ideas there but there are also some completely awful ones. I truly hope that they don't make it unusable for professional users like it currently looks. Animated buttons and swooshing windows are cute for only so long. :(

Apparently the INS sent their 'Notification of Action' today, so they have received my application for a work visa and started processing it. I should know in 40 days or so whether or not it has been successful.

Watched 'Bungie TV' webcast live from their booth at Macworld. It was pretty cool. :)

5/1/00 Back! After a rather frustrating hiatus - it seems that our university's Y2K plan included switching off all electronic equipment on campus on the 31st of December and not turning it on again until the 4th of January. Good one, guys. I just wish I'd known beforehand.

Trying to put finishing polish on my paper and coming up with more stuff that desperately needs fixing.

Settled in at my new (temporary) place, after some fun moving friends around over the New Year. Welcome to the 21st Century, I guess... woo. Still, I had fun on New Year's Eve, and I guess that's all that counts. :)

Solved some ugly driver conflicts between my new GeForce card and QuickTime 4.

Played Myth for most of the evening... fun fun fun.

30/12/99 Nothing.

Liquidating some assets of mine, reducing the amount that I have to move tomorrow.

29/12/99 No work today.

Spent the entire day cleaning our flat from top to bottom and back to front. Ick... but it had to be done.

28/12/99 Got a bunch of feedback from Geoff, or someone else who left a proofread copy of the paper on my desk while I was away. Time to start looking at implementing it.

The university is rumored to be shutting down totally over the Dec. 30th to Jan. 5th period. I have no official knowledge of this, so I'm just going to keep on working right through.

Christmas was very pleasant. This week I have to start concentrating on moving stuff to my new flat and preparations for our New Year party.

I really have been shirking my bungie.net admin duties, so it's time for a bit of that today.

Thinking about setting up a personal website once I get enough money to afford a domain-name.

Played an awful lot of Myth.

23/12/99 Reworking figures for the paper. Everything is done except the results section, pretty much.

I'm going home to my parents' place for Christmas now. No updates for a while.

22/12/99 Got what may be a final draft of the paper, minus a small amount of results and a few figures.

Helped MCD do a little more on the Mac port of PluginViewer, since Shawn has dropped off the face of the planet.

id Software released the source code to Quake 1 today under the GNU Public License, so I downloaded that. God, it's hard to read. But there might be some gems in there anyway, so I'll probably slog through it. :)

21/12/99 Lots of work on the paper.

Apparently there are some staffing changes on the project at Bungie that I'll be moving to. My position may be a little bit up in the air as a result of this.

Eek - I thought email was being forwarded to me here. Apparently not, and I had a big backlog up there. Oops.

Heh - a 'little bit' up in the air. Time for some very deep thinking.

20/12/99 Alter, proofread, rinse, repeat - getting close now.

Mike has a spare GeForce card (!!!) so I'm installing it in my machine. It should accelerate my PhD work nicely.

After about an hour of driver installation, it works fine. Direct3D, OpenGL and everything are a lot faster. Unfortunately it doesn't seem to support one of the OpenGL options that my modeller uses, so I will have to go in and fix that code. :\

Finished another alteration and proofing cycle, hopefully one of the last on the sections that I'm currently working on. (Sidenote: How depressing, my paper has separate sections to work on. It's too long! Wol!!!)

Looks like the Badlands server is pretty much dead now. Shame. At least it'll help my productivity.

I was wigging for much of the afternoon, because Bungie's mail server has fallen over mysteriously. All of my messages are bouncing with 'unknown user' errors.

18-19/12/99 No work this weekend.

More Myth; played in the first round of the MLM playoffs, which we won. The next round isn't until well into January.

Had some very productive discussions with Jaime and others concerning the Halo ranking system.

Planning and budgeting for my move to the US - I think that I can do it, but I'm going to have to put my fees for this year onto a student loan (suck).

Final Christmas shopping.

17/12/99 Interminable alteration / proofing cycles. At least the paper is more and more legible every time - presumably the law of diminishing returns will kick in sometime soon.

Went to our Christmas party for Hapkido this evening. Rather lackluster turnout but we still had fun. :)

16/12/99 We seem to be experiencing a network outage this morning. I don't remember if this is a planned one or not... I seem to recall that it is, though.

Working on the paper, will it never end?

Back from Christchurch; I got the chance to catch up with other relatives while I was there which is always nice. Now I have to really charge into this paper and hopefully get a final version for submission sometime next week.

14/12/99 Continuing work on the paper; polish, polish, polish. Geoff should have some feedback for me today as well.

Tomorrow I'm travelling to Christchurch for my brother's graduation from the International Aviation Academy of New Zealand (where he has been studying for the last year).

13/12/99 Today I need to go and talk with Research and International about the administrative difficulties that might be involved in writing up my PhD part-time while at Bungie. I also need to check the possibility that there may be spare rooms available at Selwyn for the next few months.

Apparently R&I won't have any problems with me studying part-time overseas. However the Postgraduate Scholarship will no longer pay my fees, which will eat a significant chunk of my liquid reserves right around the time that I'll be wanting to move. I need to weigh up very carefully whether I can afford to do this.

Nothing much.

11-12/12/99 No work.

Feeling better again, hopefully this isn't as transient as yesterday.

This weekend is graduation weekend - Stephanie and Melanie are back down here from Wellington, and it's nice to catch up with them again.

Played in the final week of the initial Major League Myth rounds. We managed to triumph over the 'Sea Dawgs' by the skin of our teeth. :)

At the risk of sounding over-confident, I think I'm back at about 80% now after far too long. Now hopefully I can get back to trying to actually accomplish some useful stuff.

Played some Myth, fixed some problems with PluginViewer and its interaction with different 3D cards.

10/12/99 Feeling much better today, so we'll see how it goes.

Got some work done on writing the paper, but I seem to be getting much worse again. Ugh. Going home to collapse again.

More discussion of ranking systems, it's all very interesting.

Stephanie and Melanie are coming down for their graduation this weekend, but I suspect that I will be quarantined for the duration. :(

9/12/99 Ugh... my immune system seems to have been reduced by the jet lag to the point where I am basically a walking incubator for some kind of nasty flu virus. Don't know if I'll be able to get much work done while I'm like this.

This sucks. I literally can't concentrate on anything, so I'm going home to try and get some rest.


8/12/99 No work today, recovering from timezone wackiness and lack of sleep.

A very successful trip; I can finally report that Bungie have offered me a job working as a software engineer on an unannounced game. We've set the application for a H-1B nonimmigrant visa in train, and I should know in 1-4 months whether it has been successful (there aren't any problems anticipated).

Trying to hunt down Shawn about a Mac version of PluginViewer.

Various admin board things, mostly discussing ranking systems for b.net III.

1/12/99 Putting the figures into the paper, some text reworking.

Creating a nice and consistent whole out of the paper plus figures. It's looking much better now.

I'm all packed and ready to catch my flight, taking the 1pm airport shuttle. Here's hoping everything goes well!

Going to head home and catch the shuttle. No updates for a week, probably.

30/11/99 My PhD annual review is today. Oh joy! :)

Fortunately the review went very well, and was relatively un-taxing. Time to get back to designing figures.

Figure drawing hell. Buggy tools, crashes, corrupt data, printing and font woes, I've had them all today. Still, I think I have a draft version of the seven figures that the paper requires, and that means I could potentially look at working on the text from now on.

Final preparations for the flight out tomorrow.

29/11/99 Designing the figures for the jgt paper, which then have a resulting effect on the structure of the paper, etc.

Spent ages designing a character for Rob's new roleplaying campaign, which will be a weird hybrid of Cyberpunk and Beyond the Supernatural.

27-8/11/99 Nothing of significance.

The grading went very well, and hopefully I will know whether I passed at our next training session on Tuesday.

Watched the election coverage until rather late indeed last night - poor Greens (and indeed any supporters of the centre-left) all over the country must be mourning. So close!

Played a lot of ranked Myth; tons of fun.

26/11/99 Geoff's feedback on the paper is that it's roughly targeted along the right topics, but that without figures it's hard to assess just how easy to read it will be. So today I am going to look through and identify places where figures would be useful.

It's a lot harder than I thought to explain some of these concepts, even graphically. I guess I'll just have to try more. :\

Good God, Donnelle is playing her Beatles CDs in the graphics lab. I'm going to go find somewhere else to work this afternoon I think.

Discovered that our Hapkido grading is not in fact two weeks from now, but today. Ack.

25/11/99 Finished a first draft of the jgt paper, time for a bit of proofing then I can give it to Geoff for a re-evaluation.

Agh! My bibliography is no longer working in LaTeX!

Fixed the bibliography problem, proofing.

Finalised the tickets for my plane flight, they are being shipped to the Ansett desk in Dunedin and should be there for me to pick up tomorrow.

One of the guys from Magnum Mac brought an iBook around for us to take a look at - it's a fun toy, but not of any practical use to us, as it doesn't have a video output for a projector or monitor.

24/11/99 Filling out the shell that was left of my jgt paper. The whole makes a lot more sense now, there's probably a day or so's writing left and then some time preparing figures.

Finalised the travel details and I will be flying out to Chicago a week from today.

Mike had a free rental of 'The Matrix' from Video Ezy so we decided to haul out the projector and have a private showing. :)

23/11/99 Wrote an annual report on my PhD for Albert (our PhD coordinator) this morning. Now I can get back to working on my jgt paper.

Tried to sort out why the gcc compiler on Heffalump isn't working for Jamie - turned out to be a path issue.

Restructuring the jgt paper, it's much sleeker now.

Picked up a copy of Fodor's guide to Chicago, which Nuran recommends highly.

22/11/99 Spent much of the morning drawing a mind-map of my PhD on a whiteboard, and sucking solvent fumes. But at least I can divide it up into nice, neat areas now.

Uuuuugh... felt ill for at least an hour after inhaling too much solvent while drawing the mindmap.

Sorted out what needs to be done to the draft of the paper to make it a nice, bounded component that is publishable.

Apparently there are several severe errors in the build of Chimera that was shipped. :( The frustrating thing is that these are errors which we found and fixed, but Bungie used the wrong version of the tags to build the final plugin. Gah.

The fourth-year marks were provisionally released today... extremely punishing. I feel sorry for the examiners, it can't be easy to dish out such marks.

20-21/11/99 Nothing yet.

Went uptown to get the final finishing touches for George and Leeanne's wedding present (their wedding is this afternoon).

The wedding went off very well, if you like church weddings (not my favourite). I decided to skip the reception in favour of a dinner party that Sandy was holding in the house he's currently house-sitting for Nathan and Janet; a good choice IMHO.

Apparently civil won their MLM matches in my absence, which is always nice. Not like I would necessarily have helped their cause by being there. :)

19/11/99 Sat down and had a long discussion with Geoff about the draft of my paper and where it was going. We came to the conclusion that what I was basically trying to do (provide a description of every component of the system) was doomed to failure - there was too much material there to cover in the required detail without turning the paper into a 35-page tome. So I sat down with a whiteboard and tried to draw a 'mind map' of the ideas in the paper, looking for ways to partition it into several sub-articles. Nothing obvious has sprung up yet, but I'll keep trying.

Not a whole lot.

18/11/99 Trying to get QuickTime to work on my system so that I can watch the movies from my MSc thesis. Unfortunately the default installation of QT doesn't seem to include the component "Video Image Decompressor" ... how brain-dead is that?!

Ugh - the QuickTime problems were fixed by a restart, I didn't need to reinstall the drivers at all. Curses.

Nefarious plans are well underway.

17/11/99 Finished (finally!) the first draft of the paper. I'm less optimistic about its suitability for the Journal oF Graphics Tools, but perhaps IEEE CG&A would be more appropriate. We'll see what Geoff thinks.

Went to George's stag party; he is getting married on Saturday.

16/11/99 Will I never be happy with this paper? Four drafts and it's still not ready to give to Geoff.

Had a long talk with Mordia about admin issues for the next iteration of bungie.net.

Considering putting together a digest of the rankforum.

15/11/99 Continuing work on the paper, polishing stuff before I show Geoff.

I understand that the students who will be working in here over the summer are arriving today.

Some new Halo screenshots (linked off h.b.o). Very nice.

Jero is down from Auckland to act as the Master of Ceremonies for George and Leeanne's wedding this weekend, so he came by the lab to catch up.

Today is the second anniversary of the original Myth's release. I'd like a moment of silence for all the work not done since then. Thank you.

13-4/11/99 No work this weekend.

I seem to have spent most of the weekend going out - birthday parties, dinner, farewell gatherings. Not much time to get onto the things that I'd like to have done, unfortunately.

12/11/99 Proofreading, text massaging, etc etc.

Nothing of note.

11/11/99 Continuing work on the article that I'm writing. It may not be as appropriate for the journal of graphics tools as I had first thought...

Finished up a first draft of the article, time for proofreading and tweaking.

Continuing work with Shawn on getting PluginViewer to behave under CodeWarrior on MacOS.

10/11/99 Fleshing out the jgt article, converting to LaTeX, trying to write a first draft.

Talking to a guy about doing a Mac port of PluginViewer.

Agh, I am in a foul mood today, probably because I'm teething - the last of my four wisdom teeth (upper right) is coming through.

9/11/99 After that little interlude, it's now time to get back into my PhD. Specifically, I plan to write a paper for the journal of graphics tools.

Sketched out a plan for the jgt article.

The plugin viewer seems to have been received rather well by the Myth community. Certainly I have had a lot of clueless Mac-heads pestering me and wanting to know why I didn't write it for the Macintosh. ::snort::

Taking a little programming 'mini-test' this afternoon.

8/11/99 No work.

Wrote a readme for the plugin viewer, preparing for public distribution.

Profiled the inner recomputation loop of the plugin viewer, and discovered a big slowdown that was being caused by use of C++ member function pointers where I could just have easily accessed a variable directly. After fixing that, it sped up immensely.

Tidied up all my memory allocation stuff so that it dies nicely if it runs out of memory, instead of crashing hard. Also reduced the memory footprint by smart deallocation strategies.

Finished the pluginviewer and released it to the public. Finally, it's done. :)

7/11/99 No work.

Final finishing touches on the terrain renderer, vertex morphing etc. Started working with Manus Celer Dei to do a Mac port.

Implemented some DirectDraw code to do fullscreen properly.

6/11/99 No work.

Agh... there may be problems with my flatting arrangements for next year. I must contact Saxon and Sandy ASAP.

Solved some problems with scenery colouring and tinting, it's working nicely now.

5/11/99 No work.

From start to finish: scenery. Added everything necessary to put scenery on my meshes, and believe me there was a lot of it. Myth's sprite format is rather esoteric. :)

4/11/99 No work.

Today I've been looking at the Myth tag structure at the higher-than-plugin level - directories, and how tags from different plugins override one another. It all seems to be working fine, and it's significantly quicker than Myth is - not sure why.

Added a GUI front-end on to the map selection dialog - what a nightmare that was. I don't like Windows programming, not at all. :(

3/11/99 No work.

Parsed the Myth plugin format to read .256 tags, and implemented texturemapping. There are still some issues with reading the colormap though, and this evening I hope to sort those out.

Fixed all of the colormap issues, it works fine now. Beautiful Myth maps in true color - aaaah.

2/11/99 No work.

Added a complicated distance-bounding mechanism to ensure that the algorithm doesn't re-calculate priorities for triangles or diamonds that can't possible be split or merged in the current frame. Reduced the tri-recomputation phase to about 2% of its previous total time ... 10,000 triangles all being recomputed every frame down to about 150-180 triangles. Yay!

Posted a brief note on the concept of community on bungie.net to Ferrex's Core forum.

30/10 - 1/11/99 No work this weekend.

I've coded up the remainder of the ROAM algorithm that I was looking up this weekend, and the adaptive terrain-model looks very nice. Monday I spent deciphering the Myth plugin format, and I now have a little app that lets you fly around Myth maps' meshes in real-time! Still lots of debugging and optimization to go, but the groundwork is there... yay!

29/10/99 Revamping and reworking Mirage's vector and quaternion libraries into a format that I'm prepared to use for the terrain-model stuff. :)

Not a huge amount.

28/10/99 No work today.

Spent the morning working on the last bug in the beta test - a nasty scripting error that's taking far too long to solve. We're cutting it very fine. :\

My involvement in the beta program is now effectively finished; several members of the Badlands dev team are flying to Chicago to put the final touches on at Bungie HQ and then it'll be shipped.

27/10/99 No work today.

Constructed and built an OpenGL / wGL wrapper that I can encapsulate all the ROAM rendering stuff inside - now working on a basic flight model that I can use to fly around the terrain.

26/10/99 More planning for the jgt article.

I'm going to take the rest of the week off from my PhD and concentrate solidly on implementing the ROAM terrain-rendering algorithm in OpenGL, as a tech demo to send to Bungie.

22-25/10/99 Didn't get any work accomplished over Labour Weekend.

Spent a while doing beta-testing stuff, also played a huge amount of Freespace 2 on the big-screen projector; yeah baby! A meter and a half across means hours of gaming fun. It's hard to go back to my 21" monitor now, but at least I finished Freespace. :)

21/10/99 Trying to sort out whether or not to release my PhD source code into the public domain. There are reasons for and against doing so... hmm.

My copy of Freespace 2 arrived this morning. I sense that I may not get too much work done this weekend. :)

Spent most of the day going over the final candidate plugin, only found 2-3 new bugs or failed fixes. Looks like we may be ready to rock shortly.

Played a lot of Freespace 2. Damn, that game is fun.

20/10/99 Working my way through more of the jgt. Finished reading all of the copies that we have here; I believe that I can write a technical article for it without too many problems.

Wrote a bot that Bungie can run on their Hotline servers to work around a problem with their firewall disconnecting people.

A new version of the fc plugin is up and I'm downloading it. It's a big one though :(

19/10/99 Reading back-issues of the journal of graphics tools, trying to get a feel for the right writing style.

It appears that there were problems with the fc plugin that was going to be burnt at Bungie so the shipment has been delayed until tomorrow.

18/10/99 Um... re-organised my Netscape bookmarks?

Really, really, really close :) Finally verified all my bugs in the internal final-candidate, we can burn an external final candidate and ship it to the other beta testers.

16-7/10/99 No work this weekend.

Final-candidate testing, we are getting close now.

15/10/99 Went to a seminar given by Anthony Robins, who's going to be teaching the first-year Java programming paper next year. It's going to be a big challenge, but sounds like he's got a great plan to tackle it.

Basically no work today. :(

The final sounds are in and the beta approaches the final-candidate testing.

14/10/99 Thinking about what I'm going to present at the Graphics meeting tomorrow.

Today is the day of the Department's end-of-year barbequeue... hope the weather stays pleasant.

Final beta testing, while the weather goes from cold to wet and cold outside. Oh well.

Surprise, surprise, the barbequeue has been cancelled.

13/10/99 Spent a while thinking of cell-based adjacency schemes for avoiding one of the big problems with the current polygon / implicit-surface approximation issues. However I ended up concluding that any such scheme would be deprecated by the introduction of adaptive level-of-detail. So the first priority is, as it was before, the investigation of tesselation and LOD stuff.

Helped Mike resolve a few issues with the Windows OpenGL bindings and full-screen mode. I've been finding Google to be a very useful search engine lately, even on very specific queries for which most other search engines return garbage.

Finally managed to meet with Geoff and Richard at the same time; we sat down and went over where I currently am in my PhD, and possible future directions. The overall consensus seems to be that I can either look at tackling some of the ambitious "deep UI" problems associated with CSG modelling, or divert my attention towards refining the current technique through adaptive and primitive-specific polygonization. Both of these sound like fun things to do... I'm going to write a paper for the Journal of Graphics Tools and then look at what I want to do after this has (hopefully) solidified my thoughts on the current status.

Reading more reviews of Freespace 2, which looks as though it's a great game... fortunately I've pre-ordered it. Yay!

12/10/99 Some deep thinking about how to work adaptive tesselation and polygonization into the modeller. Trying to get away from all the old assumptions and hold-overs from outdated code, and it's tough.

Spent most of the afternoon checking the final beta candidates for release.

11/10/99 Working on some stability and robustness issues with the triangle-splitting code. Basically instead of spewing errors now it tries to fix them (gasp!).

Fixed a crash bug related to object deletion and a really boneheaded control logic error. Not one of my brightest hours.

Applied for the National Diversity Visa Lottery to enter the US, because hey! there's a chance. It's a fallback if I can't find an employer who's willing to sponsor me on an H-1B visa.

Spent most of the afternoon going shopping at the supermarket. :)

9-10/10/99 No work this weekend.

Lots of Myth-related stuff, continuing the beta phase. We ship on Thursday so it's vital that everything gets tested ASAP. It starts to seem a lot more like work though. :(

8/10/99 Finished coding up the new transformation code; it's all working beautifully (it a little bit slower than it used to be). After lunch I'll look at optimizing this, and take advantage of the new architecture to do the transformed-combination-octree.

WHOOOOOO! After about an hour's coding, the new architecture has let me implement the transformed-combination octree code just like that. A few bugfixes later and it's all working! Truly, it is a joy to behold. And now it's time for a graphics meeting. I love it when a plan comes together... booyah! :)

Puzza came over to say hi, he leaves for England on Monday.

7/10/99 Working on the transformed-octree code, it's a little bit more complicated than I thought it would be, basically due to code bloat in previous versions of the equivalent code. The final thing should be rather nice and slim, but it's taking a bit of effort to get it there. I keep getting distracted too, which is always bad.

Stayed in late working on the code, finalised and compiled it; having some trouble with the OpenGL drivers crashing the machine again. I really should look into a nicer cleanup method.

Downloaded the new Halo movie, it is hella pretty with more resolution.

Sorted out some final plans for the New Year - we will probably be going to Nelson to soak in some sun and invade Stephanie's parents, who have a nice big house and wouldn't mind meeting some of her quiet, peaceful friends. Mwahaha! :)

6/10/99 Because the Cupertino event was at 6am local time and I ended up not getting enough done yesterday afternoon, I decided to stay up all night and work on completing the collectiongraph code in preparation for my meeting with Geoff and Richard later this afternoon.

Coding, debugging, fixing. The collectiongraph code is all working nicely now, and it's much cleaner than the SplitTracker that it replaces. It should be relatively straightforward for me to add the transformed-octree code before the meeting this afternoon.

Aaaargh. Richard is away sick and Geoff is in Auckland, so I guess we won't be having our meeting this afternoon. Whatever happened to scheduling? Sigh.

Watched the "Special Apple Event" that was streamcast from Cupertino, where Steve Jobs announced the new lines of iMacs. And I was hoping for some more Halo news... sigh.

Bingo on the Halo news; now that's a lot of killer stuff. Check it out!

5/10/99 Finished coding up the collectiongraph code, just error finding and weeding out now.

Ugh, a very odd error has had me stumped virtually all day. I have no idea what's causing it.

Some very nice Halo screenshots up on Gamespot UK, even if they did manage to mangle the gamma correction totally... fools.

Ferrex and the Core have been shut down by his sponsors. Boo, hiss. I understand that he is making arrangements to be hosted elsewhere and will be back shortly under a different name.

Helped Ken Musgrave with some random number stuff.

More beta testing, most of the afternoon.

4/10/99 Quite a lot of work on changing the flat splittracker (which is just a linked list of all collections) into a tree-based collection graph. It's a big, complex change and I hope to be able to get it done before Wednesday afternoon, when I have a meeting with Geoff and Richard (supposedly).

Ordered Freespace 2 from a game shop in Auckland, I've been having a lot of fun playing the demo.

2-3/10/99 No work this weekend.

Quite a bit of beta testing, also played some Myth with Civil Order after a prolonged absense. We fended off another challenge on the Online Gaming League Myth II ladder, which makes our record 14-0... yay!

1/10/99 More thinking about the subgraph-transformation problem. Perhaps it can be solved by changing the SplitTracker mechanism across to a replica of the primtree, stored in each octree and tracking the split children of each primitive's worldcollections that are still present in the object. Once again I find that the structure's just too complex to all hold in my mind at once; it's just going to require another day or so's deep thought, probably.

Tried to hold a meeting with my supervisors this morning like we scheduled, but Richard has a lecture at this time. Sigh. We've re-scheduled for next Wednesday; hopefully this will work better. Maybe. Given time.

Downloading and version hell. Something must be fundamentally wrong with the Myth plugin model, I'm concluding... hmm.

Went to Ken Musgrave's seminar, it was very entertaining (even if he did try to squeeze 45 minutes' worth of presentation into the last five minutes).

30/9/99 Argh... late start today because I stayed up until after midnight playing Unreal Tournament. Oh well.

Finished the conversion of the object-transformation code across to a hierarchical cube-voxel-intersection technique. However while doing this it's become apparent that the other big feature which I was going to implement is going to require some mammoth reworkings of the whole split code. I don't really want to think about tackling this at present; it's an issue that I will put aside for much later if at all. I've written up detailed notes on it so hopefully I will be able to come back to it if necessary.

Some Halo stuff. The core . halo . forum has something ridiculous like 200 new messages a day at the moment so I've given up on trying to keep track of everything on there.

More beta testing, going well.

29/9/99 Found a large lurking inefficiency in the object-sampling code and tidied it away.

Trying to get more work done on the object-transformation code, but haven't had much success. It's been a moderately hot day here and I'm not coping well... summer could be very bad.

Some nice new Halo screenshots have been scanned in from a recent computer gaming magazine and put up on halo.bungie.org.

A very interesting article on Slashdot this morning with a patent from Transmeta. I spent about an hour going over it and trying to understand what they're getting up to... very enticing stuff.

Sorted out people to flat with next year.

28/9/99 Found and killed the last (?) lingering bug from the conversion over to vertex indices. Profiling time again now.

Tidying up dead-wood from the code (in this case, the repeatobjectnode CSGnode type).

Some deep thinking about how I can change the object transformation code to work much more efficiently. It shouldn't take much effort at all... fingers crossed.

Grappling with TestTrack for most of the morning. Bungie needs to have a look at getting a copy of the Bugzilla source code from Loki or something like that.

It's a gorgeous day today, so Steven and I went and had lunch in the botanical gardens.

Trying to find flatmates for next year; Morag and Steven are both moving on.

Investigating US immigration law and got sidetracked into the FEMA website and their Y2K readiness program. It's all very reassuring; I'd be happy flying on December 31st, after reading that (in the US, of course... haven't seen anything similar from NZ yet).

27/9/99 The vertex-buffer / display-list incompatibility looks to be a permanent one. What a pain that would be!

Had a look on the Web and found a solution to the vertex-buffer / display-list problem. It all works fine now; also solved a nasty few bugs introduced by the vertex-indexing scheme.

Trying to get a copy of the Dragon Gate animation for Jays and Peter.

25-6/9/99 Did some work on integrating the world-collection display lists with the vertex buffer storage format. However there seems to be a problem with vertex buffers being transmitted across to the server via display lists; I'm going to have to investigate that on Monday.

Spent quite a while on bungie.net this weekend, playing, adminning and chatting.

24/9/99 The new adjacency and vertexbuffer code all works now. Time for another storage change and compaction; should produce further speedups.

Half-finished the displaylist stuff.

Trying to help Ferrex of the Halo Core find a new host site for his work; Gamestats are being recalcitrant, it seems.

23/9/99 Finished coding the changes to the adjacency and vertex system; time to compile and run.

Corrected all the typos and small mistakes; the code now compiles. Also caught myself on a very insidious bug that would have been hell to track down; fortunately I spotted it while just leafing through the code (I was keeping pointers into an array that might move due to calling realloc() ... instead those need to be indices).

I was sent a chat log by a friend of mine where he engaged in a rather detailed discussion of my postings and debate strategy on a message board with the guy who runs the board. Rather disturbing really to think that people are analysing your contributions to such a degree... I'm feeling really uneasy about it, especially that they never thought to actually talk to me in person.

22/9/99 Many code changes to various internal aspects of the system, switching over to a vertex-buffer representation. Fixing up and rethinking the adjacency system as well; the final code should be much more elegant, compact and fast if I do everything right.

Playing the Freespace 2 demo quite a lot. This is a game I might consider buying. :)

21/9/99 Lots of deep thinking about ways that I might be able to speed up the OpenGL rendering.

Thinking deeply still (!) about triangle splitting, vertex buffers and why this code has been inefficient right from the start.

Finishing touches on the cover letter and resume; I'm just waiting for Bryan to send me his reference and then it will be done.

Trying to educate Dan in the Tao of Halo Worship.

Sent the application. Now it's wait and see time...

20/9/99 Lots of grappling with Direct3D; in the end, I just gave up. There's no point trying to rush a technology test for Bungie and just producing buggy software... solid OpenGL code will beat Direct3D code that occasionally crashes the machine any day.

Basically trying to put this resume thing together, haven't had time for anything else.

17-9/9/99 Converted the GLcsg modeller to an SDI interface and ripped out all the extraneous OLE code, etc. It's much better now, much cleaner.

Wrote up a resume and cover letter, busy putting together a web page with code samples etc.

16/9/99 Merged the WorldCollection and Collection storage formats together and achieved a significant speed increase.

Argh... the reference drivers are very slow (but the lighting does work). I'm going to have to go back to the standard V550 drivers, which have specular lighting issues but are fast. Oh well.

Fixed a bug left over from the WC - C merge.

Implemented split-edge highlighting on selected objects. It makes it a lot easier to see what's going on. Cool.

Next up is changing the way that entire subgraphs are updated when you move them. Ideally we want to reproject the top-level octree's collections and not reproject the bottom-level collections and re-split them in the new space to produce the identical result. This can be done by changing the calculation type for all collections in the split space. We'll also have to change the octree-generation to be more akin to new_prim_position than incremental_update. This is a big change, so I'll do it after the seminar (and spend the time before the seminar thinking about how I'm going to do it).

Decided to change the way that the clipping planes are positioned around the object instead of doing the subgraph thing. Now you can zoom in or out as far as desired without clipping planes getting in the way or screwing up the glPolygonOffset code through Z glitches.

Went back and tried my first original sphere case, and I'd say I'm getting about 20 fps on the updates there... woo! There seems to be at least one bug left in the triangle-splitting code, which is not good. I'll try and fix that this evening.

Decided not to look at the triangle-splitting bug. Instead I hooked up several display features to buttons on the toolbar... it looks very pretty. Damn, it's nice to get this project to a point where I'm proud of it. :)

Bungie are advertising that they want an entry-level graphics programmer! It's now or never, so I'm going to tidy up my PhD project a tiny bit and then go hard-out to try and put together a nice graphics demo over the weekend to send in with my resume. ::crosses fingers::

Sandy is going up to Christchurch to sit the GRE... good luck man!

15/9/99 Trying to solve OpenGL lighting issues, some seriously odd stuff is happening. Reinstalled a different version of the reference drivers to see if it's fixed.

The reference drivers fixed the lighting without any problems at all.

Now I have to sort out some issues related to the normals being transformed from collectionspace to worldspace; seems I need to transform the plane-distance values as well which will require some deep thought.

Sorting out MWC99 prizes and shipping.

3DFX have announced a new texture-compression method that they'll be using in their next chipset. It looks to be very well-designed and should take off bigtime. This is starting to renew my belief in 3DFX's ability to lead the accelerator marketplace. Can't wait for the next generation of cards to come out with great fillrate and hardware transform accel.

14/9/99 Finished the extentlist coding, it all works nicely and gives a small performance improvement.

Time for a major change... nuking the triangle info stored in the WorldCollections and doing split operations in collectionspace. This will require changes to a lot of the triangle calculating code, but they should all be simplifications. It'll make the code more elegant and faster too, I hope.

Ken Musgrave is now here for four weeks, doing some cloud / explosion modelling for his company MetaCreations. He's probably one of the original graphics gurus, and it's nice to talk to someone (other than Geoff) who's had so much experience in so many areas of the graphics community. He seems to like the stuff I've been doing for my PhD, which is always a good sign.

13/9/99 Finished coding up the extentlist; debugging and optimization.

The extentlist seems to be finished now, but there's a crash bug in there somewhere.

Mike has been having trouble with RF interference from the power lines in the walls of his office; the projectors were producing weird distortion artifacts. We were all ready to junk the graphics card when he thought to try it in the graphics lab instead.

Plans for the New Year seem to be coming together reasonably nicely. We may be heading away to Central Otago somewhere with a group of friends. As I always say, if civilization collapses and you have to become a roaming band of desert raiders foraging in the burnt-out radioactive husks of buildings, it's good to know who your mates are.

We're going to Filadelfio's for dinner to wish Ben well on his big overseas excursion.

11-12/9/99 No work.

Went and bought a poster, did some web stuff (slinging Halo ideas about), started finding bugs in the beta test. Also finished the Homeworld demo.

Tidied up the graphics lab so that Ken Musgrave has room to work.

10/9/99 VC++ says my project file is corrupt and won't start up at all! Oh nooooo! However I suspect it may be fixable by doing some severe fiddling about with service pack 5 and the ODBC drivers.

Fixed the ODBC conflicts by just copying the relevant DLLs over from another NT machine. Never did find out what service pack or other I would have had to install in order to get the right version. Sigh. At least I can actually launch VC++ again now!

Thinking about faster means for testing which terminals overlap a given cell in a WorldCollection... my program is spending 7.5% of its time in this one little loop that may not be necessary.

Went to Hugh Malan's seminar on his Masters. Maybe I'm just a cynical, twisted individual, but I think he may be in for a rude shock when the markers get through with him.

Tried to finish the optimization of the extentlist for cell-terminal testing, but didn't quite get it all working before the weekend.

Peter, if you read this, I now have a spare copy of my MSc thesis... do you want one? It's only softcover bound.

Faxing documents across the globe, on a whim.

9/9/99 Haven't got any work accomplished today. I've been busy sleeping in, doing web stuff and some server configuration issues. Also spent a lot of time talking to Geoff about possibilities for an interactive exhibit targeted at SIGGRAPH 2000.

Finally trying to address and send these blasted letters to Australia. Arg.

8/9/99 The problem I found late last night is a tricky one, but I may have a solution.

Implemented the solution and we're back to a 100%-clean state again. Also did some optimization of vector maths... however it's still not as fast as I'd like. I need to do some serious optimization (again).

Optimizing, playing, tinkering... a few minor speedups.

Lots of forum jabbering.

7/9/99 Debugging, fixing problems.

The split-cell test case works fine, but when I run the actual model it's very slow and there are weird cancer-type artifacts around profile edges. Hmm.

Fixed most of the artifacts. The slowdown was caused by hardware acceleration spontaneously turning itself off again (grr).

Uncovered a very subtle bug that involves an interaction between the primitive tree, leafnode structures and the interactive-octree update cycle. The recursive splitting of parent collections is causing the splitinfo to become overwritten by children's information... solution is to create a stack of splitinfo structures in the primitive, perhaps. Tomorrow; it's 5:24pm and I'm off home.

Looked at a neat paper for real-time terrain LOD, and also tinkered around some more with the physics engine.

Making plans for the New Year.

6/9/99 Approaching completion on the triangles vs split planes code, finishing up macro writing and going through to elucidate the six split cases. The code is really coming down to a much simpler state now, and it should be easy to debug, I hope.

Finished the coding, fixed compile bugs. And now it's time to run it...

Well, the split code isn't working at all. I'll need to construct some test cases and examine what the story is. But at least it's not crashing or memory leaking.

New Halo screenshot is very pretty (see the Core for the picture). Mmm.

Trying to get the CD -> MP3 process to work on Iago so that I don't have to walk out to Steven's office quite so much for music.

4-5/9/99 No work this weekend.

Beautiful weather for Rob and Justine's wedding and everything went off smoothly, without a hitch [hur hur]. Took me most of Sunday to catch up on email etc that accumulated on Saturday though... argh.

3/9/99 Completed much of the triangle-splitting code; just some grunt-work to go enumerating the cases in the split code, and a little thought will be required for the interval compilation.

Instead of a graphics meeting, we watched the SIGGRAPH Video Review, which is basically the Electronic Theater from the conference, with all the copyrighted pieces cut out. There were a few nice pieces, and everybody seemed impressed, but a lot of the really sparkling material had been chopped - pity.

Preparations for Rob and Justine's wedding tomorrow.

2/9/99 Working on coding up the triangle-string-cell hierarchy. Compiled first time with only one error, which is always promising.

The triangle-string-cell hierarchy appears to be working perfectly now. Lunch, and then I'll look at doing the triangle vs string splitting.

Lots of considerations about where and how to cache various values for the greatest efficiency. I don't want to have to go back and re-optimize all this code later.

Didn't get the code finished, but I have a nice structure in place and hopefully should be able to complete the remainder tomorrow morning.

Hmm. The SS2 demo really is rather short and linear compared to the SS1 demo. Certainly it's not enough to convince me that I'd want to buy the game. Oh well.

I really need to start organising my free time better if I'm to have a hope at tackling all the projects I want to do. :)

1/9/99 Found and fixed the offending hard-coded path names in the VC++ project file, it all works now.

Coded up the lazy-evaluation stuff reasonably quickly. Very pleasing, it gives a small speedup when actually manipulating things and a big speedup when starting up the system.

Did a lot of deep thinking about the possibility of using arbitrary polygons to represent surface geometry, and then realised that they're damn near impossible to render. Looks like I'm going to stick with triangles for the time being... however there is one important improvement which I can make that should (hopefully) speed up the triangle-intersection code significantly.

Apple's new G4 computers were announced today, as was NVidia's next-generation geometry processor. Things are looking good for my line of research. :)

Had a play with the System Shock 2 demo, it's quite pretty but didn't exactly draw me in quite yet. Maybe I just need to play it at night with the lights off.

31/8/99 Wrote a six-month PhD plan for Albert, the postgrad coordinator.

Reviewing my PhD and current research directions. They can basically be divided into three categories...

Short-term tasks:

  • Lazy evaluation of Collections and WorldCollections, possibly also on a cell level [done 1/9/99]
  • Triangle splitting against planes, not individual triangles [done 8/9/99]
  • Fix the specular lighting [done 14/9/99]
  • Ghost profile edge highlighting [done 16/9/99]
  • Contemplate losing Collections entirely to reduce overhead of t.cspace [done 16/9/99]
  • Possibility of merging left and right Collections together, if they overlap (may be deprecated by prim-specific tesselation) [not wise]
  • new_prim_position -> new_position and transformation of already split Collections [done 8/10/99]
  • Model generation from a Mirage object-graph

Medium-term research directions:

  • Primitive-specific tesselation and collection construction
  • Look at scalability to larger models

Long-term goals:

  • Assembly-constraint-based object construction

Started looking at the lazy-evaluation tools. Unfortunately the VC++ development environment seems to have stored some directory settings from the old machine and I'm going to have to rebuild the whole goddamn workspace. Maybe tomorrow.

Downloaded the System Shock 2 demo and will have a look at it when I can find some time, things are rather hectic right now.

30/8/99 OS installing fun, eh... well, my first attempt at resizing the NT partition on Thursday scragged the partition table and I had to reformat the hard drive and install everything from CD. I think I'm back in operation now, and not a moment too soon. Albert wants me to write a six-month report for him and I'd better install Emacs so that I can do so.

VC++, MSDN, Emacs and all the LaTeX tools appear to be up and running now, even better than they were before!

Wrestling with QuickTime. It insists on downloading the latest version from Apple's website even though I have the latest datafiles locally (from a few days ago). Very frustrating, especially at 5:00 on a weeknight when our network link is so saturated. :\

Rob's stag party went really well! Much fun was had by all. I also went to see "A Midsummer Night's Dream" over the weekend, and was pleasantly surprised.

Got Freespace 2 running under Win98 on my machine. Mmm, it is a pretty game. Very pretty.

25/8/99 Filled out a SIGGRAPH contributor survey form and sent it in.

Trying to debug a particularly nasty cell I/O problem that took a few hours just to find a repeatable case of...

Fixed the problem. Next up: looking at transparency draw orders. I wonder if I can fix this problem.

Easy! glPolygonOffset() is your friend, and I didn't even run into the problems that supposedly exist with the Riva TNT card when using this function. It's a bit slower now when you're looking at large selected components, but it looks a LOT prettier.

Eeek... discovered that my mail folder on Iago was almost 1 GB in size. Time to trim that bad boy down a bit.

Backed up all the important stuff on Iago, ready for some repartitioning and OS installing fun.

Went to lunch and discussed plans for Rob's stag party this weekend.

24/8/99 Investigating means of dual-booting Windows 2000 and WinNT on my workstation.

I think I've found a way, but it will take a bit of reorganising and things like that. Hmm.

It's over! I still have tons of email though.

Tidying away MWC99 stuff, archiving the website, etc etc.

23/8/99 No work at all, surprise surprise.

Today is the day of the Grand Final for MWC99, so I'll probably spend most of the morning doing that.

How right I was... the match itself took six and a half hours, and it's now after 8pm this evening. After a totally epic final in every sense of the word, the Myth World Cup is over. Almost six months to the day since I sent the first call for volunteers, things have finally slowed and come to a stop. It's been a hell of a ride.

21-22/8/99 No work this weekend, probably.

MWC99 Champion Match and last match of the Bottom Bracket this afternoon. Should be great!

Ugh. Rules problems and Internet woes from hell when trying to run the last match of the Bottom Bracket. It was painful.

Who would have guessed it... a team made up of thirteen to seventeen year olds can't handle the fact that there are rules, and can't conceive of anyone's impartiality. I probably shouldn't be surprised.

20/8/99 Fixed a rather foolish error in the worldcollection return phase that solved the Mysterious Floating Ring Bug.

Fixed a very subtle problem to do with surface extents, and exactly what the difference is between a voxel-intersect against a primitive (used to determine which areas of the octree change) and which cells overlap a terminal. Required moving the point-intersect on no-opposing-triangle cells to the surface rather than at the cell midpoint.

A few scattered cell-classification problems that I still need to work on, which the point-intersect changes didn't fix. Lunch time now.

Didn't get any serious work done after lunch, mostly taken up with seminars and meetings. Spent a while clearing space off my machine to make room for a possible Win2K installation.

Looking at the System Shock 2 and Freespace 2 demos and drooling. Oh, how I wish I had a machine that could run them... unfortunately they won't work under NT on my work machine. Maybe when Win2K comes out. :(

Prep for the MWC99 finals this weekend.

19/8/99 Reworked an interaction between the splittracker and leafnode <-> collection tracking. Streamlining and simplifying the code, and now it all seems to be working. Unfortunately it's revealed what may be a problem in the point-intersection routines, and I'm going to have to track that down now. :(

Went to Mathew and David's PhD progress presentations. I managed to get out of mine due to fortituous SIGGRAPH timing, so it looks like I'm in the clear for a month or so.

Fixed a nasty crash bug and managed to trim out a lot of unnecessary code. The SplitTracker is much more streamlined now. Still have to try and find the cause of the Mysterious Floating Ring Bug(tm) though.

Scheduling the final MWC99 matches for this weekend.

18/8/99 Approaching a final solution to the splittracker and ghost problems.

Spent a good fraction of the day tidying up the MWC99 story and pondering Halo stuff.

17/8/99 Playing about with stencil buffers, they weren't working until I discovered how to turn them on using the pixelformatdescriptor properly. Now they are working, but I've suddenly realised that I can't quite use them how I'd like to. Hmm.

Actually, never mind, it does work how I want it to. Not perfectly accurate but it looks good enough to be usable. That's a relief.

Massive speedups are now possible by removing the ghost-tracking code. Unfortunately I have to replace it with a similarly complex (but much faster to execute) subsystem and it requires some heavy thought.

Started playing around with a simple spring-mass physics system, for laughs.

MWC99: trying to sort out stupid people who can't get their organisational act together. It's heavy going.

Back to Hapkido this evening, after two weeks' break from it... it may be somewhat punishing.

16/8/99 And there was much rejoicing! After a week's intense preparation for SIGGRAPH, a week spent in LA attending the conference, 20 hours worth of flying and 19 hours' sleep, I'm back in action. SIGGRAPH has really revitalised my creative processes and it's time to kick butt on this PhD thing.

Eek. I just discovered that I put a URL on my technical sketch to pages with more content... which I haven't written yet! Oh noooo!!

Quickly hacked together a web version of my technical sketch, but the page really needs more content. Don't know if it's really necessary, however. How many people will ever look at it? Hmm...

Time to finish up MWC99, too.

Looks like people really screwed up while I was away, MWC99 has basically stalled. And now it's time to dig it back out.

29/7/99 Tons of coding today... ripping out most of the way that triangles are stored in my system in order to speed it up. Coded for about five hours implementing this, spent about ten minutes fixing typos and getting it to compile.

And the afternoon was spent debugging minor errors. It's now back to the state it was in the static-update code, but the dynamic-update code is all totally screwed up. I hope that I can fix it tonight or tomorrow morning.

Not much, surprisingly.

28/7/99 Profiling, optimization. Found several problems with terminals just touching at faces and being added to the split-list anyway... fixed them. No appreciable gain from this.

Aha! Discovered a serious flaw in my memory-management routines that gave me an immediate 2x boost in frame-rate.

Had a good idea as to further optimizations that can be done to the display and triangle spliting code. Should be able to boost fps by at least 25%.

I've really been getting into the information that's available concerning Halo (even though we're a good ten or so months out from release). Noctavis and I had an excellent idea concerning the community and what we could do to foster growth. This could be really big.

27/7/99 Pretty much nothing of consequence. Spoke with Kaye re: visas and things.

Finished up all the work on MWC99 that was generated yesterday for me.

Wrote up a transcript of a video interview that a friend did with Jason Jones at MWNY.

26/7/99 Wandered around trying to get a credit card (could be handy while travelling overseas).

MWC99 fallback day, lots of work on that.

24-5/7/99 No work this weekend.

Nasty, cold, rainy weekend. I spent most of it doing Myth stuff.

23/7/99 I think I've found and fixed all of the low-level subsystem bugs in my modeller; it appears to really, finally, absolutely be 100% in the piston test-case. Now it's time to optimize and prepare my presentation. :)

Not much. Entered some reviews and results for MWC99, and set up the Play of the Week and Blunder of the Week for Round Three.

22/7/99 Went to Simon's PhD seminar. Mine is a fortnight from today... eek.

Found and fixed several rather insidious bugs. Still more cases that need fixing though. I had hoped to be finished with this by the start of this week, not the end. :(

Going to see Scarfies at the movies tonight, it should be amusing.

Bungie announced their new game Halo in Steve Jobs' keynote address at Macworld New York last night. I stayed up until 1am and watched the streaming Internet video feed... it was very impressive. :)

Mmm, downloaded and watched the Halo movie. It's pretty.

21/7/99 Helped Mike T get his usercodes set up on the Linux boxes.

Fixed the last few glitches in the triangle-splitting code; it's all watertight now as far as I can tell. Now it's time to start optimising it for the SIGGRAPH presentation.

A final date for the Hapkido grading has been set; next Friday, July 30th.

Trying to install QuickTime 4 on my NT box. Requires display driver updates etc.

Came up with the Final Solution for MWC99... the last few rounds are going to be delayed for two weeks while I'm away at SIGGRAPH. We will then play the semi-finals when I get back.

20/7/99 No work today, much as I would have liked to get some done.

Spent the whole to today trying to sort out when and how the remaining rounds of MWC99 are going to be played, and how I can fit them into my SIGGRAPH preparation stuff.

My Homeworld beta CD arrived today. I only wish I had the time to actually beta test it like I should be. :(

19/7/99 No work today, much as I would have liked to get some done.

Running the MWC99 fallback times for Round Three. What an unpleasant day it has been on the whole; juvenile players, network trouble, and basically more aggravation than I needed.

17-8/7/99 No work this weekend.

Spent all of Saturday doing MWC99 stuff, quite hectic. We're approaching the final rounds now; it'll all be over in two weeks' time. On Sunday it was a dreadfully depressing, wet day, so I stayed inside and did domestic stuff.

16/7/99 Well, that sucked. I just spent all morning trying to find out why my program was suddenly 10x slower than it was two days ago. Turns out that Windows NT had turned off hardware acceleration for no apparent reason... but it was still saying that it was turned on. After a restart, everything works fine.

Found and fixed a bug that was causing spurious polygon errors. On the home stretch now!

Our network has been up and down all day. Very inconvenient.

Writing articles for the MWC99 storyline, preparing for the fallback time tomorrow.

15/7/99 Found and fixed several big problems with the dynamic-update code. It's now in very-close-to-perfect condition and I should be able to finish off the few hot spots later on tonight. Yay!

MWC99 - organising highlights coverage of the last round, and spotlight match coverage for the next round.

14/7/99 Finding and fixing more of the aforementioned bugs. The static test scene is now 100% so that tomorrow I can get onto some hardcore debugging of they dynamic state without having to worry about niggling cosmetic details.

Finalised travel arrangements to the US. I still have to get a credit card though.

MWC99 stuff for less time today, but I did get in late so my productivity's still through the floor. Argh.

13/7/99 There was a fire in the department's third-year lab and smoke damage took out most of our servers. Service has been moved from Atlas to Hermes so there wasn't any outage. There is also currently quite a bit of reworking of the Graphics Lab network going on, and these factors have made it difficult for me to update this worklog. Now it looks like we're back in business.

Found and fixed several minor bugs, trying to get the system into a 100% state so that I can then easily find the bugs that are caused when the dynamic code is run.

MWC99 stuff for a few hours today.

7/7/99 Spent most of the day trying to find a bug that may in fact have been caused at a totally different level to where I thought. I'll have to start looking at lower-level data feeds tomorrow.

Lots of work on the MWC99 story section. Looks like we're well on track there. A bit of debugging of the updater (wasn't showing some new results). Chasing reviewers. Organising hosts for Round 3.

Some trouble on the admin BBS over a few comments I made yesterday. Hopefully I've managed to soothe people's feelings.

6/7/99 Agh. For some reason my nose started bleeding while I was just sitting at the computer debugging. That put quite a dent in my productivity this morning trying to get it under control.

But once that was solved, everything went pretty well. The static polygon error took longer to track down than I'd thought, which was a problem though.

Trying to organise MWC99 writers.

5/7/99 After a long hiatus, it is back to work. I've basically treated the last two months as a holiday from my PhD; working fulltime on MWC99 and not getting any real work done at all. Now, it is time for this to change. The buildup to SIGGRAPH is going to be tough, but I'm confident that I can get everything in place as required.

Hunted down and killed a deeply concealed bug with adjacency graphs getting mismatched. Sum total observable fixes: one erroneous polygon that was hardly noticeable disappears. But at least it's right now, dammit!

Fixed a few cases so that they no longer generate torrents of debugging errors when the program is run (it's actually working, it just looked like there were problems).

There are now two spurious triangles in the static polygonization of the piston example. Once I've tracked those down (I've isolated the incidents, it shouldn't take longer than an hour or so tomorrow morning) then it will be time to move back onto the dynamic errors. Oh joy. T-minus two weeks until they HAVE to be fixed, every last one of them.

It's my 21st birthday today; an appropriate time to look back on how things are going and sort out some priorities.

As far as Myth goes, MWC99 is still kicking ass. It's become the first tournament since 7PR to really captivate bungie.net, and do so for a significant amount of time. People keep remarking that you can't find an order on bungie.net that wants to do anything except practice for the next round's games. The teams are all chugging along with varying degrees of success, and the team effort has turned out much better than I'd initially anticipated. Traffic analysis shows us that in June, 297,572 pages were served up out of the website ... approximately 17 GB of requests. A few minor problems with players, but nothing that we haven't been able to handle. On the whole, I think the investment of my time (between 30 and 65 hours per week for the last two and a half months) has been worth it. As long as I can recover and get back into workmode solidly for the next month of SIGGRAPH preparation.

Other Internet play: I've been accepted for the Beta 2 phase of the Homeworld beta test, and that might prove interesting. If I get time. Freespace II looks like it could be a lot of fun, and I may try getting my hands on a copy of that.

Post-SIGGRAPH, starting in August, I'll be able to get back into more tramping than I have been lately. Winter's just not conducive to fun trips, when you've only got a three-season sleeping bag and your weekends are usually full. :)

Hapkido is going well, with a grading some time soon that should be... interesting. I hope to sit the grading and pass it, but if Grand Master Lee can only come down to Dunedin in early August (which is on the cards) then I'll be at SIGGRAPH during that time period.

On the whole, life is good. I'm having lots of fun and working towards bigger and better things on several fronts... it's important to have dreams. :)

updated 02.21.18
© chris butcher 2000-2003