Lego Turns 50 Today

Today is the 50th anniversary of the filing of the patent for Lego bricks.


The Google logo received a Lego treatment today.

I received my first Lego set 34 years ago—number 480, the Rescue Helicopter—at age 5, as a Christmas gift from friend-and-neighbor Chuck Altwein. I quickly learned to completely assemble and disassemble the model without the directions. This was followed by set number 135 that year from my parents (too small a set, but I do not blame them), and many, many others, including some of my favorites, 190, 404 (which still gets my vote for best classic building set), and the 487 Space Cruiser, which was one of a trilogy of sets that opened Lego’s hugely popular (and still running) space line. (This line also introduced the modern Lego minifigure, or minifig.)

Lego forever changed my childhood, as I spent nearly every Saturday morning surrounded by Lego. One of the worst punishments I ever received was when I got frustrated trying to build a truck, and threw the partially completed assembly across the room. My Mom put my Lego in the attic for a week, and I learned to control my temper better. (I recall an incident with Isaac, at around age 4 or 5, where he had his Lego taken away for something similar, and he cried for 3 1/2 hours straight.)

I continue to build with Lego with my kids on rainy days at home, and lead a Lego robotics group that meets once a week at work (where I am known by the nickname LegoDoug). We have completed one project using the original RIS/RCX, and are switching to the NXT this week, thanks to Nichelle’s wonderful anniversary gift.

My boys are crazy about Lego Bionicle and the Lego Star Wars lines, and even NaNi loves to build, and I can’t think of any toy that has provided so much innovative playtime.

Check out some coverage on Gizmodo, Slashdot, Time, and this Lego timeline on Wikipedia.

Following are images of some of my favorite bits of my own Lego history.


I lobbied shamelessly and amorally for this one Christmas. It was Lego’s largest set to date.


One of Lego’s best sets ever, which included a Lego motor.


The Lego Space Cruiser, an unquestionable classic.


Lego’s first castle set.


The first Lego robotics kit, and a little piece of history.


An iconic robot constructed from the new Lego NXT robotics kit.

The Right Political Party

As I have been pondering the various Presidential candidates in preparation for today’s primaries in New Hampshire, I realize I am frustrated by and disgusted with both the Republicans and the Democrats. I will probably, before the Presidential election, change my voter registration from Republican to “unaffiliated.” (I am tempted to change it to Communist, merely because it would generate some interesting mail.)

What do we see in Washington now? Infighting. Foot-dragging. Stonewalling. Blame-gaming. Anything except working together to improve the conditions of our country or solve its current problems. Of course, we do have plentiful bipartisan distribution of corruption and dishonesty. Grow up, Congress!

It’s time to form a new political party. Call it the Right Party. It’s guiding principle would be to do what is right. To do what is morally right. To do what is right for our country. To do what is right for its citizens. To do what is right for our world. To do what is right for our future.

Some things are obvious: It isn’t right, for example, to embezzle funds, deny habeas corpus to US citizens, or accept bribes. It isn’t right to choose political expediency and present half-truths to forward a particular agenda.

Many decisions would be easier to make. It would not be right, for example, to ignore the genocide in Darfur if there was any possible way we could work to end it or aid its victims. It wouldn’t be right to offer another amnesty to illegal immigrants. (It would also not be right to ignore finding a way to replace 8 to 12 million illegal workers on which our industries depend.) It wouldn’t be right to appoint Supreme Court justices who believe it is their job to twist the Constitution outside its historical context. (We have a prescribed amendment process for updating the Constitution when necessary.) It would not be right for our future to pretend global climate change isn’t happening, or ignore the gathering momentum to eliminate pollution and dependency on nonrenewable fuels.

Some positions would be harder to determine. Finding the answers to such quandaries as funding human cloning research using processes where viable embryos are not destroyed would require something not valued in Washington or perhaps in our nation at large: thinking. We would have to abandon the name-calling, generalizing, and labeling and get back to a discussion of the issues that matter.

The Right Party: Making the right decisions … doing what’s right.

Censoring Crysis – Defeating the Potty Mouth

I promised you all I’d keep you updated on my clean-up progress. While I was procrastinating, another group of guys got together and blasted through the work in a manner to which only teens fueled by pizza and soda can accomplish.

I’ve actually tried their patches, and they seem to work well, making playing Crysis with the volume it deserves a much less cringy experience.

