An Evening of Failure and Stupidity 2: Stupid Harder

By Shamus Posted Thursday Mar 5, 2015

Filed under: Rants 201 comments

No, this post is not a repeat. It’s a sequel.

OH MY GOSH these notifications are getting on my nerves. Windows update keeps popping up in the corner, telling me I need to update. So then there’s this break in my workflow where I have to mouse down there and hit the teensy-weensy ‘x’ to make the bubble piss off for another random interval. But if I miss, then I click on the bubble and instead of the bubble going away I get a popup window telling me about all the stupid shit Windows has for me to worry about. I could swear I turned these stupid notifications off.

So now on top of all the other crap I have to do, I have to ALSO find that setting and reset it to “I’m an adult and I know what I’m doing. I’m a busy man and I’ll do my upgrades on my timetable, not yours, Windows. You asshole.” (I think it’s actually labeled something else.)

At some point it downloaded some of the waiting updates. So now I get a popup, “You have downloads waiting to be installed.” So I dismiss that and INSTANTLY get another one telling me about updates NOT downloaded.

Sigh. Fine. Just to stop this constant irritation I’ll do the damn update. Just about the time I settle back into work, Windows popups up agin because OF COURSE it needs to reboot. I can either reboot now, or it can pester me until I give in. Fine. Get it over with.

So Windows goes quiet for a long time, like Deep Thought except really, really unlike Deep Thought, if you see what I mean. Then it blue screens, reboots, and is dead.

Shit!

Continue reading ⟩⟩ “An Evening of Failure and Stupidity 2: Stupid Harder”

 


 

Ideas about a new programming language for games, Annotated: Part 4

By Shamus Posted Wednesday Mar 4, 2015

Filed under: Programming 104 comments

We finally get to the good stuff. The discussion below contains a lot of the reasons I wanted to do this write-up in the first place.


Link (YouTube)

1:00:00 Let’s Make an Array Type.

Yeeeessss.

This might seem trivial to a lot of people. This is basically just a fix for the std::vector<int> name; problem I discussed earlier in this series. We use arrays everywhere in our code. We’re constantly building lists of data. C++ offers tons of ways to do this, and somehow they all suck.

The lazy way:

Continue reading ⟩⟩ “Ideas about a new programming language for games, Annotated: Part 4”

 


 

Experienced Points: So You Want To Be a Game Developer?

By Shamus Posted Tuesday Mar 3, 2015

Filed under: Column 93 comments

My column this week is some advice to the young people considering a career in AAA videogame-making.

Something I really wanted to put in the column:

A couple of years ago I saw an ad for Full Sail University or one of the other game colleges. It said something like, “80% of graduates find a job in the industry within a year!” I was dumbfounded. Given the cost of going to one of these places (the price of a house and a couple of the most valuable years of your life) those are horrendous odds. The cynic in me read that as, “1 in 5 of the people who come to our school find the whole thing was for nothing.” I would never risk two precious years of my life on anything that risky.

I didn’t put it in the column because I can’t find the source anywhere. The game colleges apparently no longer offer post-grad placement info beyond, “We will help you!”

Also the anecdotes suggest a system where the college develops a relationship with a studio (stuff owned by EA, usually) where they just send them waves of grads who will work crunch-mode hours (80+) for months on end until they burn out, at which point there’s another wave of grads chomping at the bit, waiting for their turn at living the dream. So even if the placement rate was 98%, it would still be a horrible gamble, since leaving the industry in disgust and disillusionment is arguable worse than not getting a job at all. The actual success rate – the number of people who find good jobs with hours and pay that allow for a normal life – is probably really tiny.

But I can’t begin to back any of that up, and I didn’t want to build a point around a single barely-recalled data point. I mean, I can’t back any of it up, but I tried to stick with stuff that’s more or less accepted as common knowledge.

Also: If you DO work in the industry then please tell your story. If it was awesome, say so. If it was horrible, say so. Young people are making life-changing decisions and the only information we have are the gushing promises of game colleges and the occasional “development hell” scandal. Your story might change someone’s life.

 


 

Diecast #95: Final Fantasy XIV, NOLF, Spore

By Shamus Posted Monday Mar 2, 2015

Filed under: Diecast 109 comments

Download MP3 File
Download Ogg Vorbis File

Hosts: Shamus, Josh, Chris, Rutskarn, Mumbles.

Show notes: Continue reading ⟩⟩ “Diecast #95: Final Fantasy XIV, NOLF, Spore”

 


 

A new programming language for games, Annotated: Part 3

By Shamus Posted Sunday Mar 1, 2015

Filed under: Programming 105 comments

The annotation continues…


Link (YouTube)

39:00 Exceptions Are Silly.

Exceptions are where you run a bit of code, but you sort of leave a note for the program, “If anything goes wrong, jump to this bit of code and spit out such-and-such message.” Here is the video Blow mentioned, which talks about why exceptions are such a mess.

My experience with exceptions is pretty limited. In my professional work, we used a large codebase that began life in 1994 as vanilla C. Somewhere around 2000-ish we migrated (in fits and starts) to C++. So I didn’t even have a chance to use exceptions until 2000, and we didn’t really have a lot of need for them. Our software was pretty mature and we already had all the error handling we needed.

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

 


 

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.