Argh. (job stuff)
I'm glad this week is finally over. I've been totally unmotivated most of the time, and haven't been sleeping well at all. The 11-hour days have taken their toll on me, and I'm actually getting less done even though I'm putting in more time. Which is just what I expected to happen. But my coworkers seem to think that more time == more productivity. Which is stupid.
Don't they have refractory periods? Or maybe they're just not putting out their full effort when they are being productive. It'd certainly explain some of the code quality issues.
Two days ago I got in at 9:15, after having been in until 8:30 PM. Antoine bitched at me for not getting in at 9:00 sharp, because apparently it was incredibly vital that we meet at 9:00 AM instead of at 9:15. As if I even knew we had a meeting scheduled. Argh.
Gérard (company president) feels that our interface is too simple and that we need to add more to it to make the screen "less empty." Never mind that the interface shows everything that we could possibly want to show to the player already, and that complexity for the sake of complexity is a huge turn-off. But he's insisting. Argh.
UbiSoft thinks that we need to use the stylus input so that they can put "stylus support" on the box as a marketing point. Never mind that the stylus input is, again, unsuited to this game, would add a huge amount of complexity to the interface, and wouldn't even work all that well anyway. But if we don't use every single feature of the DS then we're "not using the DS to its full potential." So in their world, does Notepad need to use Direct3D, 256MB of RAM, and ActiveX controls to make the process of text editing that much sexier? Argh.
The animators have finally begun sending us artwork based on the new file-format specification we gave them two weeks ago, only they seem to think that "give us the original layered Photoshop document because we'd like to work with the individual layers" means "separate the Photoshop document layers out into separate JPEG files and flatten them individually, thus also removing the alpha channel." To make things worse, our (very non-technically-inclined) producer got various things confused when we were talking about the alpha channel and how it affects our artwork, and I guess he said to them that we didn't want the alpha channel at all or something. Argh.
Yesterday, Antoine got the notion that because I was "swapping bytes" while reading my (big-endian) image compression format, I was wasting precious CPU time. He insisted that I change the format and tool to be little-endian "because both our development systems and the DS are little-endian." Never mind that the code still has to deal with alignment issues, meaning it still has to read things in a byte at a time. I realized this was a losing battle, so I changed the format and then said that we had to recompress all of the images, at which point Antoine said that we should have discussed this first instead of just going and doing it. Whatever. Anyway, so then I had code which was the exact same speed, then to demontrate to him that the alignment issues didn't make it a simple matter of just reading it as a short instead of a char, I did so, which of course totally broke the decompression logic. So I made it detect when the pointer was aligned so that I could read it as a short or as two bytes as necessary, which of course was slower than just always reading it as two bytes. I showed this to Antoine. He said we should have discussed this further before I wasted time making the change, but that the change is still good because the result is somehow "cleaner." Argh.
Maybe I'm just cranky. This weekend should be good; I'm seeing Young Zombies in Love and a whole bunch of songfighters are as well (it was written and produced by a songfighter who happens to have a very well-known alter-ego), so in addition to seeing John Benjamin and Frankie Big Face again, I'm also finally meeting Level Nivelo, Shane, and Yook. This should be muchly awesome.
Also, while I've been without Internet access I've been working on a rather large journal comic entry (I did all the writing in one night but I've been drawing it over the last week or so, and there's still a lot to go), which is so big that I'll probably have to finally write a proper comic publication system (instead of just putting it into a MovableType entry). Oddly enough, the topics it's about keep on recurring in my conversations lately. It must be something which is on the back of a lot of peoples' minds...
Comments
I'm working with a group like that right now. Two of them, two of us. We're doing the UI, they're finishing up the application they've been working for months. They're putting in twelve hour days and weekends. We're barely doing a 35 week. The buglist for their stuff is a list with twenty entries, all critical. Our buglist has one minor thing in it.
Of course, it may just be that we are better at coding...
Most of the crap game code is James' doing (Antoine has mostly been writing tools), and he's the one who is so gung-ho about putting in so many hours. And his stuff is fugly, with a capital "C." Though some of the fugliness is also because his in-memory data structures are pretty much direct byte-for-byte reads of Antoine's compiled data structures which are overoptimized to a fault, because apparently it's really damn important to save every last 4KB of RAM even though the compiler is just going to pad things back out to 8KB when it word-aligns everything anyway. And even then, why even bother "unpacking" the data into RAM when it'd be just as easy to work with it directly in ROM the way they're doing it?
(They're loading a very complex graph built up from node IDs, and in memory instead of doing the smart thing and just maintaining pointers between the nodes, they're using the node IDs the whole way through. Which is really fun when it turns out we're going to have to load multiple graphs which are going to have interdependencies.)
A lot of this is just because early on, instead of doing a real requirements analysis it was just like "We need to save as much memory as possible." But this translated to "let's make the in-memory structures as small as possible" instead of "let's mitigate the need for in-memory structures to begin with."
Argh.
http://www.xgamestation.com/about_gamestation.php
Sounds like a swell idea, actually. Except that I really don't want to have to be the one who reimplements his broken shit.
Also my wrists are fucking sucking right now.