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”

 


 

Pixel City Redux #6: The Distraction

By Shamus Posted Tuesday May 15, 2018

Filed under: Programming 99 comments

What do you do when you want to look something up but you don’t know what it’s called? Sometimes you can just type what you know into a search engine and it will sort things out for you. I just typed “part of the car that covers the engine” and I got:

thing that you type sentence fragments into for information
thing that you type sentence fragments into for information

It’s not a perfect result. A careless reader might look at the text and think the answer is “trunk”. But it’s still really incredible that a search engine can come up with answers like this. If you’re willing to read more than the first sentence, you can find what you’re looking for, even if you don’t know what a hood was called when you started.

Sadly, things are not always this easy. Right now I know what I want to make but I don’t know what to search for. I know what it looks like and how it behaves, but not how it’s created or what you call it. In fact, I can even draw a picture of it. It looks kind of like a stained glass window. Here is one I made by hand:

Uh... Something like this.
Uh... Something like this.

You generate this by putting a bunch of points on a plane and… doing some sort of math to them. I want to use something like this to divide my city into regions. Let’s see what Google has for me:

Continue reading ⟩⟩ “Pixel City Redux #6: The Distraction”

 


 

Diecast #210: Mods

By Shamus Posted Monday May 14, 2018

Filed under: Diecast 70 comments



Hosts: Paul, Shamus. Episode edited by Issac.

Show notes: Continue reading ⟩⟩ “Diecast #210: Mods”

 


 

Avengers Infinity War: Spoiler Party!

By Shamus Posted Sunday May 13, 2018

Filed under: Movies 218 comments

On Friday I finally got to the theater and saw Avengers: THE BIG ONE. Like everyone else who’s seen it, I immediately had the urge to talk about all the most spoiler-y bits. So let’s do that. We’ll start with the ending…

Continue reading ⟩⟩ “Avengers Infinity War: Spoiler Party!”