Photogrammetry

 Posted by at 13:42  2 Responses »
Sep 242010
 

Photo-what?

That ugly word is actually a very useful tool for reconstructing geometric information from 2D images. Using a collection of similar photographs of a given subject, you can use matrix math to recompute the 3D structure of that object from the 2D images. Not by hand, mind you. That would take way more brainpower and patience than pretty much anyone has any desire to lend to the task. Computers, however, make great photogrammetric calculators.

Why is this relevant to anything? Well, it’s pretty important when you want to accurately recreate something in the world in a 3D modeling environment and you don’t have access to A) the thing you want to create and B) a 3D scanner. Specifically, I’m talking about modeling spaceships. Most 3D hobbyists just wing it, eying the proportions and getting pretty close. But let’s be honest: when have I ever been satisfied with getting “pretty close” when I could use math to be exact?

I started out modeling a Star Destroyer last year, trying to take very accurate measurements in Photoshop and extrapolating the “right” values by averaging several of these measurements together. I was putting together what looked like a fairly accurate model. Then I read about photogrammetry. This had two effects: the first was that my progress on the Star Destroyer model ground to a halt; the second was a period of intense research into the fundamental math behind photogrammetry. This included (re-)teaching myself matrix math, learning about projection matrices1, and so on. I googled university lectures, dissertations, and dissected open-source projects to understand how this process was done.

Sadly, none of the open-source projects I found would do quite what I want. It seems that the hot thing in photogrammetry is reconstructing terrain surface detail with as many recreated vertices as the resolution of the source images would allow. I wanted to define just a handful of points each image and have a mesh reconstructed from them. From there, I would do the fine detail work on my own. So, I started writing my own program (in Python) to do it. Losing my job, getting a new job, and getting married all conspired to prevent much progress on this front, though, so it hasn’t progressed very far yet.

Assuming I can get something I’m happy with, though, it will alleviate one of the biggest sticking points I’ve always had when modeling technical things: accurate blueprints. Just about every set of blueprints for every technical thing2 I’ve tried to model has had errors in it. Not little, nitpicky errors, either, but major, mismatched proportions between orthographic views. In one image, a component would be X pixels long but in another image—from the same set of diagrams, mind you—it would be Y pixels long. In some cases, you can just split the difference and get something decent. Most of the time, these compromises compound until you’ve got an irreconcilable problem.

Anyway, this is probably one of those topics that will prompt most people who read this to smile, nod, and pat me on my math nerd head. All the same, it’s interesting to me, so maybe it’ll strike your interest to.

  1. A projection matrix describes the conversion of a 3D coordinate to a 2D coordinate through a camera lens, essentially. []
  2. Okay, okay, spaceship. []
Sep 202010
 

TIE Fighter case artIf that post title got you excited, I apologize.

For a while now, I’ve toyed with the idea of doing some kind of Star Wars fan film, being both a Star Wars nerd and an amateur filmmaker. One idea that popped into my head recently, while recollecting fond and cherished memories of playing the TIE Fighter computer game, was to adapt the game’s story into a TV (well, web) series. The game was story-driven enough that I think it could work, and had enough characters that it could be interesting. I’m not suggesting I’m going to do this. I barely have the time and energy to do all of the current projects I’ve saddled onto myself, let alone adding something as megalithic as this. But it’s still fun to think about.

According to lore, the TIE Fighter player assumes the mantle of Maarek Steele. Seems like a good choice for the series’ protagonist. As the game progresses, a number of major secondary characters and antagonists are introduced. Among them are then-Vice Admiral Thrawn, the rogue admirals Harkov and Zaarin, and Darth Vader puts in a cameo, too. Including the Imperial officer that briefs Steele before each mission, as well as the member of the Emperor’s Secret Order that provides secondary objectives, might work as well.

In terms of adapting the game, I think I’d first just go through the game mission-by-mission and isolate the major story components from each. These would get woven into the major arc of the series, which itself might even be split into seasons to mirror the distinct campaigns in the game. Once that had been done, the next step would be to pick out key bits of dialog from the game and weave those into the episode script. Nostalgia, man! It wouldn’t have to be line-for-line, but it’d be a fun callback to hit some of the key lines.

I might visit the idea some time in the distance future. TIE Fighter stands as my favorite game of all time (yes, even over WoW), and it nicely dovetails with the desire to do a Star Wars fanfilm. Of course, I’m not sure if I will ever be able to commit the amount of time doing an entire series would require. But hey, it’s fun to dream.

Whoa, a post!

 Posted by at 01:11  2 Responses »
Apr 202010
 

So, yeah. My profuse apologies for being so lackadaisical about posting for the last, oh, four months. Quite a bit has happened that’s kept me otherwise preoccupied.

First, there was that whole winter holidays thing. Second, upon returning to work following the winter holidays, I was informed (along with many, many others) that I no longer had a job. Downsizing, division cutting, etc. Basically, the company retooled itself into something completely different. C’est la vie. First thing I did when I got home was start working on my website/resume/etc. By the end of that week, I’d already sent out several inquiries.

Fast-forward through two months of hand-wringing, and a lot of WoW-playing, and I find myself working at 38 Studios. I can’t say enough about how awesome a company 38 is. You’ll have to read about it for yourself. I will say this: it’s an incredible feeling to be working on something that excites you. I can’t provide any details, I’m afraid, but I can’t wait for our game to come out just so I can play it! The only downside is the hour-long commute1, but audiobooks are helping me get through that2. I’m so jazzed to get to work every day that the commute really doesn’t matter. I end up voluntarily working 9-10 hour days, without even realizing I’ve done so until I look at the clock and it dawns on me that I should probably think about going home at some point.3

Wedding planning has continued, though sluggishly. We’re starting to pick up steam now that I’m working again, though, so that’s good. We finally got rid of our rattling, rumbling, not-at-all-working dryer and purchased a new, awesome dryer4. I did the first lawn mow of the year today, with much success. Mower seems none the worse for wear having spent the winter in the shed.

Still haven’t finished5 editing the novel I wrote in November, but now that things are settling back into something resembling normalcy and I’ve had a chance to recharge my batteries, I’m ready to dive back into the little world I created. I’ve also speced out a new system that I plan to upgrade to in the near future6. In preparation for that, and because I’ve been meaning to do it for a while, I pre-designed the file structure that I plan to use for my new system. Hopefully, it will keep me somewhat organized.7

Since the weather is finally getting nicer, I’m also getting the itch to finish off the various house projects that remained incomplete once the cold weather set in. Chief among these are finishing the pantry and repainting the upstairs bathroom. Once those are done, I want to replace the screen doors on both entrances with ones that actually open in a logical direction. I may replace the back door altogether. It’s fine as a barrier to entry, but it’s pretty drafty.

As if all that weren’t sufficient, there are a ton of weddings and other events on the horizon: my friend Jen is getting married in May, our friends Keith and Lisa are getting married in June (and I’m in that wedding as a groomsman), my birthday and bachelor party are at the end of July, I’m getting married in August (and Keith is in that wedding as a groomsman), and our friends Christina and Alex are getting married in October.

To top things off, also spurred on by the improving climate, I’m considering actually tackling some of the costume-making ideas I’ve had kicking around for years.8 I have no idea how I’m going to fit all this together.

Somehow, I always manage.

I’ll also be making an effort to write more here. Ideally, I want to post once or more a day, just so that I’m writing something every day. Practically, of course, that’s not likely. Ah well.