I’d recommend heading over to http://www.gamesoap.net. If their files give you any problems, just send me (or them) an e-mail. (Mine is {myfirstname}@wilcoxfamily.net.)

Thanks, guys from GameSoap. (And I’d add Company of Heroes to my wishlist for cleaned up games. I’ve looked into it, and even know how to edit the files; putting them back into the game is what I never finished.)

Blessings to you all.

Crysis rules!


This in-game screen shot shows some of the visuals that make Crysis so amazing.

Crysis is, without a doubt, completely deserving of the 98% score awarded to it by PC Gamer. Crytek built so well upon the immersive environment and storytelling that they had nearly perfected in Far Cry, that my kids and I have spent hours playing it, wearing out the demo mission, and then losing our lives for several weeks when the full version arrived.

Unfortunately, it has one small problem beyond the currently high hardware requirements. True to its military nature, the characters suffer from a severe case of potty-mouth. This really wasn’t acceptable to me, and Crytek didn’t provide a language filter or switch, so I decided to do something about it. And now you can, too!

Are you as smart as my kids?

There are a few assumptions here. I assume that you are reasonably proficient in a windows file system, and can do basic things like rename files, work with compressed folders (Zip archives), and know the difference between a file and folder.

Finding your starting point

First, find your Crysis folder. It’s probably c:Program FilesElectronic ArtsCrytekCrysis. Then drop down to GameLocalized.

Showing file extensions … step one toward becoming a power-user

For the folders in which we will be working, you will want to show file extensions for known file types via the Folder … Options dialog (see image below), unchecking the box marked “Hide file extensions for known file types.”


This is how to show those oh-so-useful file extensions.

Begin by making a backup

The english.pak file is the one you’re going to extract and modify, so we’ll make a backup of it first. Copy the english.pak file, and name the copy english.pak.original. You should end up with something like this:

The key here is, that the english.pak file is really just a pkZip-compatible archive with a different name. We can, using the wonders of Windows XP, extract it, modify its contents, and repackage it. (We could directly modify its contents just like any other folder, but there would be delays while the operating system uncompresses files that would soon become frustrating.)

Rename your english.pak file to english.pak.censored.zip.

Extraction

Right-click on english.pak.censored.zip, and choose Extract All ... from the context menu, which will open the Extraction Wizard. Click Next several times, watch the Extracting ... meter for a bit, and you’ll be ready for the next step.

Clearing the read-only attributes

To avoid possible repeated annoyances, you need to clear any read-only attributes on the exacted files. Right click on the newly-created extracted folder (which should be named english.pak.censored), and choose Properties. Click on the box marked Read-only until it is empty, and click OK. At the prompt that appears, choose Apply changes to this folder, subfolders and files. This will allow you to do the renaming or editing you need, without having to answer 7,439 prompts.


Clearing the read-only attribute for a bunch of files.

In the newly-created extracted folder (which should be named english.pak.censored), open up the Languages folder, then the dialog folder. From here you are going to have to search for text within files. Ah, but wait! Windows XP, by default, won’t find text within files that don’t have file types it knows about. So, you’re going to have to tweak your system in one more way to find what we need within the .fsq files (to be explained momentarily) that Crysis uses.

Fixing the darned Find Text within Files feature in Windows XP

Find your My Computer icon, right-click on it, and choose Manage. In the Computer Management console, click the plus sign next to Services and Applications, and then right-click on Indexing Service and choose Properties. (We won’t actually be activating the CPU-wasting Indexing Service, but the setting to fix the Find Text within Files feature is part of that service.) Be sure the box marked Index files with unknown extensions has a check mark in it, click OK, and then close the Computer Management console. (See the image below.)


Fixing the Find Text within Files feature in Windows XP.

Search and destroy the #!%#!$#!@$ bad language

Now we can find and eliminate any language you might find offensive. You should have a folder open to something like english.pakLanguagesdialog. Press F3 or click the Search button at the top of the window to open the Search Companion. Click All Files or Folders, and enter *.fsq in the All or part of the file name: box, and the word you want to eliminate from the dialog in the A word or phrase in the file: box. In the example pictured below, I’ve entered nomad, which can hardly be considered profane, but you get the idea.


Personally, I hate the silly dog, and have hacked my account with TweakUI so it doesn’t show up. This screen shot is from my youngest son’s account.

Click Search Now to start the search. It will take a few moments to find the files for which you are looking, but you can start with the first one it finds. You will know the search is complete when the Search Now button becomes active again.

