A new programming language for games, Annotated: Part 2

By Shamus Posted Friday Feb 27, 2015

Filed under: Programming 110 comments

The annotation continues…


Link (YouTube)

6:00 Garbage collection.

In C++, you have manual memory management. You need to request enough memory to hold all your space marines. If you need more marinesWho doesn’t? you have to allocate more memory. When you’re done with a marine, you have to tell the system you don’t need that chunk of memory anymore. You can’t ever make a mistake, because using memory you’ve freed causes a crash. Using memory you haven’t yet obtained causes a crash. Trying to free the same bit of memory more than once causes a crash. And forgetting to free memory causes a memory leak where your program will consume more and more until it crashes.

And by “crash” I mean, “It might crash or it might malfunction badly somewhere later and you’ll have NO IDEA where it all went wrong.”

Continue reading ⟩⟩ “A new programming language for games, Annotated: Part 2”

 


 

Project Button Masher: Administrator’s Lament

By Shamus Posted Thursday Feb 26, 2015

Filed under: Music 17 comments

I think this is the last track of this project. It’s nothing special. It’s just more fun with audio samples. We recently wrapped up our play-through of Half-Life 2: Episode One, and it got me thinking about good old Dr. Breen.

I think I met my goal. I’ve sat down and re-listened to the entire Button Masher collection…

…and I find myself thinking, “Yeah, I see what I did wrong there” and “I could do this so much better now”. Of course, finding out you were recently incompetent and you’re slightly less incompetent now isn’t a massive boost to the ol’ ego. But it’s something.

I’m moving onto other projects now. I’ll probably get back to music making eventually, but now is the time to write code. Thanks for listening.

 


 

A new programming language for games, Annotated: Part 1

By Shamus Posted Wednesday Feb 25, 2015

Filed under: Programming 186 comments

Jon Blow is the designer of Braid and one of the first of the new-wave indie auteurs. Back in September of 2014 he made a video talking about his ideas for a new computer language focused on game development.

I wanted to write about this when the video came out, but I was in the middle of a move. Then there was Christmas. Then other projects. But now almost half a year later, I’m finally coming back to this. His project has moved on and I don’t know where it is now, but it’s this first video I want to talk about.


Link (YouTube)

That’s an hour and a half talk about why he thinks game development needs a new language, why the existing languages don’t quite cut it, and a few things he thinks the new language ought to do. It’s pretty heavy-duty in terms of technical jargon, so if you’re not a coder I don’t know if you’ll get much out of it.

I’ve seen people criticizing his suggestions saying that other languages already do what he wants, or that he’s not qualified to design a language. I’m not really qualified to comment on that and not really interested in that debate. I’m more interested in his talk as a sort of “Everything annoying, frustrating, inefficient, or scary about the C languages”.

So I want to comment on what he’s said, and I’m going to do my best to say it in language that should be comprehensible for non-programmers. We’re not so much discussing his language ideas as using them as a launching point for talking about things that make programming less fun.

Consider this a consolation that we didn’t get an annotated version Carmack QuakeCon address last year like we have in years past. Sadface.

Timestamps are approximate:

Continue reading ⟩⟩ “A new programming language for games, Annotated: Part 1”

 


 

Experienced Points: How Do You Know If A Web Site Is Secure?

By Shamus Posted Tuesday Feb 24, 2015

Filed under: Column 81 comments

So I did a column encouraging more user paranoia, like I promised last week. I’m not happy with how this turned out. It’s one of the longest pieces I’ve done in the history of the column, and I feel like I barely scratched the surface. It was too big a topic to ram into a single column but I didn’t feel like it was wise to make it two or three parts long. (I didn’t want to embark on an epic three-part series and then after part 1 realize that nobody cared. I’d end up with the Too Human of articles.

I should have just replaced the whole column with a link to the comments section last week. That was a pretty cool discussion. I find the social engineering side of security so much more interesting than the technical side.

 


 

Diecast #94: Wolfenstein, Planet Explorers, Evolve, Destiny

By Shamus Posted Monday Feb 23, 2015

Filed under: Diecast 107 comments

Download MP3 File
Download Ogg Vorbis File

Hosts: Shamus, Josh, Chris.

Show notes: Continue reading ⟩⟩ “Diecast #94: Wolfenstein, Planet Explorers, Evolve, Destiny”

 


 

Half Life 2 Episode 1 EP7: Episode Won

By Shamus Posted Friday Feb 20, 2015

Filed under: Spoiler Warning 103 comments


Link (YouTube)

And so it ends.

For the record, I actually like all the constant encouragement and praise from Alyx. Although maybe I’m just unskilled and emotionally needy. It is a little jarring when you hear the comments close together, but during the course of a normal game (as opposed to sprinting through the content the way we do) they feel more like a pat on the head from the game designer and less like Alyx going all fangirl on you.

I really wish we’d get more shooters like this.

I played Wolfenstein: The New Order last year. It felt like they were aiming for Half-Life 2 in terms of gameplay, but didn’t quite nail it. It’s got quiet. It’s got combat. It’s got areas where you can wander around and listen to people talk, or get on with your job. It’s got a novelty weapon that works as either weapon or tool. It has run-and-run style combat instead of stop-and-pop. You gun down fascist humanoids in prisons, ruins, and bases. It’s not Half-Life, but I think it tried.

Josh just finished the game and was somewhat less delighted. I haven’t got the whole story from him. (It might end up as a segment on next week’s Diecast. It’s also on the short list of consideration for Spoiler Warning. We’ll see.)

Still, there’s nothing quite like Half-Life, and nobody seems to be making more. Sadface.

EDIT via Josh: So no, despite how funny it turned out, the episode was NOT supposed to end with Rutskarn singing out the apocalypse. There was actually another five minutes that were cut off in the initial video because of an encoding error that someoneI won’t name any names, but it begins with J and ends with “Why are my pants on fire?” didn’t check for before falling asleep in a drunken stupor.

The embedded video has been updated with the fixed and complete version of the episode. Sorry about that.

 


 

Project Button Masher: So Cool JC

By Shamus Posted Thursday Feb 19, 2015

Filed under: Music 24 comments

I’m taking it easy this week. We’re not trying to copy any particular style. Not trying to emulate certain instruments. Not trying to figure out what gives a soundtrack its particular sound. I’m just making music and posting the result. This is my attempt to take everything I’ve learned and see if the quality of my work improved.

If there’s anything that inspired this track it’s this em… skit(?) from Machinima: Deus Ex: The Recut.


Link (YouTube)

There is something really delightful about re-cutting and subverting the Deus Ex dialog. The conversationFor the impatient: It’s at the three minute mark. in this week’s song was really fun to put together.

This one is a lot more complex than my usual project. I also took the time to make everything myself, including mapping out the drums. (I usually use pre-fab drum loops.) Most of the instruments were built by hand. Note that I’m not saying it’s better or anything, but it is a pretty big step up in complexity and effort. Here’s the track map:

track_map_so_cool.jpg

A funny story about the audio clips in this song:

Continue reading ⟩⟩ “Project Button Masher: So Cool JC”