Diecast #213: Early Consoles, Starships, and Flawed Games

By Shamus Posted Monday Jun 4, 2018

Filed under: Diecast 48 comments

Heads up! I plan to stream a little later in the week. I’m thinking maybe some Destiny 2? I’m aiming for Wednesday, but I haven’t picked a time yet.



Hosts: Paul, Shamus. Episode edited by Issac.

Show notes: Continue reading ⟩⟩ “Diecast #213: Early Consoles, Starships, and Flawed Games”

 


 

Return to TIM Island

By Shamus Posted Sunday Jun 3, 2018

Filed under: Random 123 comments

I’m sure most of you remember that one time I did a massive, 50-part retrospective / critique of the Mass Effect series. As part of that critique, I had an entire entry dedicated to tearing apart the notion that a terrorist organization could recruit, train, equip, and deploy a fully mechanized military force capable of waging war on a galactic scale, and furthermore that doing so in secret wasn’t just implausible, but laughable.

Imagine my surprise when I ran into this video, detailing how the US Government did exactly what I said was impossible. From 1942 to 1945 they hid an entire city of 75,000 people – the fifth largest city in Tennessee – and used it to build a superweapon in complete secrecy.


Link (YouTube)

To be fair:

  1. This was done by a world superpower, not a terrorist organization.
  2. The city wasn’t COMPLETELY secret. I mean, people knew it existed and knew how to get there, it’s just that the goings-on inside the city were secret.
  3. This secret city was only secret for 3 years, not a generation.
  4. They only needed to build 2 weapons, not fleets of tanks, ships, or supplies for tens of thousands of space marines.
  5. The people signing up were serving a country they loved and fighting against a regime they hated, and not joining a sketchy mass-murdering megolomaniac with no coherent goal that would appeal to the masses.
  6. While the US government did many things that would be considered sketchy or “renegade” by today’s standards, they didn’t casually kill their own people by the hundreds for trivial reasons.

So while this doesn’t exactly excuse the limitless power of Cerberus, but it does make it very slightly less comically implausible.

But now I’m wishing we could have gotten more details on Cerberus. Previously I’ve said they should be excised from the Mass Effect series. Now I’m thinking you could tell a really cool story about some sort of alternate version of Cerberus that was like a scaled-up version of Oak Ridge: The government deliberately makes a secret project and then looks the other way, leaving the (sigh) Illusive Man free to tackle some sort of galactic-level Manhattan Project without much in the way of supervision. Nothing could justify the way Cerberus stole so much of the limelight from the Reapers, but you could tell a really cool story about a secret city with a doomsday weapon and an “Ends Justify the Means” mindset.

Still, interesting bit of history. I can’t believe I’ve lived my whole life without hearing this story.

 


 

E3 Approaches

By Shamus Posted Thursday May 31, 2018

Filed under: Industry Events 129 comments

It looks like a couple of companies are trying to get a jump on E3. On Tuesday, Bethesda promised they had a special Fallout-related announcement. They started a livestream that was nothing but a plastic Fallout Boy. And they streamed that for 24 hours. At the end of the wait, Todd Howard came out and gave everyone a teaser trailer for Fallout 76:


Link (YouTube)

As publicity stunts go, I found this to be more annoying than intriguing. But that livestream maintained between 50k and 150k viewers for those 24 hours, so I guess it was making somebody happy.

According to lore, Vault 76 is a vault that was intended to open just 20 years after the bombs fell. On one hand, I think rewinding the timeline is a very good idea. On the other hand, this trailer gave us not a clue as to the nature of the game. Mobile game? Another shooter? A sim? It’s a bit early for them to be talking about a sequel to Fallout 4. The rumor is that this is going to be an online game. Some are guessing it’s a late-to-the-party DayZ clone. I suppose for a company habitually incapable of writing, designing, animating, and scripting NPCs, the idea of just crowdsourcing the entire mess by letting players populate the world must be pretty appealing. Still, it sounds like something I’ll be avoiding.

The more interesting news is that Intellivision is making a new console and no that’s not a set-up for a joke that’s a real thing that’s happening in the real world, really. Continue reading ⟩⟩ “E3 Approaches”

 


 

Unity Week #9: Preemptive Premature Optimization

By Shamus Posted Tuesday May 29, 2018

Filed under: Programming 110 comments

“Premature optimization is the root of all evil.”

That quote by Donald Knuth gets repeated a lot in programming circles. It dates back to 1974, which means that by the standards of computer science it’s more or less the Code of Hammurabi. While I freely admit that Knuth is a better computer scientist when he’s fast asleep than I am at the peak of a caffeine high, I do have some reservations about this particular bit of wisdom. Specifically: Is premature optimization really that dangerous, and what’s the difference between “premature optimizing” and simply building something properly the first time?

