5/31/2004

5-31-04 - 3

5-31-04

Who is this Kevin Harlan character? Is he Marv Albert in disguise? Marv Albert has one of the sweetest hair pieces in the business. Just imagine him in an S&M three-way dressed in ladies lingerie with that sweet hair-piece, it makes me hot.

5-31-04 - 2

5-31-04

I know the WSOP is over, but if you're getting ready for next year, here are my tips for taking out the top pros -

1. They're better than you. That means if you can get all your chips in against a top pro with a 50/50 shot, that's not a bad thing. At the same time, they think they're much better than you, so they will be loathe to risk their chips in a 50/50 shot - they will want to save them for a better opportunity. Put these two together, and it means you should raise them all-in whenever you're pretty sure you're in a race. eg. if you have a low PP and you're pretty sure they're on AK or AQ, or if you have AK yourself. If you were playing against worse players, you would often fold these situations, just as they will often fold when you put all your chips in.

2. Let them push you around. One of the few mistakes that pros will make is that they will underestimate you. They are a bunch of egotistical pricks, and they will try to push you around. Let them think that you are a fish who can be easily pushed around (but don't lose too many chips doing that). You will make your most money by slow-playing, letting the very aggressive pros bet at you, and calling them down with the winning hand. They'll whine and say "how can you call with A-junk, you have no kicker, I could've had blah blah", you just smile and know you played their arrogance like a fiddle.

3. You know them, they don't know you. You've seen them on TV, you've read their blogs, they don't know anything about you. That scared them a little bit. Use your knowledge of them (Daniel and Gus like to play junk, Dan Harrington is very tight, etc.), and also try to stay unknown. Keep your play a little erratic so they can't pick up an easy pattern on you. Some pros don't like to get involved in pots with the "fish" unless they have very big hands, because they don't like playing against unknown factors. This is very good for you, it takes away all their advantages. Steal their blinds, and when they do play back, just get out.

Good luck.

5-31-04 - 1

5-31-04

The "Most Cashes" list is a good way to see who's really dominating the WSOP (who wins the main event tourney is very random) -

here

Howard Lederer, Daniel Negreanu, John Juanda, Scotty Nguyen - some of the players I admire most. Howard and Daniel in particular are very good players, and I like their style; aggressive and smart. But who's this Minh Nguyen ? Is he part of Men The Master's collusion squad? Or is it just a coincidence?

I also like The Hendon Mob ; Ram is a very good player, and Barney is ok; the other guys are pansies. I just really like the idea of a bunch of blue collar guys from a small part of London forming a Poker Syndicate and travelling around the world playing tournaments.


The animation in Spider Man 2 just looks awful. Someone tells those idiots not to move the camera in strange, digital, herky-jerky ways, especially when the focus character is also moving in weird ways; the combination just makes the motion look really odd.

5/28/2004

5-28-04 - 1

5-28-04

Ode to developing on the Xbox - O sweet fixed platform! O knowing I can just use SSE without checking the processor! Having full control over the disks and memory - storing game data in the frame buffer memory and then doing direct DMA writes from there!


When you get bug reports you have to consider the utility of examining them. How likely are they to just be user error? Users have to realize that when they "cry wolf" a lot by reporting bogus bugs, they're going to get ignored more because it becomes quite likely that the bug is not worth exploring.


The thing that games in general (and software in general) don't do is to let people control their experience, *and* make the default smart. My thinking in software design is always like this :

The default should be what the *stupidest* user will want, because they don't know how to do anything else. Options that semi-savy people will want (like resolution changes, etc.) can be a little bit harder to get to. Options that only a power-user would want can be very very hard to get to (eg. only in a .ini file or only in script language, etc.)

That way your average dope installs it, all the fancy options are totally hidden from them, and they get a decent game/tool/whatever. Then your more power users still have the ability to make it how they like it.

Controls are a classic example of this - the controls should always default to what the mass-market least-savy user will want. That's true even if you don't think those are really the best controls!!! If the best controls are more "hard core", put it on an option. The hard core people will find them, the mass-market will never touch the options and be happy.


A good way to do development would be with "flash squads" for features. Someone coordinates the squad, generally I would recommend it should be a programmer. The squad is one or a few people from each department, as needed. The squad works together to make the feature; they can brainstorm and talk and try things and get it done. They still get scheduled and such, but they have more freedom to talk to each other and work cross-department. The point here is that the org chart is temporarily changed. Rather than having director/leads/producer assign tasks to each department, and then have the various people doing the work report to their leads & producers, you have the director/producer assign the task to the flash squad; then the people in the squad report to the coordinator; the squad can agree to change up what they're doing, etc. and the coordinate controls it; he's responsible for scheduling and reporting progress up the chain. In the end the whole squad is responsible for the quality of the result, you don't get a situation like "we did our work in code and the artists just didn't make it pretty" or whatever.


The Law of Conservation of Complaints. When I was in physics we used to make a lot of jokes about fake conservation laws. It seeems to me complaints are conserved. The better you make things for people, the more shit they'll find to complain about. When things are really good, people find really dumb little things to be annoyed by. In fact it often seems that people in good situations are more prone to complain because they have the time and energy to do so; people who are really in the shit don't have the time to bitch about what's wrong.


I hate the way people show "direct lighting" vs. "radiosity" screen shots, and they show the direct lighting with no freaking ambient (like here ). Hey dumb-asses, if you used like a bipolar gradient ambient, you'd have 95% of the radiosity affect there. The actual thing that radiosity gets you over decent non-radiosity lighting is a 2nd order effect, it's the subtle darkening in the deeper folds, etc. (affect/effect !)

5/27/2004

5-27-04 - 1

5-27-04

It's quite difficult to play well on a typical Party Poker 3/6 table these days. You have a lot of very bad players, but also some very good players. There are a lot of pros that play 2/4,3/6, and 5/10. If you assume you're just against fruity players, you will do very badly, but if you assume your opponents are all reasonable, you will also do badly. You will only do very well if you can rapidly tell the pros from the fish and adjust properly for each player.

5/24/2004

5-24-04 - 1

5-24-04

Let's stop kidding ourselves. Online comics are *rotten*. Penny Arcade just blows. Sinfest blows. Deisel Sweeties really blows. Give me some good old newspaper single-panels any day, like Non Sequitor or Fusco Brothers.

Something about games makes me always want the one that isn't out yet. I don't do that with anything else - movies, cars, whatnot, I think I'm pretty reasonable about looking forward to things and then also enjoying them after they arrive. With games, it always seems like the game I'm gonna really like is right around the corner, and then when they arrive, they're always just okay. Maybe it's because the hype and promos in games are so much sweeter than the reality of the annoying bugs, slow loads, and repetetive, tedious gameplay.

5/23/2004

5-23-04 - 2

5-23-04

I want to punch anyone on the Atkins diet. There should be more punching in the world, just get your feelings out, we'd all be better off. The McDonalds fit-meals are un-freaking-believable. The fact that it's low carb doesn't change the fact that it's a happy meal!

5-23-04 - 1

5-23-04

I'd like to set up a real-time mocap system that can drive straight to my game characters and be captured in real time. I'd like to do it with a little SDK and off-the-shelf hardware. Seems pretty easy, you have the performer wear black or white, then you put colored markers on them; you watch them in real-time with 4-6 video cameras doing real-time capture using videocap cards; you track the markers and figure out the 3d animation of all the joints. You have to have some tool where the markers are assigned to the pre-made character skeletons (or the tool could automatically find a pretty good fit). You could run at 15 fps and still get pretty great quality. The video has to be decently high res to capture, like 640x480 is probably the minimum; you can almost use just higher-end webcams. You have to do a calibration at startup to figure out the positions of the cameras. You can do this just by having some stock marked object, like a colored cube or tetrahedron that you've measured exactly and entered into the system, so the system can just see that object and calibrate to figure out the 3d positions of all the cameras. To track the markers you have to scan 640*480*15*6 pixels a second; that's 30 million. This is probably doable on a 3GHz P4, but worst case you should be able to do it with a dual CPU box. You do need all the cameras to be in-sync for timing, which I would imagine should just happen automatically if all the hardware is the same and decent quality. The full mocap setup with computer should cost about $3000 for hardware. We could sell it for $5000, compare to $20k or more for current mocap systems.

Another fun project would be a full-object scanner using off-the-shelf parts. To do this you set up a rig that you're place your objects in. The rig is a frame with like 10 high resolution digital cameras (or you could just use one and have motors to rotate the rig around, but it's probably cheaper just to have more cameras), and a bunch of colored lights all around the rig that are computer controlled. You take lots of pictures of the object under different lighting conditions, with different colors and different angles. From this you can deduce the albedo texture on the object, and the BRDF, as well as the (visible) 3d geometry of the object! I say "visible" because this only really works on mostly-convex objects, you can't get into nooks and crannies on the hidden insides of the object.

