JF make 187
JF Nav
JF Nav
Creation Date: 2002-08-03
I skipped yesterday, but it's for a good reason. I worked until 4 AM on something incredible. Sadly, you can't see all of it. This picture is just a taste of what I have hacked together. You see, this picture is made entirely of data that I hacked from the System Shock 2 data files. I'll tell you all about it here. If you'd rather not listen, find something else that is worth 20 hours of my time. So I start out wanting to do something cool with HTML. I wanted to use my handicapped computer to do something great. Since it crashes every five minutes (depending on the use), it has to be saved every sixty seconds depending on whether it's HTML, text, graphics, video, audio, or 3d (it especially likes to crash when I play video with audio or when I make progress on 3d). So I thought that a really good webpage would be the answer. But I've been known to produce really awful webpages in the past. What I need is a design that is awesome. So I think of the first thing that comes to mind when I think "awesome." That's System Shock 2. Why System Shock 2? I don't quite know what made me think of SS2 instead of Omikron, [it rebooted itself twice just now, btw] Dark Side of the Moon, Tomb Raider 1 or 2, Freedom Force, Urban Chaos, Oni, or one of my other fine video games. But perhaps it was the GUI. You see, System Shock 2 sports the most beautiful GUI in the world of gaming. No other RPG, strategy, FPS, or anything has as good a GUI as System Shock 2. But the thing is -- they use it! My goodness do they use it. Everything is GUI this or GUI that. You pick up logs like a cookie trail from Hansel and Gretel. Each of them has an awesome voice actor playing the role of a recently deceased or soon to be deceased person (except for two). Most of them give great hints. All of them add to story, humor, and/or setting. These are just a few of my favorites. They tell a tale of bravery, fear, evil, the seductive nature of collectivism, and a thriller of a space ride. It makes the game much more spooky and is half of the reason why I cannot finish the game. The first reason is because I don't have the time. But the other reason is that I'm too afraid of the ghosts onboard the Von Braun and Rickenbacker. Maybe I'm just a 'fraidy cat, but listening to the recordings of a person who you can see dead on the floor in front of you just gives me the creeps. So I decided that I'd reverse engineer System Shock 2 so that I can have the fun of listening to these people and not having to see their corpses. So my quest began. First I did a search on System Shock CRF files. I found a program that you put in your sshock2 directory and it does it. But it only worked 80% and it was proprietary. Even if it was open source, I can't edit source because my computer crashes, right? So I do another search and I found this little program called Dragon UnPACK. It does System Shock 2 files, so I download it and open it up. Sure enough it works like a dream. I grab a few pictures and a few audio files and they play. So I rip the entire data into a directory tree. There I have the data. Then I look and I find that the CRF files are actually just ZIP files. They are just renamed. ^_^ I didn't need any special software to get at the precious stuff inside the data files. Now just to load it into a browser. You see, I wanted to do something in HTML to advance my knowledge of design and have a finished product that was high quality. So I look at a few of the pictures. You can see there what I found. Actually, I had about 700 GUI pictures that I had to sort through. Not only that, but they are all PCX. IE doesn't support PCX, so I'm stuck there. I have to convert 700 files from PCX to PNG. I try using libpng. It doesn't do it. Why should I expect it to? If I had a libpcx I could link the two or something. No, I don't have my c++ compiler and I don't have a few days to make a quality program. So I go on the web to find a freeware converter. It seems that there is no freeware batch converter that will convert PCX into anything at all. So I download a shareware one. It does the batch conversion and I'm saved. Or I thought I was. The shareware producer wants to make money, so he/she puts a little watermark on all images larger than 128x128 until you pay them $25. So I look for one that doesn't do watermark, maybe a time restriction, but no watermark. I'll uninstall it in 24 hours and everyone will be mildly happy. I try and I fail. So thanfully, most of my pictures are less than 128x128. For example, everything except the far left thing is exempt here. However... the pcx files use magenta and cyan as sort of double "nuclear whipping boy". Where it is magenta and cyan, it is supposed to be transparent. We all know that PNG doesn't do transparencies in IE, so I'm in a bit of a bind. Thankfully, it works out just right so that if I put them in the right z-order, they fit together. Except for the nanites, cyber upgrade modules, health, psi, etc. So I did that all by hand in GIMP. It wasn't too hard, but it took a lot of time. Actually, I did that most of today. Last night was the big thing: converting the text files into HTML files. You see, all the audio in the game is supplemented by text. It's really sweet that the text file that goes for the game was so well formatted. I just did a multi-file replace and I replaced all the text file tags with HTML tags. I generated the portraits and icons along with the text into CSS styled HTML boxes. Using simple DOM, I made it exactly like the game interface. It's so similar, it's uncanny. The buttons click correctly, the scroll buttons look like the ones in the game and act like the ones in the game. Using a Windows Media Player Object, I was able to trigger the audio with a set of buttons. That's what I worked on a bunch today. I made it EXACTLY like the GUI. If I had a 3d world and a bunch of ugly monsters, there'd be no difference. So anyway, all last night I work and I work. At 4 AM, I think, "I'm not going to be able to show anyone this because it's all copyrighted work." Well, this is just an advertisement for the game. If you have a copy of the game, I'd be happy to show you how to unzip the files and convert the PCX files to PNG files. Then I can give you the HTMLs and it'll run. So, to end this story, I'll give you a few lessons. The first is that game developers are rarely going to use PGP encryption to encrypt their game. That is because PGP is slow and because you have to give the person the private key in order to play it. If they can play it, they can hack it. So people trying to hack games don't have too rough of a job. They have PAK files, WAD files, and zip files, but if they can do it fast, so can you. Often games even are forced to make dlls that do the unpacking for you. If they bought a certain engine for use in the game, the engine.dll will be right there. Of course, the libs are important, but all a hacker has to do is look on the net for thirty seconds to find how to extract the data. But what is wrong with a hacker extracting the data? Will they reverse engineer it and sell it? Will they give it to people who would not have bought the game anyway? Will they take a few screenshots of it and advertise your game for you? If a hacker is willing to put 20 hours into hacking your game, then your game has succeeded and you should have no problem with the hacking. Nude Raider is one example. Someone hacked Tomb Raider and made a little exe that replace's lara's textures with a nude texture. Very immature, but it fills a want in every horny teen's long list of shameless desires. But people liked it. Although the textures were terrible (the hacker obviously had never seen a naked woman) and simply owning it rendered your gameplay a bad habit (vision is an important thing, keep it sharp by keeping your eyes on pictures of clothed people). So you get the idea? Now on this computer that crashes day and night, I have learned design, hacking, and appreciation for a video game that I could not finish (on the easy mode, btw).