Thanks for reading!

  1. And that’s one way! []
  2. So far, The Mote in God’s Eye (Niven, Pournelle), The Last Colony (Scalzi), American Gods (Gaiman), Zoe’s Tale (Scalzi), and about half of The Dark Tower I: The Gunslinger. []
  3. Fortunately, Cody is so happy that I’m happy about my job that she doesn’t mind at all. []
  4. They even delivered it the next day, and hauled away our old one, all for free! []
  5. Okay, I admit it, I haven’t actually started the editing process in any concrete way. Lots of brainstorming, but no tangibles. []
  6. My current machine will become our house server, running Ubuntu of course []
  7. Knock on wood, and all that. When it comes to organization, I’m a contradiction: I’m always disorganized and I can’t stand disorganization. Mm, self-loathing. Tasty. []
  8. Yes, stormtrooper armor is on the top of that list, thank you very much. []
Oct 072009
 

After bouncing more ideas around, I’ve come up with an alternate spec for a new system. This one is built around the same GPU, but with an Intel i7 driving the system. This deserves some explanation.

More after the jump.
Continue reading »

System Upgade

 Posted by at 18:00  1 Response »
Oct 062009
 

Right now, Cody and I are saving as much money as we can to pay for the wedding next August. As such, expenses that might otherwise be quite affordable undergo ruthless examination and are, more often than not, deferred or dispensed with.

On the other hand, my system is over three years old and is showing its age. Case in point: it can’t even run The Sims 3.

More details after the jump.
Continue reading »

Synergy

 Posted by at 10:46  No Responses »
Aug 072009
 

I’ve been trying to come up with a solution for my dual computer (PC and laptop) arrangement for a while.  I toyed with getting a KVM switch, but they tend to be more feature-rich (and expensive) than I want to deal with.  Around the time that we moved, I decided I would try to build a hardware device myself, and got all the parts I imagined I would need from You-Do-It.  I haven’t had time to sit down and do any fine electronics work since then, so the parts sat unopened in the bag.

Then a few days ago, I discovered Synergy.

In short, Synergy comes just shy of letting you share desktops across multiple computers.  Once configured (which takes all of five minutes), I could drag my mouse from the left PC monitor, to the right PC monitor…to the laptop.  Seamlessly.  It uses internal network addresses to do the relaying of signals, with one machine (the PC in this case) acting as a server and the other machines (in this case, the laptop) acting as clients.

Coolest thing ever!

GNS Theory

 Posted by at 17:13  No Responses »
May 012008
 

There’s an active community of amateur and independent RPG developers that base their activities at The Forge. While I am wary of the culture fostered there, it’s the birthplace of many great independent games. In addition to games, the site’s constituency analyzes the RPG hobby. GNS Theory is one resulting idea this analysis produced. While I despise the casual appellation of the term “theory” to anything (stemming from the layman’s dismissal that something is “just a theory”)*, I think some of the core tenets are sound. The full body of GNS Theory goes too far into crazy land and has since been abandoned for the less interesting “Big Model.” The Big Model doesn’t say anything of groundbreaking, though.

The GNS in GNS Theory stands for three broad categories of gamer: the Gamist, the Narrativist, and the Simulationist. These categories are broad player archetypes, framed by the question, “Why do you role-play?” As with many anthropological studies, few gamers will be an exact fit for any of these three archetypes; the archetypes provide a lens for understanding goals and style of play. GNS Theory falls down here: it proposes that gamers and systems are only one of these three, which is ridiculous.

The Gamist approaches RPGs as problems to solve, challenges to overcome, and victories to win. Gamists seek to accomplish goals and make progress in measurable, mechanics-oriented ways. A Gamist might answer the “Why do you role-play?” question with, “To win.” Gamists are often attracted to systems that encourage contests and achieving the best stats. Many, including me, cite D&D as a Gamist-oriented system. Most computer RPGs are Gamist by default, since the usual objective of a computer game is to win.

The Narrativist is a storyteller at heart. RPGs are improvised acting sessions, during with the Narrativist seeks to explore themes and characters. The Narrativist’s key question is not “Who has the better stats?” but “What is the most dramatically interesting outcome?” A Narrativist might answer the “Why do you role-play?” question with, “To tell a story.” Narrativists are often attracted to systems that highlight drama over hard numbers. Dogs in the Vineyard is often cited as a Narrativist game.

