I Wanted Orange (The machine would not make a mistake.)


CTF 2Fort Revamp B3 uploaded to Steam Workshop

After coming across another stolen/plagiarized copy, I decided to try uploading the map to the new (comparatively) Steam Workshop: CTF 2Fort Revamp

Dealing with the Source SDK again, I imagine this is a bit like Chell felt at the start of Portal 2: You realize a whole bunch of time passed, and all the nice humming machinery you remember is in disrepair while a few new weird mechanics exist.

This also marks an attempt to overcome a sort of writer's block that uses the excuse of "it's not good enough to share yet", which usually ends up with all of my creative-energy going into pun-filled Reddit comments. We'll see.


Still alive in 2012

Sorry, dear readers. Or reader, more likely. I've been slacking off for the last few months and now my self-guilt compels me to update.

My work on a branch of PackBSP to handle more game-engines didn't go so well. I painted myself into some of the same "massive rewrite" corners I vowed to avoid, and then spent so long doing other things that it's hard to pick up again. On the other hand, I think I've worked my way through some architectural problems, and the silver-lining of having no other code-contributors is that I don't need to worry about backwards-compatibility very much.

Currently my interest is on the Netbeans Platform, and how I might be able to use it to streamline PackBSP and break away from the limitations of a wizard-centric interface. Actually, my daydream is to create a bunch of Netbeans plug-ins that turn the Netbeans IDE into a Source-engine-related powerhouse, but with the VIDE making a surprise return from the dead, perhaps that niche is already well on its way towards being filled.

Lastly, as a matter of interest, I temporarily fixed my video card with the "oven trick" (8 minutes at 375 Fahrenheit) but a week or two later it failed again, so I may just put it up on Craigslist as a challenge to anyone who thinks they can make it stick.


Hardware failure: Need to RMA my video card.

Well, it seems my graphics card (which has been limping along for years with intermittent glitches under load) has finally given up the ghost and my computer will no longer boot. Fortunately, this occurred after I finished wringing many hours of enjoyment and completionism from Deus Ex: Human Revolution, or else I would feel incredibly annoyed at the interruption. (Aside: It's a good game. A worthy successor to Deus Ex.)

Since the card (an Nvidia 8800GT variant) is still decently-powerful and has no obvious damage, I'm going to see what I can do under the limited-lifetime warranty. Compared to its earlier foibles, RMAing now ought to be unambiguous and straightforward, given that the computer now refuses to even POST if the card is present.

Tagged as: Comments Off

Deus Ex, PackBSP progress

Still alive, working on PackBSP when not creatively-drained from work. I may end up skipping past a few version numbers to represent all the rewriting going on. Among other initiatives:

  • Some sort of system to handle packing multiple maps at once, in order to support the VPK/campaign workflow.
  • Per-game config files, allowing various features to be toggled on and off.
  • Foreign-language support. It'll be possible for non-programmers to contribute translations.
  • Ability to manually create a per-map config file that specifies assets to include/exclude

On a lighter note, I went ahead and pre-ordered Deus Ex: Human Revolution, mainly on the strength of the favorable comments everyone who downloaded the leaked press-beta, but unfortunately it won't be out until August. (And let's face it, with a title like "I Wanted Orange" I pretty much had to.)


PackBSP 64-bit issues

I think the third-party jRegistryKey library is exploding on 64-bit systems, which is why people have had problems with PackBSP 2.0.4.

I've rewritten things so that it is no longer a dependency, and plan to release 2.0.5 within a week or so, which will also include some minor fixes in terms of recognizing ambient-occlusion texture dependencies.

Tagged as: Comments Off

Released HL2Parse on Github.

After a lot of procrastination I've released HL2Parse under one of the Creative Commons licenses... I still plan to add a few things to it, but now it's out there, warts and all. See the project-page for more information.


Miscellaneous updates

Mainly focused on my day job right now, with a bunch of projects gently simmering and making me feel guilty they're not being done.

  • Adding SLF4J logging to my github branch of Preon
  • Getting a working Preon-based parser for Valve's DMX format (with a further focus on PCF particle definition files.)
  • I'd like to try making something with Processing.js that helps compare and contrast weapons in the game Battlefield:BC2
  • Learning to make a Blender animation, visualizing the control scheme of BC2 helicopters as the topic.
  • An improved version of ctf_2fort_revamp (particularly since the Engineer Update weapons have altered the balance in some areas.)
  • An improved version of ctf_2fort_fixup (backported features from Revamp, like moving clouds.)
Filed under: Uncategorized 1 Comment

Being a lazy programmer

Well, I managed to survive the holiday season, went off to see some relatives, and snapped up Battlefield: Bad Company 2 from a sale on Steam, which is proving to be one of my major distractions right now.

PackBSP stuff is somewhat on hold pending work on Hl2parse, where I'm having some difficulty getting Preon to work in quite the way I want it to.


Codec decorators in Preon: The right way

Here's the wrong way to use decorators in Preon. They'll only work on the first level, and won't apply to nested Preon objects.

final DefaultCodecFactory fact = new DefaultCodecFactory();
Codec<MyFileType> codec = fact.create(MyFileType.class);
final LoggingDecorator ld = new LoggingDecorator(new CustomLogger());
codec = ld.decorate(codec,null,MyFileType.class,null);
// Resulting codec only does outermost-level logging.

The right way appears to be:

final DefaultCodecFactory fact = new DefaultCodecFactory();
final CodecDecorator[] decorators = new CodecDecorator[]{
    new LoggingDecorator(new CustomLogger())
final Codec<MyFileType> codec = fact.create(null, MyFileType.class, new CodecFactory[]{},decorators);
I haven't found any other way to alter the decorator-chain yet.
Tagged as: Comments Off

District 9

Saw District 9 a while back. Good film, random thoughts, spoilers ahead: