Diecast #275: Back to School, Kerbal Space Problems, Wendy’s Game

By Shamus Posted Monday Oct 7, 2019

Filed under: Diecast 69 comments


Hosts: Paul, Shamus. Episode edited by Issac.
Diecast275

Continue reading ⟩⟩ “Diecast #275: Back to School, Kerbal Space Problems, Wendy’s Game”

 


 

Programming Vexations Part 6: The Compiler

By Shamus Posted Thursday Oct 3, 2019

Filed under: Programming 82 comments

In the last entry, I said that waiting for a program to compile is one of the vexations of programming. I’ve spent a lot of time writing about code over the years. I’ve (hopefully) explained things in easy-to-understand terms. With any luck, you’ve learned something along the way. 

The time has come to admit that I’ve been lying to you. Or at least, I haven’t been giving you the full story. After all this time I figure you’re finally old enough to hear the truth.

Vexation #2: Compiling is Not Programming

In the past, I’ve described the process of compiling your program like this:

It really is that simple!
It really is that simple!

You just shove your source code through the magical compile-o-matic and out pops a video game!  

The reality is that it’s not nearly so simple. In the world of C++, the “compiler” isn’t even a single program! The reality is closer to something like this:

Continue reading ⟩⟩ “Programming Vexations Part 6: The Compiler”

 


 

I Was Wrong About Borderlands 3

By Shamus Posted Tuesday Oct 1, 2019

Filed under: Column 100 comments

Like most of my work, this video / article was completed over a week before publication. Below, I brought up a lot of gripes about how the Borderlands 3 loot system works. Then early last week we got a patch to address these problems. I was worried I was going to need to rewrite the video or scrap it entirely. But as luck would have it, Gearbox’s changes were quite small and timid, so the patch didn’t fix my gripes so much as mitigate them very slightly.

Maybe some future patch will fix my concerns, but this seems less like a balance problem and more like a deliberate (although somewhat inexplicable) design decision. I guess we’ll see in the coming weeks. At any rate, to make sense of this we need to jump back a few months.

Back in January of this year – back before Borderlands 3 was announced – I had an article on the Escapist listing 5 reasons why I was worried about the game. Now the game is released and we’ve all had a chance to play it, so I thought it would be good to look at how it turned out in light of my concerns.

You can read the article below, or you can see the video version on YouTube.


Link (YouTube)

Continue reading ⟩⟩ “I Was Wrong About Borderlands 3”

 


 

Diecast #274: Borderlands 3, Mailbag, Raytracing

By Shamus Posted Monday Sep 30, 2019

Filed under: Diecast 51 comments

No, the show wasn’t canceled. We just took a couple of weeks off. Now we’re back and feeling better than ever feeling exactly the same as before except now we’ve forgotten how to run the show. Enjoy!



Hosts: Paul, Shamus. Episode edited by Issac.
Diecast274

Show notes: Continue reading ⟩⟩ “Diecast #274: Borderlands 3, Mailbag, Raytracing”

 


 

Achilles and the Grognard: Special Guest Appearance

By Bob Case Posted Saturday Sep 28, 2019

Filed under: Video Games 87 comments

The Grognard: Well, we’re finally here. Baldur’s Gate. The city of a thousand sidequests. How is the team holding up?

Wyrm's Crossing, the bridge that finally takes you to Baldur's Gate. Personally, this moment - and the music that went with it - stuck with me.
Wyrm's Crossing, the bridge that finally takes you to Baldur's Gate. Personally, this moment - and the music that went with it - stuck with me.

Achilles: Better than before. Game’s shaping up to finish stronger than it started.

The Grognard: How so?

Achilles: For one thing, the story’s picked up. I’m on the trail of the Iron Throne, and by this point it’s clear that I’m some sort of god or something.

The Grognard: It’s clear? really?

Achilles: Look, this game came out over twenty years ago, and people call it the “Bhaalspawn Saga.” You can’t expect me to go in completely unspoiled. Besides, this crazy old hobo has been practically broadcasting it the whole way.

Continue reading ⟩⟩ “Achilles and the Grognard: Special Guest Appearance”

 


 

Programming Vexations Part 5: The Vexations Begin

By Shamus Posted Thursday Sep 26, 2019

Filed under: Programming 111 comments

One of Jon Blow’s original goals for Jai was to embrace (or perhaps restore) the “joy of programming”. I thought that while we’re waiting for Jai to come out, we could look at this idea and see what it might suggest about future languages.

“Joy of programming” is a pretty nebulous concept, but I interpret it as a desire for an overall reduction in friction and hassle. Not only do friction and hassle eat precious hours you could spend being productive, but they also drain your morale. There’s nothing worse than sitting down at your computer and realizing you’ve got a full day of soul-sucking busywork in front of you. Sure, lots of programming jobs feature this sort of vexation. The thing is, those jobs tend to pay a lot better. If you’re working in games programming then you’re probably making some sort of financial sacrifice in the name of having a “fun” job. If the job isn’t fun, you might as well ditch games and go make productivity software for more money in a city with a lower cost of living.

Things That Are Not Programming

Arg. I keep getting distracted and I can't find what I need. This is exactly how it feels when you slap together code and don't take time to add comments, tidy the formatting, and get a coherent naming scheme in place.
Arg. I keep getting distracted and I can't find what I need. This is exactly how it feels when you slap together code and don't take time to add comments, tidy the formatting, and get a coherent naming scheme in place.

Just about every job has some sort of support tasks associated with it. You need to clean the kitchen and wash dishes in order to cook foodI guess you could hire someone else to do it, but it still needs to be done., but doing dishes is not cooking. Dishwashing might be part of your job as a cook, but it’s not the point of the job. You don’t cook food because you want to wash dishes, you wash dishes because you want to cook food.

Cleaning your brushes is not painting. Stringing and tuning your guitar is not playing music. Checking spelling and formatting text is not writing a novel. Updating WordPress and sorting out CSS problems is not writing a blog. Putting gas in your car is not delivering pizzas. Those ancillary tasks need to be done and a few people might even enjoy doing them, but they don’t pay the bills. They just enable you to do the thing that does pay the bills. If you can reduce how much of your time is spent on these ancillary tasks, it will be a net win. 

I’ll admit that sometimes the line can get really blurry. An artist working on commission might have the following workflow:
Continue reading ⟩⟩ “Programming Vexations Part 5: The Vexations Begin”

 


 

Proc-gen IP-Infringement-Ship

By Paul Spooner Posted Wednesday Sep 25, 2019

Filed under: Projects 10 comments

Before getting into the meat of this article, I’m going to revisit a couple previous articles’ content and the updates I’ve made to them. The changes aren’t really significant enough for an entire article on their own, and I’m eager to keep moving forward with this project instead of endlessly revisiting past accomplishments. So first up, there’s a new version of the calculator module. It has cyclic nesting detection nowbrute force by iteration count, but better than nothing and re-factored for clarity. Oh, and I did a couple bug-fixes. Or, not really bugs? The system was functioning as intended, but there was some unintended behavior happening in there that I rooted out. For example, the resource list had double entries for nodes which contained other nodes, but did not themselves appear on the list of nodes to solve. I suppose it made it solve a little slower, so, optimized for performance? I was also hoping to detect negative resource balance (which the first iterationthe one without nesting had) but I haven’t settled on an elegant way to do it, and I’ve been too busy to wallow through a naive implementation.

Just wanted to mention one thing more about the code. You’ll see near the top of the page the following odd line:

DEBUG = False #True #

Which is designed for ease of Ctrl-select and copy paste to quickly toggle the settings. I’m curious if it works in other text editors, but in all the ones I’ve used this lets you toggle in four “key strokes.”how do you define number of strokes with modified key presses?
Latest Version (0.2) here.

The other one was your dose of star-field for the article. Continue reading ⟩⟩ “Proc-gen IP-Infringement-Ship”