5/22/2004

5-22-04 - 2

5-22-04

Definition of "Icing" - When both teams have an even number of players on the ice, and one player shoots the puck from behind the centre line and it cross the opponent's goal line but does not go into the goal.

People who are foolish and wrong hate and envy the people who are right. Fortunately we have the big fucking advantage of being right!

5-22-04 - 1

5-22-04

It seems to me there's a huge missing business, which is a service of expert consultants with various specialties that can do these kinds of jobs. Ken Demarest and I have talked about trying to start up such a company. You get like 20 consultants, someone who's an Id-engine expert, someone who's a Havok expert, etc., someone who's a COM/GDI/MFC expert, someone's whos' a VU/MIPS assembly expert, etc. so you have a man for just about every job. You charge like $200/hr or more, but you're offering top experts who can quickly jump on a small problem and give you a very good solution. Certainly at Oddworld I would have used such a thing myself.

It's funny when the management treats the employees to something nice, I'm very grateful and all, I think it's a nice gesture, but really it's your own money. It's like, hey, all these profits we've gotten from your hard work, here you can have a tiny bit back. It's sort of like after the feudal lord collects the taxes from his hard-working peasants, and then when he rides through the streets he tosses coins out his window for the riff-raff to fight over, and they think he's so kind and generous.

5/18/2004