In my professional career, I can’t remember a single instance where premature optimization caused a serious disruption. Maybe that’s a side-effect of the domain I work in. Games have very strict performance requirements that would seem completely unreasonable – bordering on fanatical – to someone working on (say) database administration. The performance of your program is continuously expressed to the user through the framerate of your full-screen application. If a thread stalls, if a frame is dropped, if texture data isn’t fetched in time, if you run out of VRAM, if you oversaturate the memory bus, or if one of a dozen or so other systems falls behind, then it will create problems that a human being can see and feel.

Contrast this with something like a Pixar-style render farm that chugs away rendering gigantic images all day long. Both the game and the Pixar-renderer are rendering images. Time is money so there’s a huge financial incentive to get the Pixar program to run as fast as possible, but if there was a bug that wasted 15% of the available processing power, how long would it take someone to notice? Would they? Meanwhile in a game, dropped or late frames give the user a realtime visualization of your sins. It’s hard for the user to not notice performance problems.

I’ve spent a lot of time in this domain that’s obsessed with performance and maybe a little negligent when it comes to maintaining code, and perhaps that time has blinded me to the wisdom of Knuth’s words, but what’s the actual damage of premature optimization? I get that a programmer might blow a bunch of time squeezing an extra 2% performance out of some system that ultimately doesn’t matter, but aside from the squandered programmer hours I don’t see how it hurts a project. And if we’re worried about wasted programmer hours then we have bigger fish to fry than this. Unreadable code, dependency hell, lack of documentation, failure to abide by best coding practices – all of these have devoured far more of my hours than someone’s mis-spent weekend tinkering with trivial concerns. I can believe that premature optimization is a bad thing, I just can’t get behind the notion that it poses a serious threat to our productivity. At least the premature optimizer is wasting their own time instead of mine.

Continue reading ⟩⟩ “Unity Week #9: Preemptive Premature Optimization”

 


 

Diecast #212: Destiny 2, Critics, Rage 2

By Shamus Posted Monday May 28, 2018

Filed under: Diecast 41 comments



Hosts: Paul, Shamus. Episode edited by Issac.

Show notes: Continue reading ⟩⟩ “Diecast #212: Destiny 2, Critics, Rage 2”

 


 

Unity Week #8: Some Thoughts on Variable Names

By Shamus Posted Thursday May 24, 2018

Filed under: Programming 87 comments

Like I said over the weekend, my series on Grand Theft Auto 5 has been delayed. But I can’t bear to leave the Thursday spot blank, so here are some meandering, dashed-off thoughts on the problem of variable naming in C#. To be clear, the problems are mostly with me and not C#. Specifically, switching languages is forcing me to shift my coding standards a little.

For years I worked for a company with a mature (meaning large and resistant to sweeping changes) codebase. In 1993 or so it began as a pure vanilla C project, but sometime around the turn of the century we began migrating to C++ while disrupting the existing code and coding style as little as possible. C and C++ are different languages and the practitioners of each language often have very different ideas about how code should be formatted. Since our codebase was a hybrid, our formatting standards were a slightly strange and anachronistic blend of old and new. Since I used these standards for years, they eventually became part of my personal style. I wasn’t even really a fan of the standards, but after you look at one particular style of formatting for a decade or so, everything else starts to look a little strange.

Let’s look at an example. Earlier in the week I created a SpaceMarine class. Here is how that class might look in C++:

Continue reading ⟩⟩ “Unity Week #8: Some Thoughts on Variable Names”

 


 

The Witcher 3: The Good Ladies and Keira Metz

By Bob Case Posted Wednesday May 23, 2018

Filed under: Video Games 106 comments

This week I want to cover a few different topics, with my comments on each.

 

The Crones of Crookback Bog

The Bloody Baron got more press, but to me personally, Geralt’s interactions with the Crones (and the even more mysterious being they deposed, so mysterious that fans usually refer to it as just “the thing in the tree”) are the highlight of Velen.

For those that don’t know, the Crones are the beings Anna Strenger went to for help when she was pregnant with the Baron’s child. They’re three… things. Witches? (Demi)gods? Former Druids? It’s not clear, but whatever they are, they’re powerful and extremely unsettling.

Left to right: Whispess, Brewess, and Weavess.
Left to right: Whispess, Brewess, and Weavess.

This, to me, is top-notch character design. Even after having seen this scene before, playing it this time creeped me out all over again – the wicker cage thing over Brewess’ face, the twitchy, almost insect-like movements of Weavess, the profoundly obscene way that she strokes the severed legs she has strapped to her belt, Whispess’ necklace of severed ears… and the music, too. Even going back to the orphanage after the quest is over, hearing the music makes me nervous. (Here’s a link if you feel like listening.) The game’s composer is a man named Marcin Przybylowicz, and as Nobuo Uematsu (composer for the Final Fantasy series) is celebrated for his work, so should Przybylowicz be if you ask me. Eastern European folk music is rich ore to mine, and he mines it well. I think more of this game’s unique mood comes from its music than people realize.

Continue reading ⟩⟩ “The Witcher 3: The Good Ladies and Keira Metz”