Archive for: April, 2005

sechsta sinn weekend

Tomorrow another sechsta sinn weekend is going to start, and right now I feel sick. This sucks. But not just physically, but mentally as well … mattin told me that he has to leave early on Sunday noon, Julius is thinking about attending a birthday party on Saturday, I have to work tomorrow before I can take off, and Christopher, Jochen, Jan and Sebastian won’t join us at all due to several reasons. Melancholic I remember the days when we managed to get the whole team AND visitors into our little cellar for the whole weekend. Anyway, I’m looking forward to being as productive as possible this weekend. I’ll take my webcam with me again, so don’t forget to catch a glimpse.

Privacy and Copyright on ICQ/AIM

I’m sure it’s an old hat for the most of you, but I read about this for the first time and found it unacceptable (and I can’t believe I really overlooked this when I agreed to the terms of service).

From the ICQ Terms Of Service:
You agree that by posting any material or information anywhere on the ICQ Services and Information you surrender your copyright and any other proprietary right in the posted material or information. You further agree that ICQ Inc. is entitled to use at its own discretion any of the posted material or information in any manner it deems fit, including, but not limited to, publishing the material or distributing it.

From the AIM Terms Of Service:
You or the owner of the Content retain ownership of all right, title and interest in Content that you post to public areas of any AIM Product. However, by submitting or posting Content to public areas of AIM Products (for example, posting a message on a message board or submitting your picture for the “Rate-A-Buddy” feature), you grant AOL, its parent, affiliates, subsidiaries, assigns, agents and licensees the irrevocable, perpetual, worldwide right to reproduce, display, perform, distribute, adapt and promote this Content in any medium. Once you submit or post Content to any public area on an AIM Product, AOL does not need to give you any further right to inspect or approve uses of such Content or to compensate you for any such uses. AOL owns all right, title and interest in any compilation, collective work or other derivative work created by AOL using or incorporating Content posted to public areas of AIM Products.

I heard that Jabber is an interesting alternative, and it also supports PGP. You don’t need to search for their terms of service; it’s completely free, open, public.

Weekend Gamedev

I’ve done a huge refactoring of our game project, DVW, over the weekend. One reason was that I could not see the GUI code anymore. It was a mess! Most of the stuff was about four years old, and it looked like 40 years old or so. So I was spending the whole Friday night to rearrange things, move attributes and methods up to the parent class, remove some redundant stuff, and I even killed about 1000 lines of code by simply removing some GUI controls which were not used any longer and which were buggy as hell.

The main reason was that I am currently writing the main menu code which is completely controlled from a Lua script. I didn’t want it to be hardcoded, because I don’t want to be the one who needs to do all the fine tuning with all the visual effects we’re going to have. We have people who are much more talented with this detail work.

I wrote a state machine which supports multiple states at once, so that a single effect in the menu is represented by a state. For example, we have very short background videos playing between every menu dialog (a quick camera move which shows the Earth from different points in space, really cool), so this transistion is a state which shows the video, waits until it’s finished, and terminates, or triggers other states to start. In the meantime, another state is responsible to clean up the old GUI controls (i.e., they’re flying out of the screen, fading out, or whatever), while a third one moves the new controls in. And a fourth “randomizer” is responsible to create some effects from time to time (which are states, as well), e.g. some explosions on the Earth in the background, or some static (read: noise) in the background image, or a little falling star, and so on and so on. I’m sure it will become pretty cool if my poor programmers art is replaced with real artwork from our fantastic artists.

All this is done with our Lua API, a set of 100+ commands which interfere with the C++ part of the game logic. It isn’t just about GUI stuff; you can control roughly everything one could control with the mouse, and even more. You can move units, assign groups, move groups, evaluate influence maps, make factories produce a unit, search resources, play sound effects, crossfade music, select the next map to play, move the camera over the map, and so on and so on. Although the way I wrote the API isn’t the best one, I’m quite happy with the result.

Our lead tester is using it to tweak DVW to the maximum – he does things that I had never dreamed about! He has become our lead scripter in the meantime, and I am doing my best to support his efforts, as the outcome in turn is well worth my effort. So well, that’s it about my satisfying weekend.