  
Welcome to Ventspace! Most posts here are delayed copies of posts from the real Ventspace.
| Thursday, October 18, 2007 |
 Gaming Roundup I |
Posted - 10/18/2007 4:30:23 PM | This entry is a bit on the stream of consciousness side. I have a couple technical topics lined up but all of them are still in draft form and need tweaking.
Gaming Roundup I
So I've been playing a couple different games lately, and I wanted to make some comments on them.
The first one is Dead or Alive 4. This game is brilliantly well done. It's beautiful to watch, and multiplayer is great fun. I absolutely recommend buying it. That said, whoever wrote the AI in it is an idiot. The AI sucks, badly. And I don't mean that it loses a lot. Just the opposite, in fact -- it regularly tears me to shreds. The thing is that it doesn't seem to have any difficulty scaling. As far as I can tell, the AI operates in two basic modes: PlayPerfectly, or DontDoJackShit. The difficulty level merely controls how much time the AI is in one mode or the other. When the AI is playing perfectly, you can't do anything, so there's really no point bothering. The way to win, then, is to make the most of the period when the AI has decided to stand around and do nothing for a while. Personally, I don't find this at all fun and I'm really quite baffled by the whole thing. I also suspect that Team Ninja, who made this game, didn't get anyone to test who hadn't already played the game and its predecessors forever. If they had, maybe they would've noticed the ridiculous brick wall of a difficulty curve.
Second is Gears of War. This game is good, not great. The difficulty is quite staggering, where I'm regularly being beaten on while playing the casual difficulty. Maybe it's different for people who've been playing shooters on consoles for a while, but I have a lot of trouble competing. I'm making progress, mind you. I'm just amazed at how often I'm killed off at what is supposed to be the easy difficulty. The ammo starvation in areas is not appreciated either. Visually, the game is suitably impressive. The biggest thing I noticed is that the cover element really dominates the game, almost unreasonably so. Any time you see cover, you can be assured that you are about to be in trouble within the next 5 seconds. (Of course, since you're being shot at pretty much all the time anyway, it doesn't matter that much.) I'll give Epic major props for actually coming up with a solid new mechanic for shooters, but really I feel like they could've been just a touch less aggressive about it.
Third, Halo 2. Not 3, I'm playing that after I finish 2. I'm told that 2 is a fairly short game. Thank god. Halo 1 was a very good game, maybe even a great game. Halo 2, however, is junk. I'm consistently lost, and since areas of the game are unreasonably dark, I'm usually lost because I missed some random corridor that I couldn't see without shoving my face into walls in the first place. The difficulty wanders up and down between "fairly easy" and "you die now". The last two hours I played were basically spent running like hell because I got tired of shooting the god damn Flood, whose population has apparently ballooned to even more absurd levels than before. They also have more random spawn points than ever before. Oh, and those freaking sentinels are doing the exact same thing. I've probably shot a hundred since I started playing. The plot is basically there, it's just that it doesn't show up all that often because I spend most of my time wandering around in dark areas being ambushed by Flood. My understanding is that most people were angry because the game ends rather suddenly.
The fourth game is PGR3. What's to say? It's very good looking, but as far as I can tell it's just another completely uninspired racing game, same as Forza and Gran Turismo. That's probably great for driving purists, but I'm not interested. I enjoyed Need for Speed: Most Wanted because it had a back story, along with hilarious cutscenes, and because the police chases were amazing. NFS: Carbon took away the chases, and I lost interest there, too. I'm wondering how the next Burnout game will be. I liked the previous Burnouts but felt that they tended to drag on a little bit, since it was basically minor tweaks on the same five minutes or so of gameplay.
There's a couple misc. games in here too. I played the demo of Crackdown, and didn't come to a final verdict. I'm going to get the full thing and try again, and then I'll decide about actually buying it. As far as I can tell from the Katamari demo, it's the same exact game it's always been. I'm mainly waiting to see if they've bothered to put in a real multiplayer mode this time. The Simpsons game demo basically sucked, which is unfortunate, because it's visually very true to that look. Viva Pinata seemed cool, but I'm concerned that it's like Harvest Moon, where I will get bored about 8 hours in and never play it again. That's another one where I'll play the full thing for a while before I decide about buying. Viva Pinata: Party Animals is looking to be great, and I'm hoping that the final release does not disappoint.
Lastly, the Arcade titles. Hexic HD is great. Cloning Clyde is great. Geometry Wars is great. Zuma is great. Worms is very good. Aegis Wing is okay, but I prefer the original version which my Live Arcade intern friends were working at when we were at MS as far as visuals go. Yaris is painfully bad. Bomberman is apparently just the same old Bomberman, as far as I can tell from the demo. Marble Blast is a great concept, but I haven't decided whether to get it, and what platform I would get it for. Super Puzzle Fighter Turbo II HD Remix is great, although I have to wonder if I would buy it or simply install a MAME emulator if that option was available. Tetris sucks. Seriously. I didn't think anyone could screw up Tetris so badly.
| |
| Wednesday, October 3, 2007 |
 Texture Mapping and Texture Coordinates |
