November 20, 2008

MMO Video Files - An Untapped Feature

As some of you may already know, I have taken quite the interest in making Ultima Online related videos this year. Most recently I am proud of the production showing a fight of the fabled Meraktus the Tormented, a spawn which had little information published about it. There are now 50 videos in total.

Something that I've had in my mind for a very long time is the creation of a program which let you record and play videos directly from the UO client. This tool does in fact exist. Unfortunately it is part of a suite of cheating software, otherwise I think it would be pretty popular.

What am I talking about exactly? Well in a normal video you have tons of image data. If you have any sizable collection of pictures or movies on your computer, you know that is what takes up the bulk of your hard drive space. In a video, each frame (of which there can be up to 32 frames per second) records the data on thousands of pixels to make up the image. For a completely uncompressed 800x600 video running at 24 frames per second, that is 11,520,000 pixels which need to be accounted for, or roughly 32MBs of data. For one second of video!

Of course that is not the entire story. Algorithms known as codecs are used to compress that data into a more reasonable size. A good quality video is going to still need about 10-20MB per minute after all is said and done.

But what if you didn't store the video as image data. What if it was stored like this....

[00:00:01] [sound] [greater heal]
[00:00:01] [mobile] [dragon turn west]
[00:00:01] [mobile] [dragon walk west]
[00:00:02] [mobile] [dragon fire breath player]

Text data takes up an insignificant amount of space in comparision. In fact this is how your game client knows what is going on. The game server sends data which is measured in the kilobytes per second instead of megabytes. If the client saved all this data to a file and then had the ability to play it back, you have a video player!

This technology has most recently been prominently featured in Halo 3. In that game the server actually saves all the data and lets players who wish to download the video file. But that is now how it would work for a MMO, the client would do the saving.

I think the first MMO which does this is going to have a major hit on their hands. This is a completely unused technology. I cringe at what would happen if Blizzard implemented it for World of Warcraft. Of course I would love to see it for UO.

Going even one step beyond, though this would be a massive undertaking. It would be so utterly amazing if a website could be designed around playing these tiny UO files. As is, you would need a copy of the Ultima Online client installed on your computer in order to play them because that is where all the image data is stored. But UO's style of art would is actually very good for use in Flash movies. It should be possible to make a website in which you could upload the UO movie file. The site would then run a program which would compile a flash movie, pulling all the relevent UO graphics, animations and sounds. Then you could watch it like any Youtube video.

Of course the file size would not be insignificant. But it would not be anywhere near as large as a normal video file. Instead of having to record every frame, it records the graphic one time and moves it around. One mobile which might take up 2-3MB of video data would only take 100KB in a flash movie. The rest of the client functions could be mimic down to the smallest detail. I wrote a special algorithm several years ago to copy UO's talk-over-heard text exactly. From the 2-tone coloring of spell text to how many characters fit on one line to the unique font style. It was actually very interesting to do.

Anyway, this was just something I've been thinking about for a long time. Perhaps one day it will happen.