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”

 


 

Unity Week #7: Why Would You Want to do That?

By Shamus Posted Tuesday May 22, 2018

Filed under: Programming 143 comments

“Huh. I’m keeping an awful lot of these widget objects in memory. I need them while generating the scene, and I occasionally need them later, but once the game is running they’re mostly just taking up memory. I wonder if it would be better to keep them around all the time, or throw them away once I’m done making the scene and re-create them if they’re needed later?”

Let’s assume, for the sake of argument, that these objects have a non-trivial size and also require a non-trivial bit of processing power to create. We create lots of them, we use most of them at startup, and then as the program runs we occasionally need a few of them. (But we can’t predict which ones ahead of time.)

This is a classic memory vs. CPU performance problem. If we had infinite memory, then there would never be a reason to get rid of these temporary objects. If we had infinite processing power and could re-create the objects for free, then there would be no reason to keep them around. But in this universe both of these resources are finite, so we need to study the problem to know what the right thing to do is.

So I’m writing a program in C# and I need to know how big something is in memory. In C++ I would just call sizeof (thing) and it would tell me how many bytes of memory thing is usingYes, you have to make sure you’re getting the size of things and not pointers, which means you might need to step down through the object hierarchy. The point is, this is easy to do.. This is a trivial operation, which means in C# it’s probably going to be a monumental pain in the ass. I do the usual Google search and as I feared I’m dropped directly into forum hell:

Continue reading ⟩⟩ “Unity Week #7: Why Would You Want to do That?”

 


 

Diecast #211: More Mods, Thief vs. Thief 2

By Shamus Posted Monday May 21, 2018

Filed under: Diecast 61 comments



Hosts: Paul, Shamus. Episode edited by Issac.

Show notes:
Continue reading ⟩⟩ “Diecast #211: More Mods, Thief vs. Thief 2”

 


 

Grand Theft Auto V: Delay of Game

By Shamus Posted Sunday May 20, 2018

Filed under: Notices 69 comments

Well this just sucks.

Maybe you were wondering where your Thursday post was last week? We recently finished up Black Desert Online, and it’s time to begin my next series. It’s supposed to be on Grand Theft Auto V, with a bit of a retrospective on the series as a whole. That’s still the plan, but I’ve had a setback.

How my workflow goes is this: Usually I play through a game a few times before doing a review. On my final playthrough, I’ll have Bandicam record all of the game footage. Then I write the review. Then I go back over the footage and gather up the screenshots and edit the whole thing together into blog posts. It’s a pretty good system and it’s served me well for the last couple of yearsBefore this, I used to take individual screenshots when it seemed like a good time. But I tended to miss a lot of stuff that way. Now I’ve got a few TB of storage so I just record everything..

Continue reading ⟩⟩ “Grand Theft Auto V: Delay of Game”

 


 

The Witcher 3: The Bloody Baron

By Bob Case Posted Wednesday May 16, 2018

Filed under: Video Games 73 comments

Last week, I had intended for this post to cover some of the game’s side content. I’ve since changed my mind – some of topics I wanted to discuss about that I’ve decided to put on hold until after I covered the main Velen quests.

The “Bloody Baron” sequence of events includes the multi-step quests “Family Matters” and “Ladies of the Wood,” which together see Geralt piece together the story of how exactly local warlord Phillip Strenger’s family was torn to pieces and came to various kinds of tragedy. It got oodles of acclaim – it won a Golden Joystick award for “Best Gaming Moment,” and both PC Gamer and Kotaku did write-ups on how it was made.

I’m of several different minds about this whole sequence. I’ve praised the Witcher games in the past for being “realistic” (in the literary sense of the word, not the literal sense), and this video covers the core of that argument if you want to know it in more detail. The Bloody Baron story meets many of my own informal criteria for realism: a believable messiness, an emphasis on the personal, events that are relatively small in scale in comparison to their surroundings, and characters who at least occasionally confound our dramatic expectations. And, broadly speaking, I like literary realism.

So I was surprised to find myself uneasy with this quest. It’s my personal – though relatively casual – belief that every good story has a moral. In some cases the moral is up-front and obvious, like with an Aesop’s fable, and in some cases the moral is complex and squirrelly enough that it defies conventional methods of explanation and can only be glimpsed through fiction. Put another way, even in literary realism, which tends to resist pat value judgments, stories are trying to say something about the world. And my personal reading of what the Bloody Baron sequence is trying to say is that the behavior of the titular character is at least partially excusable, and that perhaps the Baron shouldn’t be considered a villain at all.

Let’s look at that behavior. Our first direct contact with the Baron’s existence is at the inn we’re sent to to locate the Emperor’s spy. The village surrounding the inn is being terrorized by the Baron’s men, to the point where parents are disguising their daughters as boys in hopes of sparing them from being raped. Geralt has an encounter with them in the inn itself, and you can either fight them or talk them down.In a bit of reactivity I didn’t know the game had until recently, fighting them gets you banned from the Baron’s fort at Crow’s Perch, and you have to sneak in through a cave that leads to the bottom of the fort’s well.

No idea what this lot are on about, but I want some of whatever they're drinking.
No idea what this lot are on about, but I want some of whatever they're drinking.

Now I don’t necessarily mean to say that a commander bears full culpability far all the actions of his men in a situation like this, but surely he bears some. It’s not as though the Baron thinks the soldiers under his command are angels. In his first conversation with Geralt he says that they’re “good at pulling up the floorboards to find a peasant’s last sack of grain,”Or something like that, those may not be his exact words. so he’s apparently aware that at the very least his men are taking food from desperate people by force.

Continue reading ⟩⟩ “The Witcher 3: The Bloody Baron”