Posted - 10/3/2007 3:01:43 PM | Work is pretty slow so far, but that's to be expected. I'm mostly tasked on patching up internal tools right now. Not exactly glamorous, but as critical as anything else and I have no objections to doing it. In the meantime, you guys should check out our kick ass Yahoo Games webisode and trailer. And although I haven't gotten to spend much time with it or go into multiplayer at all, I can confirm that Fracture is, in fact, totally awesome.
Texture Mapping and Texture Coordinates
Texture mapping isn't exactly an obscure technique. So why, exactly, are the explanations of it so bad? I was googling last night in anticipation of writing this, and I have to say I'm absolutely shocked at how bad things are. It's a miracle anyone learns to use textures at all. The explanations I found ranged from poor to nonexistent, and they were universally hand waving and vague about exactly how it all works. The only exceptions were the ones that explained texturing from a rasterization point of view, which is completely useless to a beginner working with a 3D API.
The typical explanation goes something like this. Textures are 2D images that are placed on top of the triangle. The texture coordinates control where the texture is laid down. (0,0) means the lower/upper left of the texture, and (1,1) means the upper/lower right. {Insert vaguely descriptive image here.} You can get the correct texture coordinates on a model by having a modeling package export them for you.
The details vary, and some explanations are more long winded than others, but that's the gist of it. This is a completely useless way of presenting it. First of all, it's vague and conveys little or no mathematical basis to the whole thing. Second, 1D and 3D textures make absolutely no sense on this explanation -- how can you lay a volume down on the surface of a triangle? That is totally meaningless. Same goes for a line. Anybody who is going by this explanation does not understand how texture mapping works, at all. Of course, it's obvious that plenty of people understand texture mapping just fine. Truth is, most people subconsciously manage to extrapolate to the real explanation after messing around with it for a while, even if they don't quite realize it and even continue using this crappy explanation.
So what is the real explanation? The one I gave earlier is basically right. There's just one problem -- it's backwards. The texture coordinates don't describe how the texture is laid onto the surface of the triangle. The texture coordinates describe how the triangle is laid down onto the texture. Texture coordinates, then, are exactly what they sound like. They're a second set of coordinates for each vertex, that describe the vertex position in texture space. That texture space can really have any number of dimensions. Figuring out what texel to sample when rendering is just a matter of determining what texel occupies the same object-space location as the current pixel. This is also a way more useful way of looking at the construction of a TBN matrix (which IME is glossed over completely by most people), since the alignment of the tu and tv axes becomes much more obvious.
Today's subject was texture mapping because somebody last night came in, confused to all hell about what a 3D texture was and how it worked. The basic theme here, though, is that people don't always understand how to explain graphics concepts. This stuff isn't complicated, but to convey it properly requires precision and clarity. That is very often lacking, and on the internet tutorials can make it much worse. (This tutorial is the bottom of the barrel.) I really wish I had the time to do my own book on this sort of thing. Richard Thomson (legalize) is working on a book which is by far the best I've seen to date. Unfortunately, he also uses the same backwards explanation to describe texture mapping, although he is very precise about it and comes so close to getting it right. I have been suitably impressed by his work despite that.
It's amazing how many times I've found someone totally and hopelessly confused over something (graphics or not), and had them completely sorted out within a couple minutes. Explaining things in a way that makes sense isn't an ability everybody has, and unfortunately that doesn't stop many of them from writing anyway. It becomes much more difficult to find real writing by competent people like Richard as a result. On the bright side, the backlash against that sort of thing has been growing lately, at least here on GameDev. I don't like discouraging people from writing, but it's critical to make sure you don't have newbies learning from people who barely understand something themselves, or are extremely bad at explaining it. Just because you write something doesn't mean it's worth reading, and nobody's exempt from that. I have at least a half dozen entries to this journal that I finally rejected, basically because they sucked. Sometimes my standards are too stringent even for me.
| |
 Day 1 at Day 1 |
Posted - 10/1/2007 9:07:01 PM | Day 1 at Day 1
I didn't really want to write this entry, since I don't think it's fair to evaluate a workplace after only one day. The abbreviated version is that for now I'm getting good vibes from the place, and I trust my intuition quite heavily in these matters.
I do have one comment of interest, though. Some of you may be familiar with GameArchitect.Net. If not, get away from this journal and start reading him instead. There's not a lot of material there, but what is there is great and has considerably influenced my perspectives on game code design over the last year or two. The writing is styled like Joel on Software, but he's less righteous and more right about things.
Point is, turns out he's my direct superior. Awesome.
| |
|
| S | M | T | W | T | F | S | | | 2 | | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
OPTIONS
Track this Journal
ARCHIVES
October, 2009
September, 2009
August, 2009
July, 2009
June, 2009
October, 2008
June, 2008
May, 2008
April, 2008
March, 2008
February, 2008
January, 2008
December, 2007
November, 2007
October, 2007
September, 2007
August, 2007
July, 2007
June, 2007
May, 2007
February, 2007
|