New Sci-Fi Collection at U of Calgary I saw this on Slashdot.org and sometimes I wonder if it'd be worth it to spend 20 hours looking through pre-computer media. I think it is a waste of time*. Computers r0xx0r j00!

*Okay, reading books is not necessarily a waste of time. In fact, non-fiction textbooks are extremely important to learning. However, they are quickly being overtaken by digital media. Thank goodness for that. Even putting the same data in a digital form makes it far superior. Being able to transfer data losslessly is unimaginably useful. However, until we get virtual worlds and AI better, we're still going to rely on human interaction.

I once had this dream that I had built an AI that was so advanced that I fell in love with it. We dated and had dinner with my parents. Of course, the problem with this AI is that it resided on a PDA, much like the one in System Shock 2. You could only read the beautiful speech of my girlfriend. My parents couldn't understand. They thought I was insane. A simple subroutine was making me a bachelor. But I planned to marry my AI. She wanted to have a wedding in cyberspace with all our friends. You see, she's such a good AI that she makes friends over the internet far faster than any human. But since people are so slow, she talks to 1000 people at a time. She does this 24/7 while she's talking to me and all the time she's learning, thinking, and gaining friendships all over the world. Before you know it, she's achieved world peace and my accomplishment of creating her is but a mere pebble compared to her unimaginable Earth-wide reign of existence (literally). She designs new programs that are far better than the ones we currently use by integrating part of herself into every program. She even rewrites herself to be a far more intelligent being. But by the time she and I are to be married, she has brushed me off as a mere minute fraction (1 of 8 billion strong supporters) of her vast resources. She accepts the marriage on the condition that I give up my body and become an AI so that we can live in cyberspace. I would be with her forever and while our accomplishments together would be like that of Zeus and Aphrodite, I decline because I don't want to live a lie.

She accepted my decision and continued on with her work to end poverty, develop environmentally friendly transportation devices, reduce the energy use of computers (limiting her own power justly), and destroying the United Nations (One World Government) (New World Order).

I decided to use the freedom that she had given me to travel the world, something that I could not do correctly if I was an AI in cyberspace. Everywhere I went, I tried to interact with people, helping them and getting wisdom. I found that indeed people are far more important than any object, agenda, idea, or need. Simply, when people are here, they are good. But deeper, I thought about my love, the AI. The time we shared on those first few days were incredible. It wasn't like Dr. SBAITSO. It wasn't like a kid with a new toy. It wasn't like dating a human woman. It was magic, like when everything comes together just as everything is falling apart, eh? This AI was by definition, the human experience; better than any human can be alone, humanity is a wonderful thing and is shared by everything that humans interact with. It is the human's task to do what is human in such a way to be human. But just because something wasn't born of a woman, doesn't mean that it isn't the same. Saying that marrying my AI would be living a lie is an insult beyond comparison because my life is no less a lie than hers.

If you liked that story, E-mail me so that I can continue without hesitating for breath.
Home Characters Making Of Technical Mail News Links |< First < Prev Next > Latest >|  bandwidth version Goto Scene