Archive for 'uncategorized'

The Escapist

The Escapist is a good read from time to time. This time, it’s Greg Costikyan:

And actually, EA tried to kill The Sims many times before it was finally released. From what I’ve heard (and this is definitely hearsay), Bing Gordon’s comment at the meeting where publishing was approved was: “Well, it’ll only sell a hundred thousand copies, but it’ll get Will off our backs.”

We’re only talking about the best-selling PC title of all fucking time.

Gee, I’d want all magazines to be like this. Focused, to the point and without trivial crap that most of them are 99% full of.

Doing something

After taking a break, I already want to do something programming-related in my free time. What should I?
  • The standard thing: do a demo. I have some ideas (LT) for that, but for various reasons I’m not in the mood right now to start a big/long project.
  • Read some books. I’m doing this a bit.
  • Learn something. Do something with wxWidgets or some Lua-only programming, but didn’t start anything yet.
  • I already should do something related to the next version of Project Hoshimi for Imagine Cup 2006. I’m trying to!
On the unrelated note, I’m doing a Oracle and XSLT related project at work. While Oracle stuff I’m dealing with really sucks, XSLT isn’t bad at all. Sure, it’s not “programming” that I’d love very much, but the whole concept is very powerful.

Maybe XML isn’t such a bad thing afterall, especially once you start doing funky things with XSLT and XPath. I still love the quote “XML is a giant step in no direction at all” though :)

Software of the week

It’s never too early for Software Of The Week awards, even if it’s only Tuesday. Ladies and gentlement, Aras’ picks are:

  • Software That Rocks award goes to TortoiseSVN and PmWiki. Both are slick, sexy and do not try to annoy you. They actually work (that’s already something!), they do not crash whenever I do just-a-bit-non-usual action, they do not corrupt my files behind my back.
  • Software That Sucks award this week goes to Oracle Reports and Designer 10g. Sorry dear Oracle, but the best description I have for those is “Ugh”. For a longer description, just invert everything that’s written in the first point.

See you later!

What’s in the engine?

As always, here’s a thought that’s more about demo-engines than about game-engines; and mostly dealing with graphics stuff.

Some folks add whatever gfx effects/techniques they use to “the engine”. Quote from Plastic:

We’ve also added a couple of new features like <...> wireframe/particle shader.

Now, I don’t have a problem with that, but what strikes me is that for whatever reason our engine doesn’t have any effect/technique in it. Zero shaders, no shadowmaps/PRT/refractions/whatever.

The obvious disadvantage of our approach is that for each demo I basically write the shaders and “effects” from scratch (ok, copying them is also fine). There’s no central place where, for example, a Gaussian blur postprocessing filter or shadowmaps rendering code is stored.

On the other hand, that means (nearly) complete freedom for each demo. In each prod I can tweak whatever I want and implement completely different rendering techniques. For example, in.out.side demo is quite different from Visual Gaming viewer or Xplodar FEM demo, yet they all share the same underlying “engine” (read: bunch of code).

Still, what I’d like to do is have “somewhat stable” stuff gathered in one place. I don’t tweak my basic lighting functions, standard postprocessing effects or shadowmap sampling patterns that often :)

Vacation!

I’m going off to Turkey for a week (vacation). Then, I’ll go to Japan for a week (ImagineCup finals). Will see how it goes; should be pretty cool I guess (well, the air will most likely be hot, not cool).

Press releases and other noise

Ok, seems like Microsoft Lithuania issues some PR about ImagineCup and our demo in there, and now every news portal in Lithuania catched it.

Now, its pretty standard in a sense that from the PR itself noone could understand what it’s about. The “rendering competition” is translated into something that means “the competition of presenting ideas”; and the demo is described as a “CG short film”. And, of course, the usual press-like exaggerations: “competed with 17000 students and took 1/2 place” - which is obviously wrong as 17k is the total number of students; in the rendering compo there was probably something like 100.

I don’t like it (the press); it’s just a noise that distracts you. Meh.

One funny thing: yesterday I received a call into work phone from one local PR agency. How the hell do they get this information? They know my name and university (it’s in the press release) - how do they find out where I work and more, how do they get my phone number? I mean, even I don’t know my work phone number (ok, I could find it out if I needed)!

Japan, here we come

The results of ImagineCup05 rendering compo were finally announced!

The best thing of course is that our demo in.out.side: the shell took the 1st/2nd place (a tie). That means that both winning teams will go to the finals in Japan at the start of August. The final winner will be somehow decided there.

That’s going to be pretty interesting, methinks. We’ve got the 2nd place last year; the other winning team got the 1st place last year. This year, the same teams meet again, but it’s still not clear which one will win. Cool.

I wonder how the winner will be decided. Will we need to to some “presentation” (techniques/algorithms/workflow/hacks used)? Maybe there will be an additional “fast demo” competition (e.g. make a new demo in 1 day)? Interesting. Waiting…

While waiting for ImagineCup results…

Aargh, the ImagineCup crew postponed the results announcement again (that is, 3rd time already)! First it had to be on June 13th, now it’s scheduled for Real Soon Now, Really!

Meanwhile, I’m doing a game that surely will revolutionize the whole gaming industry, blah blah etc. That is, a letter learning game for my daughter; in Lithuanian. There are lots of these (example), but the problem is that they’re in all languages except the one you need.

Now, the most obvious implementation would be in Flash. Alas, I don’t have Flash authoring tools nor do I want to learn them and it’s ActionScript. I thought about going Lua+SDL all the way, without C++ at all. Guess what - SDL doesn’t have any high level audio playing stuff; I’m too lazy to bind it’s sdl_mixer to lua; there’s no nice IDE and there were lots of other obstacles. So I just went and am doing this in C++, abusing our demo engine. Oh well, I’m just lazy.

While implementing it I found out that I have no good tool to pack lots of arbitrary images into nice power-of-2 texture atlases. nVidia’s Texture Atlas Tools do almost that, but they rescale textures to be power-of-2 (which is usually ok, but not for my case). So I just had to fork the AtlasCreationTool (just SVN link for now) to do what I want. While at it, I removed it’s dependency on D3D sample framework (hey, removing code is always good!), forced it to support non-pow-2 textures and to pack them better. It’s probably not that good for the usual case (where you want to place textures at block boundaries in the atlas to minimize mipmap artifacts), but packs arbitrary sized images pretty nicely. Yay!

Various

I’ve got my Master’s diploma. I feel like nothing has changed, probably so it is.

We have a pretty unreal orchid in our house. I bought it 8 months ago, and it’s been blooming all the time. It’s even getting bigger and bigger!

Casey Muratori:

God, no wonder games are so hard to make. The tools are such complete crap. Some day there’s going to be a tools revolution and one guy will be able to make the equivalent of today’s $10 million games. There’s no doubt in my mind.

Demo engine to game engine

A Pilgrimage 2004 talk by Tom Forsyth. Good points captured.