Welcome to part three of my series on creating cool looking shaders of the not-quite-night-vision-but-still-looks-pretty-good variety. You can go check out part 1 or part 2 if you missed either of those. Go ahead, I’ll wait…
Hi again! Let’s jump right in, shall we? This time, we’re going to put a little effort into maintaining the overall energy-per-pixel to the greatest extent that is convenient and easy. After all, we are pretty damn lazy. Adjusting the contrast will skew things, but the main point is that full-color, gray, and green modes should otherwise all look approximately as bright as each other.
Welcome back! This is part two of my series detailing the step-by-step creation of a night-vision-style fragment shader. You can check out part one here if you haven’t yet. We’ll be building on the code from previous article, but it’s not very complicated at this point.
Let’s add some code to crank up the contrast. As an added bonus, we’ll add a flag to pick green or grayscale rendering, to give us some options when defining the look of our games.
Lately, I’ve been intrigued by shaders that emulate other visual effects and certain camera technologies. I’ve been considering doing a night vision kinda thing for my current project for quite some time, but I’ve been feeling kinda ambivalent about the whole thing. Recently, I got Zombie Gunship from the Humble Mobile Bundle, and they do the effect very impressively.
This got me thinking, what would it take to implement something like this? The primary requirement, other than looking badass, would be that I don’t have to re-author any graphics assets. I’d want all my geometry and textures to just work. Because I am lazy. The secondary requirement would be that the shader code should be as simple as I can make it, again because I am lazy (but also for efficiency’s sake).
Previously, I wrote a small piece about women in video games. Not only do I think that women, in their struggles, have a lot of interesting, compelling, and important stories to tell, but they are a hugely underserved market. There is a pretty pervasive bit of conventional “wisdom” that women as a group don’t play very many video games, and/or that they are not a profitable market to target. I think this is not just wrong, but wrong-headed. Let’s take a look at a few numbers.
It turns out that in every single one of the key markets for western game developers, women outnumber men. This includes pretty much all of Europe, Japan, Australia, all of North America, and four of the largest economies in South America including the top two (Brasil and Argentina). Think about this. By excluding women from games and gaming culture, either by action or by inaction, we are in fact excluding most of everyone who could potentially be a fan. This is not only indefensible from a social equality standpoint, it is also economically untenable. With all the cutbacks and layoffs at the biggest studios, a perpetually waning print media, and the always-hard life of the average indie developer, it seems like a no-brainer to court female gamers.
My upcoming game, code named “null sector”, features women’s issues in a historical context. Time has shown women as a group capable of anything anyone else can do, but the struggle to get there makes great drama.
A recent article on Jezebel shows the kinds of roadblocks women routinely ran into. Things aren’t perfect now, but there’s definitely been progress.
In “history was hella sexist, year 1962,” NASA’s Director of Public Information responded to a woman inquiring about becoming an astronaut that they had “no existing program concerning woman astronauts nor do we contemplate any such plan.” Ouch.
The real kicker here is that just one year later, Russia sent a female Cosmonaut into orbit. America squandered the opportunity to have a very significant first, in an era when the US and USSR were competing for firsts. That we look at documents like this and marvel at how backward its stance is gives one some comfort in the present, and hope for the future.
Meeting up with some fellow San Diego indies tomorrow. Time to crunch and see if I can get the most minimal playable prototype up and running before then!
Cross-platform rendering is solidly defined across 5 different operating systems. Now I’m working on matrix transforms and vertex wrangling. Looking good so far!