Taking it all apart

It’s one of those things I love: You start with a simple premise, in my case “let’s reduce the amount of synchroonous loading in Anarchy Online”, and end up with weeks of work. The reason: tentacles.

A lot of AO code doesn’t like when you load a mesh asynchronously, so especially when new characters get into your vicinity, their meshes are loaded in the same frame (well, not exactly true, there’s some throttling). This is mostly because the animation code really hates not having a mesh, but also the special effects code and some other bits and bobs. While looking at that, I noticed that in other places, people don’t use the asynchronous resource-loading thread, mostly because it is hard to use, and got added as an afterthought. It was clearly time for some refactoring.

So I started not with more synchronous loading, but with changes to the Resource Loader itself. The first test I made gave 25% faster loading times for synchronous loading, so even with no change to the rest of the system, I would increase framerate for those laggy you-entered-a-new-zone moments.

So I rewrote that, and also changed the API. This is where the trouble started. Changing the Resource Loader API meant chnging a lot of classes that were inheriting from the Callback class to using a separate callback class (which lets me then also load objects that did not previously inherit from that class go through the Loader. I’d need a diagram to explain this properly). So suddenly, nothing compiled, and I was in the middle of rewriting those classes when I decided that the callback mechanism was a bad design in the first place, and that I rather wanted to use ACE_Future objects and cleer notification. Around this point, I also decided to make meshes load _only_ asynchronous from now on, because the ACE_Future objects will allow me to make the transition between now and fully async loading as smooth as I want it – well, or so I hope. I haven’t even started fixing the mesh class.

And if you go through that much code, you see all those things that are bugged. Dangling pointers, bad design, inefficiencies. And I just can’t let those be, so I end up taking a detour of one, two hours to fix some smaller thing. It spreads. And now it’s the weekend, and I can’t tear myself away from the machine, although I have no hope of getting this stuff to work any time in the near future…

I love my job 🙂

Arthur C. Clarke is okay

After the tsunami, the first thing I checked for in the news was whether one of my favourite writes was okay. Today I found confirmation that Arthur C. Clarke and his family are okay. He’s suffered some material damage, but no personal loss. The email mentioned in the article is here

Which reminds me that I need to finish reading Time’s Eye.

Where does Spam come from?

The original SPAM comes from Hormel Foods, of course. But as Ben Goodger writes, Spam emails and Viruses come from Microsoft’s Outlook products. He says he’d like to simply block them all.

I’ve done a count through my spam: For 298 emails I received from Outlook (and OE), I received 2269 viruses and spams from them. During the same time frame, I got more emails from Thunderbird users, but only 9 spams.

Outlook and it’s little brother Outlook Express are the prime tool for the propagation of spam, viruses and phishing emails these days, and I think it’s almost getting to be a good idea to reject mail originating from them. After all, if 89% of all phonecalls you get were from telemarketers, wouldn’t you get an unlisted phonenumber? Damn right you would. Now that 89% of the mail reaching me through Outlook are bad, I don’t want Outlook to reach my mailbox anymore.

Well, not quite yet. But I’m *this* close.

Dreamfall, Eressea, Profiler & my Lost Code

The Dreamfall website has been updated with some new screenshots.

Eressea didn’t run this morning. It looks like the new code I made for this year’s christmas gift causes some endless loop in the routine loading the data file. Remember: Code made at 2:30 in the night does not stand a good chance of running the first time you use it. Which is bad news for the rewrite of the movement code I did during the night from saturday to sunday.

Work has been slow this last day before the holidays, so I’ve been looking at the profiler for lack of other really pressing tasks – well, I have tasks, but I depend on people who have already gone on vacation, so I can’t work on those. Anyway, the profiler tells me what I already know, we need to reduce the number of synchronous resource loads on the client even more if we want to get a more steady framerate (duh), and it’s a shame I lost the code I once wrote for that. And a shame that I won’t have time to do it when we’re all coming back after the holidays 🙂 Because there’s going to be something more important to do then, I’m sure.

15,000+ downloads

Free” is the magic word.

In just one day, we’ve had 15,000 downloads of the Anarchy Online software through bittorrent. And our ftp link has been maxed out for the last 24 hours, I have no idea how many downloads that adds up to.