5-18-04 - 2

5-18-04

The next frontier for games is animation. Lip sync and facial animation is important, but even just good full-body animation is really important. Current games are just crap. HL2 looks reasonable, and our game is pretty good, but most are shite, and you can even do much much better than those games. A lot of people don't understand how important this is, they think the current games are ok, but they're not. When you really get people moving realistically, it's a *huge* visual difference, the characters suddenly start to feel really human and alive, and it's like a sudden different level of connection you feel to the game environment. It's like the difference between seeing a VR sim of some toy soldiers vs. actually seeing real people getting torn up by gun fire. I should clarify - there are a lot of games with good canned anims, and the transitions are pretty good now, games like Prince of Persia and Ratchet and Clank and our game all qualify for that. The next stage is more dynamic animation, more reactive, more physical, responding to your terrain, anticipating future mores, etc.

5-18-04 - 1

5-18-04

Part of the job of a good game director is to foresee problems and to help the team out. You should be able to know from intuition and experience what's going to play well, where the time and energy should be spent. You should be able to focus development without actually trying lots of dead ends. Anybody can just try it lots of ways and pick the result that works the best (well, not anybody, a lot of people can't see greatness even when it stares them in the face), the real talent lies in knowing what's going to work before you try it. It seems to me that so-called great creative game directors like Molyneaux are terrible in this way, while systems-based houses like Bungie, Id, are much better at getting straight to the point. Of course, you have to do a little prototyping and experimenting; the houses like Bungie and Id wind up making very unimaginative and predictable games. Like all important things in real life, it's subtle; the true "maestria" is in the balance - you need to prototype and experiment, but you also need to have enough clarity and foresight not to waste a lot of time.s

5/16/2004

5-16-04 - 1

5-16-04

Another day for writing down game ideas. Some of these aren't mine, but they're all very obvious and would be easy and cool.

The Lawrence of Arabia / Horse Whisperer game - okay, actually this is like an RTS with heroes. There's an evil race of gargoyle creatures ruling over the land, and the people have started a guerilla revolution to try to overthrow them; you come from a mysterious place and have come to help; you know their cause is helpless without a miracle, but you have a secret. Now, there are several different players you can be - one is like a "beast master" who can talk to animals and recruit an army of wolves, lions, horses, etc. one is a practitioner of black arts who can raise the undead, etc.. The gameplay is like RTS + heroes; you commmand your armies to do what you want, but the key behind the battles is if you can take out the enemy commanders, either personally or by good use of your minions. The play is personal, like 3rd & 1st person, not a top-down RTS. Then the really interesting thing is playing co-op with other heroes who can command different army types, and you get interesting combos of capabilities.

