To live is…to lose whatever has not been chosen

The 1,001 Painful Lessons
So, I'm this guy who happens to adore Math, Physics, and Anime. The SMT Persona series is something I have a particular weakness and adoration for, expect a lot of stuff from that; and a lot of Japanese stuff, in general.
  • April 2, 2013 4:11 pm

    Why I almost defriended everyone who had an HRC logo as their profile photo this week


    It’s becoming increasingly clear to me that, though I didn’t think about this at the time, I probably started a blog because I need somewhere to vent my boundless rage that is not random people’s Facebook walls. I mean, one thing among the many thousands of things that are guaranteed to raise my blood pressure is when folks get all “the internet isn’t real, and it’s not a viable platform for communication,” but also like, Facebook fights are dumb, I’m supposed to be an adult now.

    So here’s the thing that got me all het up this week: gay marriage.


    Specifically, these goddamn things: 


    Read More

    And also reblogging here to show love.

  • September 17, 2012 6:53 pm
  • September 12, 2012 11:27 pm

by ゆに

Too hilarious.


    by ゆに

    Too hilarious.

  • August 29, 2012 1:18 am
    The only response to the RNC, tonight. View high resolution

    The only response to the RNC, tonight.

  • August 13, 2012 3:11 pm

    Bad Programming Practices→User’s Fault. IRONCLAD LOGIC ENSUES.

    Foreword. This is a response to the following articles, one originally by Erik Kane, and an article he cites in his defense, by Chris Randall. Like pretty much all of the stuff I dump in this space, it’s purely out of overflow. I’m just too lazy to parcel this post up so that Forbes’ comment system will eat it.

    I should be ashamed to call myself a gamer? Between the tone of Kain’s post and the one it cites, some offense taken. I can’t help but feel Randall’s post to be defensive and affectedly apologetic on behalf of From Software. I am, by no means, any hot-shot industry programmer. I don’t work for any high-powered developer, and I don’t even have a degree in anything from anywhere. I’m not even a student. I want people to keep these things in mind as I respond to both Randall and Kain.

    For starters, Randall’s post is essentially condescending and thus shouldn’t have been a serious candidate for use as evidence. It’s only slightly better than his original, ranting forum post and I’m not sure we want to be handing out points for that. Secondly, a densely technical post that’s in such faulted English is a really serious problem. When I have to guess at what he’s talking about not because I lack competency, but because of serious grammatical stumbling blocks, that’s not a good sign. Likewise, the post is highly specious. The Japanese are dedicated developers because they wrote entirely new compilers whenever they wanted to make a game? They branched whole new languages off of staid, true, and stable choices for what reason, exactly? Designing a compiler is no mean feat. You remember that terrible one you wrote in your compilers class in college? The one that you spent more than a few grueling days on and it could barely optimize its way out of a wet paper bag? Yeah, that one. Now, I’m going to make my performance-critical code run on it. :\ Humans miss a lot of optimizations, and many might be tempted to make some code, like: ‘int arr[1024] = {}’ explicitly mapped to zeroing-out the array element-by-element, which isn’t often the optimal method for achieving the desired result. It takes really tightly optimized code to make a game’s codebase viable and not even the lion’s share of those optimizations are going to be provided by the developer in a modern development and design context, it’s true that the nitty gritty of graphical algorithms are probably toyed with by engine developers, but the largest amount of the non-rendering code is going to be executing on the proc. and is going to be optimized by a decently stable, optimizing compiler. Good design decisions are one thing, you certainly don’t want to use an array when it comes to some large data-structure that needs to maintain some kind of order and must be inserted into frequently. But when it comes to iterating over those elements and performing operations and tests on them, most of those calls are just going to be left to the compiler. Game developers are experts in a limited range of sub-fields within the disciplines of computer science and software engineering, this seldom includes “compiler heuristics.” For example, does the author of the post think he could always make the bang-on, right call as to how many iterations of a loop to unroll before one smacks dead into diminishing returns? Nobody’s going to trust this very sensitive and critical code to the whims of an unstable language and compiler. Believe it or not, from a CS perspective, claiming that developers of games are constantly generating novel languages and compilers for each individual project, and that this is a totally tenable, sustainable design practice is, in and of itself, damning. It should be sufficient to render the entire contents of the post as not merely dubious but outrightly facetious.

    In point of fact, the PS2 was infamous for being ornery to develop for. Like many consoles, it was a pitifully underpowered CPU coarsely mated to some kind of vector or parallel (or even parallel, vector!) processing scheme. The Emotion Engine was kind of a strange beast. It was two 128-bit VPUs, a 64-bit MIPS-III/IV CPU with a single-precision (32-bit) FPU (almost no real floating-point work was done here, in truth), the graphics chipset, a ten-channel DMA, and some other standard stuff (memory controller, I/O, etc). The VPUs were enumerated in the obvious fashion, VPU0 and VPU1. VPU0 was basically tethered to the CPU while VPU1 was held in bondage to the graphics chipset for implementation of transformations, display lists, and the like. As a consequence, VPU1 was completely independent of the CPU and operated asynchronously. VPU0 was basically tasked with doing the heavy-lifting for the CPU. The VPUs were programmed in a proprietary SIMD instruction-set which was basically a knock-off of Intel’s SSE, a technology that had achieved significant popularity within PC venues (especially in certain rendering contexts). I mention all this because, as I said, the CPU itself was woefully underpowered and this resulted in an outsized portion of this SIMD ASM having to be hand-rolled and injected by developers, since there were no real compiler intrinsics or optimizations for producing this code automatically. So, yes, developers had to do a lot of very precise and laborious hand-optimization when almost none of them had ever worked in ASM before, let alone with anything SIMD-related or SSE-like, and certainly nobody had any experience with this proprietary instruction-set of Sony’s. That said, nobody was writing a new compiler and language for every new project, perhaps the author has confused the fact that some developers basically performed the equivalent of writing their own compiler intrinsics? This is still a drastically different task from writing an entire, industrial-strength compiler, it’s basically the analogue of writing a subroutine. I apologize for what seems to be a discursive tangent, but I wish to demonstrate that I know what I am talking about.

    This is where things are going to get a bit contentious. One thing I feel it is important to note at the outset is that Japanese developers have had a precarious fall from grace in recent years. Gaming is an industry that may as well have been invented in Japan, considering it was Japanese developers and publishers who have made the industry as profitable as it presently is. Generations of technical and software innovations on their part brought us to where we were about a couple of software generations ago (in terms of years, I’d tenuously put this at 2007/2008). Since then, however, their technical contributions have been minimal and the bulk of the industry is backsliding. When even a major player like SE is having trouble keeping up with much smaller, European competitors the like of CryTek and CDPR, it’s clear that we have a problem. To give some insight, it took SE five years to complete Final Fantasy XIII with the faults many gamers are all too happy to point out. In nearly this same interval, we practically went from CryENGINE to CryENGINE 3. With CryENGINE, CryTek basically invented the implementation of SSAO that everyone now uses, then they moved on to things like SSDO and Spherical Harmonic lighting models to help approximate, in real-time, the effects of radiosity rendering necessary to approximating global illumination effects. In this same time, CDPR, pretty much a brand new developer, wrote their own RED Engine, which is yet another industry leader, and developed Witcher 2 for the PC and 360. Crystal Tools looks good PS3, the console it was actually designed to run on, but XIII-2 demonstrates that even on the PS3, it has really profound optimization issues. Furthermore, Crystal Tools is nowhere near as advanced as the competing technologies that have sprung up in the West and been authored by much smaller operations. It’s not just the fact that the Japanese primarily target consoles, they have a legitimate problem. I should add that SE is quite clearly scrambling to rectify this with their most recent engine tech. demonstrations and this is going, blessedly, in the right direction. But they’re the largest player in the Japanese market, if they learned nothing from XIII and couldn’t muster the effort to get back in sync. with the rest of the world, the situation in Japan would be truly irretrievable.

    So, all that being said, the general situation for Japanese developers is tragic. Randall discusses how JP development is more focused on consoles, but this isn’t actually true. In fact, the overwhelming majority of even established Japanese developers are focused on portable development. The crushing truth is, the competency of the average JP dev. to field a title has become so limited that the prospect of even a 360 or PS3 release is unfathomable. Licensing engine tech. from Western publishers is not only expensive, but many JP devs really disdain the idea of being forced into licensing foreign engine technology given their previous dominance in the field, not to mention significant language-barrier issues (see Lost Odyssey and the “odyssey” it was to translate UE3’s documentation). Likewise, we’re seeing their entire industry fold inward on itself and regress. It’s a lot less complicated and expensive to develop a portable title which you can essentially sell, domestically, at the same price as any new game release. Exportation becomes a problem, however, since localization costs money and foreign markets generally demand lower prices on portable titles, so not only does a dev. feel like they’re eating the localization costs, but they feel as if they’re doing so just so they can lose money on the whole deal. Even licensing software to third-parties for localization has become unpalatable because, while one divests themselves of the risk associated with the process, they also profit less by the deal than if they had opted to localize the game on their own. This leads to a situation where, quite literally, JP devs just pack up their games and go home, ceasing to participate in foreign markets. Even relatively popular series from large publishers or developers are not immune. Sega had kind of serious and rare win with Vakyria Chronicles, and while many in the West were disappointed to see it go from a console to a portable title, a majority of the audience still purchased the PSP sequel. Subsequent to that, Sega has declined to bring further iterations of the series out of Japan. They’re completely disinterested in assigning the title to another localizer because they’re still perfectly capable of bringing the game over on their own and keeping 100% of the profit, effectively walling the series in Japan. It’s greed that keeps that game stranded in Japan, not apathy. :P

    This is my broader point, belying the defensive tone of Randall’s post, Japan has lost the ability to compete in the contemporary market. JP developers aren’t just inexplicably and inextricably obsessed with console development, it’s the only effort they’re capable of fielding. The truth of Randall’s listing is that it’s a concise description of abject failures on the part of From Software. It is not, in fact, a listing of incompatible or irreconcilable development practices owing to some profoundly bizarre cultural difference (in what, the definition of Linear Algebra, Calculus?) or quirk, it’s a bunch of software hacks that got a game barely functioning on fixed hardware configurations and platforms. Couching all this as some East-contra-West comedy of errors whereby a phrase is lost in translation and what went in as an amicable gesture comes out a slap in the face…is a profoundly disingenuous response. If bad software isn’t the same in all languages, then I truly don’t know what is.

    Is operating in a fixed framebuffer an honest intellectual defense, or an excuse? Is having shoddy timing and animation subsystems something I’m expected to be understanding of in commercial software design? Should the fact that they wrote hopelessly un-portable code with terrible coding practices and conventions marshal my sympathies? None of these are patently insoluble problems, expensive ones? Yes, certainly, which is probably why programmers are taught that this is explicitly NOT the way to go about this kind of project. I’m sorry, but even junior programmers just being introduced to graphics programming are instructed in the relative dangers inherent to framebuffer resolution dependence and, y’know, how to avoid that and achieve code that can function independent of many framebuffer parameters, or at least cope with them in sensible ways. Likewise, intelligent design practice is abstraction, and hence insulation from low-level details of the hardware responsible for executing the code. A lot of standard coding practice is designed to create a firewall between the developer and the underlying hardware platform such that, the high-level logic can carry out its ordained task without having to care if its running on a CELL, an ARM, or AMD64. It’s certainly true that the stakes are much higher on game and engine code, the process much more difficult and expensive, and requiring a lot more low-level tweaking and tuning—precisely none of this should be a surprise to either us, and least of all developers. Games are an instance of one of the single-most demanding problems there are in programming—real-time computing. Real-time computing problems basically require that the program have a response latency sufficiently low as to be imperceptible to the user. Games generally have response-thresholds a lot lower than even hundreds of milliseconds. Generally, a game desiring to run at 60fps has to do everything demanded of it in a lot less than 1/60th of a second. A game doesn’t just need to render a frame, which isn’t a simple task anyway, it needs to respond to user input, run AI scripting, perform sound-processing and playback, and juggle the laws of physics. Yet, it can be demonstrated that it is a lot more than possible to make a cross-platform engine with analogous facilities, From Software has simply failed at this.

    From’s failure, however, isn’t any simple thing. From had even publicly stated that they were in over their heads and had no real idea what they were doing. When such a thing occurs, is it really not the most immediately sensible thing to consult or hire someone who, say, does? Are we presently admitting hopes and prayers as effective strategy? Likewise, might it not have been the far most honest and noble path to acknowledge these rather plain facts and simply admit that, while they wish it were feasible and may endeavor to do as much properly in the future, it’s simply not possible at this present time? These were totally real options that From decided not to avail themselves of, and let me be clear, the latter is an option, it’s a commitment to maintain one’s integrity even if it does cost them short-run profits, unless the long-game truly does not matter anymore. Randall repeatedly mentions costs in his post as though they’re some inscrutable and entirely unforeseen, untenable variable. These are costs a competent developer plans for and allows in the budgeting of such undertakings, it’s certainly not like they’re just giving this game away. Which brings me to my final point, it’s not like this is some purely existential exercise wherein From Software has performed a purely good-faith gesture and are merely asking for our weal, or goodwill in return. This game is $39.99 on Steam, goodwill is the least charge assessed to us, and I don’t feel myself any less a gamer nor PC fanatic because From messed-up and I’m bothering to call them on it. Any rational, thinking consumer should have serious bones with the guy who goes, “Yeah, they messed up, and if you don’t hurl your money at it as hard as you can, it’s all your fault!” I think we can all be spared the bloviating, acrimony, and apologetics; we should be conscious consumers only so long as it doesn’t interfere with the playing of favorites? During the ME3 debacle, you rightly pointed out that the entitled gamer umbrage is pretty much always a red herring and is henceforth a card that should be put back in the deck, so why is this a valid recourse in Randall’s hands? I agree that the GFWL bit was silliness, but you’ve even said before that consumers should demand as they will, is this only limited to when it involves issues about which we are not personally passionate? Is it valid to reward a failed attempt which does not live up to the basic standards we’d hold anyone else to, and moreover, to attempt castigation of those who somehow fall short of treating such a failure with equanimity?

  • January 19, 2012 10:16 am