AO is the most popular link at suprnova with over 7000 peers at the time of this writing, beating even all the pirated stuff that’s usually found there. Bittorrent is cool – as a protocol, that is. That it’s usually associated with piracy doesn’t mean it can’t be used for good, just like email is not a bad thing simply because 90% of my mails are spam.

I’m digressing, though. Interesting times, indeed. The newbie areas are full of people, we run lots of instances of them, and Alex said he hasn’t seen this kind of crazyness since the launch day. Except this time the servers aren’t going down all the time 🙂

Meanwhile I’ve been working on version 15.8 (fixed some exotic item code) and 15.9, where I was getting really tired of the launcher code and thinking of merging it with the main game into a single executable. If I find the time, that is.

Comments disabled

I had to disable comments after getting spammed with 1000 casino-advertising comments. I’m going to re-enable comments as soon as I find a way to fight the spam – until then, why don’t you comment in your own blog and use trackback?

Anarchy Online – for free

We’ve all compared MMORPG subscriptions to phone subscriptions at one point, and now it’s becoming even more so. We have decided to give Anarchy Online away for free, no charge, no monthly cost, no nothing.

Check out the details here. Free Crack.

Why are we doing that? For free, you get the game that launched 2 years ago, with all the bugfixes, improvements and freebies we added over the years, but without the expansions. We’re hoping that some of the people who play for free will say “uh, this is fun, now I want that expansion thing”, and become paying customers. But if they don’t, well, they still get an MMORPG.

This is for you if
– you can’t afford two MMORPGs at a time
– you have no credit card (we don’t require one for free accounts)
– you want to check out AO at your own time, without being forced to pay after two weeks.

I’m expecting people to say “yeah, desperate attempt at getting customers after WoW and EQ2 launched”. The truth is, we’ve been thinking about this for a very long time, because like the cellphone market, we think there’s room for more than one business model. Requiring a credit card has been a major obstacle in many markets, for example. We probably lost some customers to them, but not dramatically. And we don’t know if they’ll stay lost – after SWG, which is a much more direct competitor in the SciFi genre, we saw a drop, but a pretty fast recovery when people found that they the depth of the game, their friends or whatever drew them to AO particularly.

I think that like UO, Anarchy is here to stay. We’ll continue to be creative, both in-game and sales-wise.

And now go play!

The opinions in this posting are my own, not those of Funcom. And if I get the facts wrong, you can’t sue either me or them.

AIM? Oh right, I think I have an account there, too…

Looks like AOL accidentally banned 10.000 users last week.

I find it doesn’t really matter which IM protocol you use, as long as the software you use supports them all (plugins). I use Miranda.

AIM is the one I have the least friends on, most people are on ICQ, a few on MSN and some on jabber or yahoo. The whole thing is completely transparent. And if AOL shuts down AIM tomorrow because they don’t make enough money on it, all that means is my friends on AIM need to find another client, not me =)

Underdeveloped Country

Germany’s Der Spiegel magazine has an article about Smoking in Germany in their English section. It’s one of the things I dread about going back there this christmas. One of the lesser things, but nonetheless. Being unable to go to a restaurant and enjoy a meal and an evening wih friends without the continuous clouds of smoke in the air. The smoke in your clothes the morning after you come home from a bar. Cigarettes are everywhere. I wish they could be a bit more be like Norway. It’ll never happen of course.

LCD screens are nice

One of my 21″ CRT (Sony G500) died last week, and since the heat in the office can get pretty bad now, I got an LCD. We’re rapidly moving from CRT to LCD, it seems, Mona says she’s ordering two every week now.

It’s really nice. I’ve been experimenting with ClearType, and I think I prefer no subpixel hinting, but I’m just not sure yet. For now, I’ve got it turned on. It makes things look less sharp and defined, definitely.

I’m thinking of getting an LCD for my home PC as well, but I’d really like to rif myself of the TV in one go – having a separate TV screen is really not necessary, I feel, not as long as both Gamecube and PC are in the same room. Which means I want a big 16:9 display. Which is a big investment, still…