Shaft - you're shaft, a bad mutha, full blacksploitation game, pipms and informants, big afros, just go silly; you get your dual 45's, women are all over you.

Mad Max - this is so obvious and fun; sort of low-tech future weapons, like crossbows and grappling hooks and shotguns, cool vehicles. Make it an MMO, let the user get parts and bolt-ons and customize their cars; ambush other players and take their cars; find an old camaro and bolt on a fully-auto machine gun, etc. I don't want a super hero - I want a big fat character with a mohawk and ass-less leather chaps and football pads with spikes.

Cops and Robbers MMO - bad name, what really would be cool would be like a corrupt NYPD-style police force against the Mafia. When you join the MMO you're a peon, and there's a whole structure you have to work yourself up. You can start by running little missions for your side (shake-downs) and as you advance you get into all-out wars between the sides (and of course, you can also make deals with people on the other side on the sly). In many parts of the city, during the day, the cops and Mafia exist together and can't just take each other out in the open.

WW2 MMO - the idea here is to do the full logistics of a real war. You have a hierarchy of command that people have to qualify for with experience points. The top commanders stay back at base and look at top-down maps (if they choose that role), and they send out messages to the people on their team. You get squad commanders doing coms, people manning supply lines, planes carrying in paratroopers, etc. Your average group of players would sign up to be a squad together, so you could play with your buddies and have basically a BattleField-like experience, but it's part of a big battle, and there's a commander above you coordinating things, telling you your objective, and there are other teams supporting you, bringing in reinforcements, etc. The key would be to combine the ability to have a quick pickup game of BF, with character development and more depth and complex battles and the opporunity for character improvement and advancement. For example, with XP you qualify to move up the chain of command, but that also qualifies you for pilot training or heavy-weapons training, etc.

5/14/2004

5-14-04 - 2

5-14-04

There's one more big thing to do in game engines - that's to go fully floating point for lighting, do all physically-based lighting, get atmospheric scattering in, radiosity, etc. have realistic intensities for your lights, etc. Note that to really have this you need an Exposure function. Even the current crop of games are nowhere near physically-accurate lighting values, because they don't do exposure. That means the balance between their bright outdoors and dark indoors is faked. It makes them have a lot less contrast than they should, it's why Half-Life 2 looks very washed out. Once you start going fully physically-based, you have to drop all the old hacks, like ambient.

The big problems remain - alpha is a pain in the ass, and there's no real good solution for dynamic lighting and shadows. Probably the best bet is something along the lines of Halo 2 or Half-Life 2, where you have basically static background and lights, but you allow dynamic objects and lights and you just sort of let things be slightly wrong for your dynamic objects (eg. you get the one-bounce lighting right still, but let the radiosity be wrong). On next-gen hardware you can at least do soft-stencil shadows, so that'll be a nice hack solution.

5-14-04 - 1

5-14-04

Half-Life 2 looks amazing. To me, Valve and Bungie and Id really represent what code-driven game production is all about. You decide on what is really important to you and you do that really well. All three are groups that do things right, they don't just hack and tweak, they get the lighting right, they do things the way the coders know is right (physically based lighting and physics in the motion engine), they don't just let the artists hack up the lighting or make physics that "feels good" but isn't based on reality. All three also have the wisdom to realize that in the end they're working on a game, so you make the experience fun and interactive, not tedious, you don't stick to any of your principles if they violate the all-overriding fun principle. Their engines are solid, but in all cases their engines seem difficult to work with at first. Our artists would have screamed and moaned about having to use CSG, or having to make your models water-tight, having to do high-poly models, etc. but the results make it all worth while, and once you start actually doing it it's not so painful. It's the kind of thing where they know it's worth it and they can make the artists try it, and once they try it, they like it.

The lighting in all 3 engines is different and all are good. Id is fully dynamic, with the core look driven by bump maps and stencil shadows. Valve is mainly baked-in, but they encode a precomputed light field so that dynamic objects can move around in that light field. Bungie is a mix; they do fully-dynamic first-bounce lighting, and add on precomputed more-bounces radiosity; they're also heavily driven by bump maps. Valve's technique is very cool, I'll put my notes about it in the 3d section...

5/11/2004

5-11-04 - 1

5-11-04

Chris Webber, I know you read my rants, don't deny it. Listen up, YOU SUCK! Give up the rock, let Bibby and Stoyo shoot it, they can carry the team to success, you just bring it down to perpetual mediocrity.

What if you got one of those like 1000 lbs super-fat guys and made him your hockey goalie and just stuffed him in the goal so there was no space to get a shot in. He'd be the greatest goalie ever!

5/10/2004

5-10-04 - 1

5-10-04

What if you just bought any cheap stock that has an extremely favorable P/E ratio? Is that not an easy money-making proposition?

5/08/2004

5-08-04 - 1

5-08-04

There are two new ways of making games that I'm interested in -

Prototyping. You take a small talented team, you have an idea and you make a rough rapid prototype of the engine and gameplay. The entire duration is maybe 6 months, you make something that's totally playable and fun, but not polished. Once this is done, you pass it off to a larger established team to finish, like one of the many 2nd teir game coompanies, or some team within your corporate group. You supervise this team loosely in executing your vision, and they should be able to finish in about a year since your prototype has very clearly defined what the game is.

Mutating/Enhancing. You take some existing game and improve it, change it, tweak it, and re-sell it. This is not a trivial or superficial thing, you may be making major gameplay changes, totally changing the flavor of the game, the key is that the basic structure is similar, you can use the previous code base and engine, so it should be easy and quick. This is done constantly with first person shooters, since you can license Unreal or Quake and have basically a good shooter framework to adapt. Insomniac sort of did this with Ratcher & Clank, but largely this is not done outside of the shooter genre. I'd like to adapt this production model to all sorts of games. There are a lot of games that are basically bad games, but still have a good structure and engine, that you could purchase and pretty easily turn into very good games.

5/07/2004

5-07-04 - 1

5-07-04

Is AMD a good buy now? Intel looks like its roadmap for the future is screwed. As China leaps into the 21st century, will they be buying lots of nice Athlon64 servers and laptops? In October 2002, AMD hit a crazy trough of $3/share , it's now back to $15/share. What happened then to cause such a plummet?

5/03/2004

5-03-04 - 1

5-03-04

I want to make a game that's flat-shaded and wireframe, with just tons of debug draw; show trails of previous positions, coordinate frames, tangent spaces, show frame rates and memory uses and gpu times, etc. all with colors and shades and such. We have some really awesome beautiful "debug draw" in the current Steef game, it looks very military-sim with all these vectors and frames and numbers flying around the sky.

5/01/2004

5-01-04 - 2

5-01-04

Hip hop guys are very much the poor people with no class who somehow got money; they understand that they need to push themselves and their product, but they don't have that classy British repressedness where they don't admit they're pushing it. It's sick to see someone on a talk show just saying "yo, buy my album". It's much nicer to see someone say "oh yes, I do have an album, now that you mention, ho ho".

5-01-04 - 1

5-01-04

If I was smart I would patent my internet ideas (see "network of trust" 8-10-03) and start a startup. I'm not saying the ideas are actually very new or legitimately patentable, but that's never stopped anyone before. I'll make a funny name for my company and Wall Street will just throw cash at me.

My new big idea is to use the search to improve the search. Google has become so mainstream that they should use searches to improve the searches. It goes like this - you search for some keywords, "a b c", you're trying to find the best pages that are about those things. You go clicking around the search results, eventually you find a good one. That's the page that should be found first! So, you take the behavior of the searcher and roll it back into the search; you mark the final page as being the best page "about" a,b,c. This approval could be done using some extra thumbs-up/thumbs-down buttons, or even just by watching a person's activity as they browse around. This could also be enhanced by the old "network of trust", since you know *who* approved the page, my searches can be conditioned on people who are approved in my network.

Basically this becomes a fuzzy way of experts sharing information. When I go searching for 3d graphics stuff, I can make use of all the searches that other 3d graphics gurus have done. My "network of trust" will be conditioned on other people who are smart and expert, so the pages they found will be more likely for me to find. This kind of thing could *very* rapidly improve the quality of searches, especially difficult ones. For example, trying to find something like an SSE 4x4 matrix multiply is nearly impossible with Google, but would be very easy once the conditioning on quality results and similar experts is done.

Another trick for conditioning is the use of "base pages". For example, if you condition from a hub page like www.realtimerendering.com , then you prefer pages based on how close their web graph-distance is to that page, you will automatically get much better results for any 3d graphics search.

old rants