The Simulationist wants to experience a world. In this case, the world is provided by the RPG’s setting and mechanics. The more detailed the mechanics, the more detailed the world, and the happier the Simulationist. The Simulationist answer to “Why do you role-play?” might be, “To experience another world.” Simulationists prefer systems that are mechanics-rich, such as GURPS.

As one might conclude, I am not a fan of Gamism when it comes to RPGs (computer RPGs get an exception). I enjoy some mix of Narrativism and Simulationism. As a Narrativist, I am not as interested in theme as I am drama. If a character does something bold and dramatic, that ought to pay off rather than be slapped down. By the same token, I also like my games to have a high degree of verisimilitude. Without that internal consistency, a game lacks credibility and that ruins my immersion.

How would you classify yourself?

* For the record, a theory is a framework that offers a consistent, verifiable explanation for observations. A theory is not some idea you cooked up. That’s called a hypothesis. When someone says, “I have a theory about that,” what they mean is that they have a hypothesis. Next time you hear someone say this, correct them. You will be doing the world a favor.

Apr 252008
 

In my previous post, I highlighted what I felt were the fatal flaws of the d20 System. I’m going to reverse what I said and praise it now, but in a way that is sure to upset d20 fans in the same way the previous post might.

Though d20 is a poor choice of system for creating unique and interesting characters — again, it can be done, but you have to work around the system rather than with it — it shines when placed in the right setting: computer games. Though the trend in cRPGs of late seems to be toward the “action RPG” mode of play (The Elder Scrolls, Mass Effect), several games have had incredible success in adapting the d20 System to a cRPG with few modifications. The turn-based play of combat is often transparent, but two stand-out examples of d20 games spring to mind: Neverwinter Nights and Star Wars: Knights of the Old Republic.

While both games put d20 through heavy modification (condensing skills, modifying feats, spells, etc.), they both kept the core idea of d20 at heart. They are also both tremendous fun to play. When the player need only call out to whom they wish to speak, on whom they wish to use a skill, which target they wish to attack, and so forth, d20 works well. That’s not to suggest that the system is too complex; it isn’t. What it is, however, is suited to a user with an avatar and a computer game-style, objective-based mode of play in mind. I would argue against such a mode of play being labeled “role-playing” by any stretch, but that’s a battle with too much inertia pushing in one direction.

Where Levels, Classes, and Races fall down in player-based RPGs, they are a great tool in cRPGs. Levels and experience provide a measurable way for a player to chart their advancement through the game, classes provide a focus down which a player can target his character toward completing that advancement, and races provide interesting visual differentiation and customization options.

I can hear d20 enthusiasts clamoring about how all of those arguments might apply to tabletop games as well. I suspect I would find myself bored in the type of tabletop game they would enjoy. If that’s the kind of game you want to play, why not play it on a computer? Computers can’t (yet!) afford us the possibilities that tabletop games provide for role-playing opportunities; if you don’t care about exploring them, why don’t you play NWN?

In a computer game, too, the weakness of using a 1d20 as a core mechanic is less of a problem. Though I find the visuals a little silly at times (we’re standing still, two feet apart, I swing at you with my three-foot-long sword, and you duck?), it provides a reasonable amount of variation coupled with predictability that tabletop versions of the game don’t seem to afford. Hit Points become much more acceptable, since a paced way of tracking a character’s degradation is more important. Few players would be happy with seeing wound penalties stack up until they drop from a single blow.

I’m sure that systems better than the d20 System can be concocted for cRPGs. Computers are fast enough now that a simulationist’s wet dream should be possible, while leaving the player unencumbered by having to remember all of the mechanics associated thereto. Still, of the games produced (that I’ve played) with the d20 System at their core, they seem to be quite successful.