Right-click on the first file in the list, and choose Open Containing Folder. That will open the folder containing that file, and highlight the file, as shown below.

In my example, greets_02.fsq is highlighted. It isn’t necessary to do so, but you can open the file and view it if you like. (Windows will ask you how you want to open it. Tell it to Select the program from a list, and have it opened in Notepad or WordPad.) The .fsq files actually contain the XML that drives the facial animation when the in-game characters are speaking, and I found it fascinating. The files also contain the “real” text for the spoken dialog, which is why we can use them to find offensive language.

As I said, it isn’t necessary to examine the .fsq files, unless you want to verify exactly what the dialog is that they describe. Notice that the folder you’ve opened contains two files with the same file name, but different suffixes. The one that ends in .mp2 is an MPEG layer 2 audio file that contains the actual dialog audio. To eliminate it from being spoken in the game, just rename it .mp2_ (or anything else you like; putting underscores in file names is kind of a Geeky programming thing to do). I do recommend keeping the name the same and modifying the 3-letter extension, though, because you may wish to get at these files again later.


Renaming a file.

Once you’ve done that, close the folder that contains these files (the one that opened when you chose Open Containing Folder). Then go to the next file the search found, right-click on it, and choose Open Containing Folder again. Repeat as necessary, and run new searches as necessary, until the game reaches the language level you’re comfortable with. (My target was somewhere between rated G and rated PG.)

(Rather than just rename the files, one could use an audio editor like Audacity to remove the offensive words. It is my intention to do this with some of the longer dialog clips, but I have not taken the time to do so yet.)

Packing it all back up

Once you are done running all your searches and renaming all the files you wish to change (and this may take a while), as there are quite a few, the last step is to recompress all the files into a new compressed folder named english.pak, and be sure that file is in the correct location. Go back to your C:Program FilesEA GamesCrytekCrysisGameLocalized folder, right-click on the english.pak.censored folder, and choose Send To then Compressed (zipped) folder. This will create a new file called english.pak.zip, and will probably take a couple of minutes.


Recompressing the modified folder into a .zip file.

Lastly, delete english.pak (you should have it backed up as a file named english.pak.original), and rename english.pak.zip to english.pak. You should then be ready to play Crysis and not feel the need to wash out the character’s mouths (especially Psycho’s) with virtual soap.

Other possibilities

Now, if you don’t want to go to all this trouble, if you send me a really nice e-mail (or a 512 MB NVIDIA 8800 GT), I just might point you to a place you can download my modified .pak file. (Mine is {myfirstname}@wilcoxfamily.net.)

Next on my list of games to fix: Company of Heroes.

2008: Year of the Nerd

I hesitate to include this, but this is the sort of thing that goes on at a New Year’s Eve party at Heritage Baptist Church.

In addition to “praying in” the new year, we also spent several hours playing board games and doing improv skits. Lynn B., our great game organizer, ran a Family Feud session, which was quite fun, although at first we demonstrated our vast lack of knowledge in how this particular game show operated. Once it got going, the competition was fierce.

I loved the fact that all the kids were involved as well. David was interviewed by me in one of the skits as an eyewitness to the events of “The Ugly Duckling”; in his version he ran over the Ugly Duckling with his car! Tom H. brought a snowball inside, which ended up recycled a number of times by being thrown or dropped down the back of people’s shirts. Pastor Erik told people (not necessarily children) not to run about 4,328 times. Phil L. and David E. carried Isaac outside a couple of times and threw him in a snowbank.

Afterward we went home and let the kids stay up as long as they wanted, as is our tradition on New Year’s. NaNi didn’t make it much after 1:00. David was up until about 4:30. Isaac stayed awake until 6:40 p.m. on the first. We woke him up for dinner, and trounced him at Halo 3, which is extremely unusual, but shows how drastically sleep deprivation can affect performance and critical skills.

Late afternoon on the first, we were in the process of getting ready to go see Enchanted, when David came in calling, “It stings! It stings!” I thought he’d hurt or frozen his hands, until he pointed to his head. Isaac had accidentally hit him across the eyebrow with a snow shovel, splitting the skin open quite deeply, so we went to the emergency department at SNHMC instead of to the movies. (The physician’s office had just closed.) David was very worried about stitches, but got to have his skin superglued together instead.

While David and I waited, and waited, and waited in the waiting room, Nichelle was at home making beef enchiladas, our last bit of holiday eating-too-much-for-our-own-good.

Welcome, 2008!