I want my own flock of chibi mp evas >w

This wins the prize. View high resolution


    I want my own flock of chibi mp evas >w

    This wins the prize.

    (Source: pema001)

  • December 29, 2011 11:25 pm

    RE: Two for Two



    It’s hard to believe Prometheus will only be Ridley Scott’s third science fiction movie. His record so far (Alien in 1979 and Blade Runner in 1982) is unimpeachable, and to say I’m excited is a gross understatement.

    I watch Blade Runner at least a couple times a year because I’m obsessed, but…

    I had not realized Alien and Blade Runner were the only two science fiction movies Scott has made. Is there any other instance of an artist dabbling in a genre and producing only canonical works?

    Not that I can think of off the top of my head, but some artists were deeply in love with certain genres and styles which they became devoted to doing right by in their own work. It leads to these deeply contemplative works that took years to produce and achieve canonical status, whilst being very sparsely distributed in the artist’s actual portfolio. I guess it’s a measure of mastery, that a person is willing to sink that much time and effort into something as nascent as a concept. I know others might be tempted to argue that true mastery is found in efficiency, in being able to match these works with far less time invested. Then again, would our culture really be the richer without these works?

  • December 27, 2011 9:11 pm

Lego model of The Large Hadron Collider, Via Reddit.
View high resolution


    Lego model of The Large Hadron Collider, Via Reddit.

  • December 27, 2011 8:51 pm

    And If You Should Chance Upon Buddha by the Roadside, Slay Him!


    “Believe nothing. No matter where you read it. Or who said it. Not even if I said it. Unless it agrees with your own reason and common sense.”

    — Buddha

    This is a particularly shitty piece of advice considering the field you practice.

  • December 27, 2011 8:02 pm

Batman doesn’t do friendships, Little Pony. 


    Batman doesn’t do friendships, Little Pony. 

    (Source: thatirishbastard)