Weekly Links #25: You Aren't Going To Need It
This is a week with very few links. My hope was to compensate with lots of news about my upcoming game, but personal problems conspired to hold back my progress. All I have to show for now is this one screenshot:
I know, it doesn't exactly look glorious. It's much more interesting in motion, trust me. But before I'm ready to make a video, there's something I'd like to point out -- something you can't see in the image.
If you've made any game programming at all, you probably know that a game screen is composed of layers that have to be drawn in order from back to front: first the background, then all the moving stuff in front of it, and at last the HUD -- score, lives/energy or whatever else the game requires. This is true for 2D games, 3D games and everything in between. It's called the painter's algorithm, because oil paintings have to be made the same way. You do know that all of the principles we use in computer graphics, such as perspective, were discovered centuries ago, right?
(Okay, raytracing works differently. And scanline rendering can make use of something called a Z-buffer to deal with polygons in whatever order. We're talking basic principles here.)
And none of that has been necessary so far.
Oh, of course I'm rendering the background first, then the buildings, and the HUD only last; that's self-understood. I also make sure no two buildings or enemies ever overlap, so I don't have to do per-voxel Z-sorting. But you'd expect that enemies and missiles at least are being sorted and rendered in the correct order. Turns out even as much isn't really needed when any two enemies only ever align with the camera for maybe a fraction of a second at a time. So far, I've been noticing artifacts maybe once in several test runs.
Oh, I will have to do it right at one point. As I add more stuff to render, such as explosions and barricades, at one point it should become unavoidable. But until then, I can't help but marvel at the power of You Aren't Going To Need It.
In other news, Jay Barnson complains about how modern RPGs tend to be glorified theme parks rather than being truly dangerous for your character, and therefore forcing you to be cautious and clever. It's funny, because I used the exact same words -- theme park -- to describe a certain popular flavor of MMORPG. And you know... it's not an RPG, but I recently watched a friend play Bioshock Infinite. He's not good at shooters, and he wasn't doing all that well during combat, you see. And yet he was never in any danger of dying and having to resume. Same problem, right there: the "game" part is an afterthought -- only meant to justify the $60 price tag. Otherwise it's a succession of gorgeous distant backdrops that yell at you, "Look at this! We spent $100 millions just on art! (And another $100M on marketing, cough cough.) What, you wanted to play? Go buy the Humble Indie Bundle, you hippie!"
At least they clearly put effort into the story. Which is linear, and maybe wouldn't survive a really close look, but proves once again how much it matters when it's you taking action rather than an actor you're watching from behind rows of seats. Maybe we worry too much about branching storylines and emergent NPC behavior, hmm?
While we're on the topic of wasteful practices, there's a rumor floating around that CryTek is in serious trouble and might close down or at least downsize considerably. Didn't I write about other ugly cases for the past two weeks? Yeah, I did. Which is why I'll spare you a third angry rant in a row. Maybe I wouldn't even have paid attention this time, but someone I used to know was working at the CryTek studio in Frankfurt. Not for long now, apparently.
I'll conclude with this article about the history of the cheat code, sadly an endangered species in modern games. I could add that a set of debugging verbs is standard in text adventures,
though they don't normally end up in official releases except by accident. And I remember Chronos on the ZX Spectrum being so much easier with the megalaser cheat. But still not enough for me to finish the game. Those were the days...
Wish this last article would have been longer. Oh well, until next time.