I Have Good Reason

We had guests on site at Emergent yesterday, so I didn’t get to my Wednesday update. It’s coming a day late, and I’m not too upset at the delay. I’m being reasonably consistent. For today:

  • Lolcats
  • Used Game Markets
  • Texture Atlas Creation
  • Vacation Next Week

They Have Gone Too Far

A colleague sent this link to me. I’m not sure I really need to add any comments on the matter.

Monopolies Bad

There has been a bunch of discussion within Emergent about the used game market and whether it’s good or bad for the industry. I figured I’d post my stance just to help stir up a bit of controversy.

  • I’m in favor of a used game market.
  • I’m not happy with the current state of things where Gamestop has an effective monopoly. I want another national chain to enter the market and drive down the margins.
  • I think it’s great to do things like the Gears of War 2 map pack that add value to a new copy but still give used purchasers a secondary avenue for obtaining that extra value.
  • I find suggestions that games be sold crippled unless you buy them new deplorable. e.g., I don’t agree with Nintendo’s decision to not sell the Wii Speak Channel at all.

I think the most important point in my stance is the fact that there’s currently a monopoly in used games. Right now, the margin on used sales for Gamestop is huge, and that leads them to push used sales. If they had competition that drove that margin down, the market should center on a point where the margin for new and used sales is equivalent which would give us better liquidity in the market and no reason for a retailer to push used sales any harder than new.

[Edit: Joel points out that the Gears 2 maps are not being offered as DLC. Even so, I still like the practice since the maps are additive and not part of the core experience.]

Pack Them Tightly

An old colleague pinged me today asking if I knew of any available texture atlas creation code off the top of my head. I didn’t, so we spent a few minutes coming up with a simple algorithm that isn’t necessarily optimal but works and isn’t hard to implement.

  1. Sort your textures by size.
  2. For each texture decreasing by size, try to insert into your atlas.
  3. For the insertion.
    1. Describe the atlas as a quad tree.
    2. Initially, you have only one node representing the size of the atlas.
    3. As you insert a texture, you create a split that creates three empty cells and one occupied cell.
    4. Each insertion scans the tree and inserts a texture into the atlas into the smallest cell which will contain the texture.
  4. Algorithm is done when your smallest texture left won’t fit. Start a new atlas.

It’s not an optimal algorithm, but for textures close to square, it should give reasonable results with simple code. My question to you, dear readers, is whether you know of a better way possibly with code snippets online. I’m sure it would be appreciated.


I’m headed off on vacation next week. I’ll have my laptop, but the odds of a post are lower. Wednesday update will be back the first week of December.

Starburst rule. I like strawberry the best. dba.


4 Responses to “I Have Good Reason”

  1. Texture packing: this one – http://blackpawn.com/texts/lightmaps/default.html – is quite simple and does reasonably well.

  2. Actually, the Gears of War 2 maps are not available for purchase. They’ve said that “there are no plans at this time to make them available as paid downloads through LIVE Marketplace.” (http://www.gamepro.com/article/news/207319/gears-of-war-2-getting-free-day-one-dlc/)

    So, that makes that particular strategy a little dicey in my mind.

  3. whatmakesyouthinkimnot Says:


    Well, that’s a bummer. I thought you could go buy the map pack. Even so, I feel better about it being additive, multiplayer content and not part of the core experience. A used copy of Gears 2 still has a ton of value in and of itself. You still get single player and a bunch of multiplayer. A used Wii Speak has no value. You’d have to buy a game that supports it.


  4. whatmakesyouthinkimnot Says:


    Thanks for the link to that BSP-based algorithm. I think it’s a better choice than using my quadtree based approach since it retains larger blocks of free space.

    You could also optimize based off of aspect ratio. If you have more textures that are wider than tall, you can favor horizontal partitions first. If you have more that are taller than wide, you can favor vertical cuts.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: