Experienced Points: Age of Kotick

By Shamus Posted Sunday Oct 3, 2010

Filed under: Column 187 comments

My column last Friday was about why I think Activision Blizzard CEO Bobby Kotick is bad at his job. It’s one of the longest columns I’ve run, and I could probably say a lot more if I thought it was worthwhile. The company is filled with dysfunction that can be easily observed simply by reading headlines. Which means things most likely look a lot worse inside.

Of course, you can’t mention the man’s name without having people yell the word “greed”. Greed in this case being internet shorthand for “wants to make more money”. I cringe whenever I see this line of thinking, because it misses the point entirely.

There are two fast food restaurants in town: Valve Pizza and Activison Burgers. Valve keeps their place immaculate. The cashiers are all smiles. They’re always giving out coupons.

Right across the street, Activision Burgers offers about the same quality food for the same price. Inside, they have a beat-up dining area where half the tables are missing salt & pepper shakers. There’s a lone surly cashier at the front counter. They charge for individual ketchup packets, the bathroom door is coin-operated, the drinks are mostly ice, and they don’t have free refills on soft drinks.

Now, is the problem with Activision Burgers “greed”? I don’t think so. Sure, they cut costs and nickel & dime you in an attempt to make money. But Valve is trying to make money too. The just understand that spending a little extra on trivial stuff like salt shakers and sweeping the floor can make more money down the road. Both of these stores are “greedy”. One of them is just one-dimensional and short sighted.

 


 

Civilization WITH LYRICS

By Shamus Posted Saturday Oct 2, 2010

Filed under: Movies 64 comments

Since it seems to be Civilization week around here, it seems like a good time to share this:


Link (YouTube)

This is from a guy called Brentalfloss. He’s got a lot more of these on his channel.

Lyrics:

Continue reading ⟩⟩ “Civilization WITH LYRICS”

 


 

Stolen Pixels #231: The History of Civilization, Part 2

By Shamus Posted Friday Oct 1, 2010

Filed under: Column 106 comments

Here is part 2 of the history of Civilization.

Ok, I was playing on a large map last night and it got to the point where it took the computer so long to process its turn that I actually abandoned the game. A lot of time was wasted hopping around the map and making me watch all these stupid irrelevant battles on the other side of the planet. There’s an option to disable the animated battles, which is only available at the beginning of the game. (And always off by default. And the game doesn’t remember your preferences. So if you’re four hours in and you find yourself watching half a minute of fights you’re not even in, then there’s nothing you can do about it. There’s also no option to show only your own fights. Thank you so much Firaxis.)

But the computer also spends a surprising amount of time simply thinking. It feels like about the same amount of time I spent waiting for turns in Civilization II, which came out in 1996. According to Moore’s Law, processors should have doubled in performance 9 times in the last 14 years. So computers are (very roughly, give or take a power of 2) five hundred and twelve times faster. I can believe that Civ V is more complex than Civ II, but it’s nowhere near hundreds of times more complicated. The simulation is several fold more complex. (Let’s aim high and assume it’s as much as ten times more complex.) That still means the game should be running fifty times faster. Turns should be instant. What is the game doing with all those cycles. (It’s not graphics, since you still get the delay when using the super-fast 2d view. Which is also a great way to crash the game, by the way.)

I’m not accusing the game logic programmers of incompetence. (I save those insults for the dunderhead who designed the interface and left out half the options.) I’m just really curious what’s going on here. My guess is that the combat AI is looking more moves into the future. As people who write programs to play chess have discovered, looking forward through just three or four turns of moves & counter-moves can burn an unbelievable number of CPU cycles. I did notice the game got slower when big wars were going on. This led me to want to make peace between other nations just so I could get back to building my spaceship without having to sit there doing nothing for half a minute between each turn.

 


 

Spoiler Warning 3×10: Fore!

By Shamus Posted Thursday Sep 30, 2010

Filed under: Spoiler Warning 165 comments

Here we are. The big turning point of BioShock. If you’re thinking of playing the game, you might want to give this one a miss.

Hello, person from the future. This space used to have an embed from the video hosting site Viddler. The video is gone now. If you want to find out why and laugh at Viddler in the process, you can read the entire silly story for yourself.

At any rate, the video is gone. Sorry. On the upside, we're gradually re-posting these old videos to YouTube. Check the Spoiler Warning page to see the full index.

Ah screw it. Just watch the dang episode. Also: Vader is Luke’s father, Rosebud is a sled, Hans Gruber kills Dumbledore, you are Darth Revan, and Bruce Willis is a ghost.

 


 

Stolen Pixels #230: The History of Civilization, Part 1

By Shamus Posted Tuesday Sep 28, 2010

Filed under: Column 106 comments

So I’m playing a lot of Civilization V these days. A process which led to the creation of this comic and the loss of a couple of nights of sleep. It’s been a while since I’ve really experienced the Civ bug in full force.

It’s a remarkable game. The game has so many complex systems that work well together, remain roughly balanced, remain consistent, and follow the pseudo-historical premise of the game. It’s a remarkable achievement.

 


 

Comic Press

By Shamus Posted Tuesday Sep 28, 2010

Filed under: Programming 48 comments

EDIT: Whoops. I’d intended to post this after today’s comic. The screenshots are spoiler-ish, so you might want to see today’s comic before reading further.

Some people expressed interest in what I was doing that led to yesterday’s post. I’m not one to miss an opportunity to talk about myself, so let’s do that.

Ever since DM of the Rings CXXXI I’ve used my own software for making comics. It’s 100% homebrew code. It looks thus:

comic_press1.jpg

Ok, I never have the window this small. I usually run it full-screen, so it looks like this:

Continue reading ⟩⟩ “Comic Press”

 


 

Object-Disoriented Programming

By Shamus Posted Monday Sep 27, 2010

Filed under: Programming 185 comments

I program in C++ for a living. I loved doing it in my late 20’s and early 30’s, but over the past few years I’ve gotten fed up with this language and its cryptic aggravating bullshit.

One of the strengths of the language is the way that you can use libraries written by someone else. The language is 31 years old at this point, and odds are good that if there’s something you need your program to do, someone else has already come across the problem, solved it, and put the thing out there for people to use. For example, if you need a really fast algorithm for sorting a big wad ‘o data, or generating high quality pseudo-random numbers, then you don’t need to knock yourself out. Just use what’s already been written. There’s no reason to do it yourself unless you see some flaw in the existing solution and you think you can do better.

Things get tricky when you have a solution that incorporates another solution which incorporates another, and so on. You go and grab a chunk of code for (say) calculating the shortest distance between any two wombats. You think you’re done, but when you try to use it you find out it depends on other files you don’t have. It turns out the shortest-distance stuff incorporated someone else’s code, which was a program designed to differentiate between wombats and hamsters, which in turn used some guy’s 1988 C code to rate things according to how furry they are. Suddenly you’re performing some sort of archaeological data mining, looking for fragments of code written by a teenage Bjarne Stroustrup in 1965 and trying to translate his comments from the original Danish.

Continue reading ⟩⟩ “Object-Disoriented Programming”