Monthly Archives: February 2004

Shiny New Chips

Back on Wednesday, our car was broken into while my mom was on a hike. We lost approximately $500 worth of stuff, $50 of which included my Poker chips for Friday night Poker with my friends. But my school had recently paid me $475 extra in financial aid for books and such, and I only spent $100 on books. And we’re hoping that our insurance will pay the $500 we lost.

Here I am with $375 and no Poker chips (no expensive car stereo either, but I can live for a little while without that… I think). I head down to It’s Your Move, the local games store, and pick up a brand new set of 500 chips for $100. Five colors, which is better than the three I had before (1, 5, 25). We’re thinking of making them (1, 5, 10, 25, 100). Now maybe we can start a tournament with 1,000 instead of 100 chips, and start the blinds at 5/10. Then betting a tenth of our stack doesn’t sound like a wimpy “10”, but instead a powerful “100”. It makes no difference technically, but I think it will significantly tighten up our playing style.

Lean, Mean Elasticity Model

While working on the physics engine for TIM (see below), I had to come up with an elasticity model. I usually just use a number for each material, and multiply them together to get the collision elasticity (percentage of kinetic energy not absorbed).

But then I thought about three characteristic materials elasticity-wise: A marble tile, a soft gym mat, and a super ball. A single number won’t do here, since the following relations hold (using × to denote said operation):

    tile × tile = 0
    mat  × mat  = 0
    ball × tile = 1
    ball × mat  = 0

If you can think of numbers and an operation × that have those properties, please comment. I’m quite certain that no such thing exists (without evil encoding of numbers and such; it has to be somewhat elegant).

But I did come up with a system that worked, and it naturally comes from the most practical branch of mathematics I’ve ever had the pleasure of studying: Linear Algebra. Each material is characterized by a tuple, <hardness elasticity>, both between 0 and 1. These are then run through a nice formula (materials α and β):

    E = [ 0 1 ]
        [ 1 1 ]

If you run a few test cases, you’ll find that this gives the expected results many, many times. If you can find a counter-case, please comment and tell me.

The Incredible Machine

I am in the midst of coding the physics engine for the The Incredible Machine clone that Namaste and I are working on. His final project in a CS class is an educational game, and we thought that TIM would be a great candidate for that!

Sierra recently released The Incredible Machine: Contraptions, with “improved graphics and sounds.” I was expecting an all-around better game, but it seems that they just remade TIM2, put in some anti-aliased graphics (which just look blurry), and added sounds for just about all of the widgets: very annoying.

There’s no point in doing the same thing they did. TIM was a great game, and it need not be remade. We’re taking it in a new direction. I believe that simply adding more versatile physics will take the gameplay to another level. For instance, boards can be rested on walls so that if the walls are blown up or moved, the board will fall. Things can have rotational motion (it’s quite amazing how far TIM went without this essential physical phenomenon). You might be able to attach ropes to many more things1.

I think TIM has a lot of potential for growth. There are a lot of ways to play with it and see what happens. But the first step is the physics engine, so, back to work.

1I’m still thinking about that one. I could do it with the engine, but would it kill the gameplay in the presence of ropes? Perhaps a new widget is needed: a rope attacher. That’s the thing that could be attached to many things, and the ropes themselves could only be attached to an attacher.

Steep Learning Fighting Game

I was recently thinking about editors, comparing MS Word to vim + LaTeX. For the “industry leader” in text editing, MS Word sure doesn’t offer much to power users. Indeed, I would much sooner type e' than open up the symbol palette, hunt for é, double click, and close the palette. As would I prefer the longer \textit{...} to moving my mouse over to I and click (neglecting the Ctrl-I shortcut :-).

Vim has more advantages, like changing all your italics to bolds in a particular region with :s/textit/textbf/g. But this post isn’t about text editors; those tradeoffs have been many times explored: It’s about games.

All the one-on-one fighting games I’ve so far seen have been analogous to MS Word. They’re designed to allow someone to pick up the game and start playing immediately. This is a very important attribute of games. Games with a steep learning curve can lose the prospective player’s interest and consequently lose popularity1.

But there could be some merit to a fighting game with a steep learning curve. Counterstrike, after all, has a pretty steep curve, and it’s one of the most popular games in history.

This was all inspired by the mace-and-chain fight in Kill Bill (one of my favorite movies). The obvious way to control such a weapon is to have it automatically swinging overhead (or in one of several stances, à la Bushido Blade), and have several buttons issuing several kinds of attacks. That’s the MS Word way. The vim way might be rhythmically tapping or alternating buttons to exert the force to keep it swinging, and other buttons to lengthen and shorten your grip.

That would be tough to pick up—too tough to get anyone’s interest. To make it a good game, you’d have to add “easier” weapons into the game: a dagger, or just hand fighting. But you can’t dumb down the advanced weapons to make them easier to learn, because that takes away the power users’ power. Obviously an experienced mace-and-chain fighter could beat the pants off of any type of fist fighter. Just like in real life. :-)

Perhaps that will be my next experimental game. First, though, I should finish the one I’m working on now: a physics engine for the The Incredible Machine clone that Namaste and I are making2.

1And a lot of it, since the popularity of a multiplayer game, unlike other forms of software, is quadratically proportional to the number of players.

2And not like The Incredible Machine: Contraptions which is just like all the other games with “better” (in my opinion, much worse) graphics. A post of this coming soon!

Thoughts about Relationships

Nobody likes to be preached to about relationships. Therefore, nobody should read the rest of this post.

My mom has recently been complaining that, in her current relationship, she and her partner can’t communicate. She says that since they can’t talk about anything, they aren’t having any fun. While I agree that it’s very difficult to have fun if you can’t talk, I think she has the cause and effect backwards.

You can’t just expect to go over to the partner’s house, eat, maybe have some sex, sleep, go home, and have any fun (unless the sexual chemistry is through the roof—but even then it gets old… eventually). The basis for relationships is having fun together. If you never do anything, then it’s no wonder that you can’t talk about anything, because there’s nothing to talk about.

Instead of trying to “talk out” your communication problems1, I suggest that you suggest things to do together. You know, hiking, swimming, going to a movie in the theater, dancing, whatever. It doesn’t need to be big and exciting, just something. Something besides sitting at home doing nothing.

After you’re doing things like this twice a month at the very least, I assure you that the larger of your other problems will solve themselves.

1As Tom Lehrer puts it, “I feel that if a person can’t communicate, the very least he can do is to shut up!”

Poker Crap

I got my first long run of really bad cards today. Indeed, I’ve before had a run of cards that induce bad beats, but today I played two tournaments and got a total of two (2) hands (of probably around 200) worth calling by low limit standards. If I did get a high card, it was always accompanied by a low offsuit kicker. The first good hand was JJ, in which I put out a little bet pre flop and people folded all the way around. Oh boy, I stole the blinds. Again. The second was KQoff, with which I went all in pre flop against AJoff. He flopped an ace without even a patronizing king, and the rest of the hand was low crap. He won, I was out of the tournament.

I went from an encouraging $25, rebuilding my bank from my deposit of $40, to a pathetic $6.25. So I’ve stopped for the day, declaring it a drab piece of shit, and hoping that another day I’ll play a $5.00 tournament and win (I win those pretty often, actually). Ugh. That sucked.


Just did my Low Limit Texas Hold’em speech in speech 101 today. I thought I did pretty well, but the evaluators didn’t. Out of the three evaluators, 30 graded points, I got only two fives (scale of 1 to 5). Nuts.

I gave everybody at least a couple fives, because there were things that each person did really well. But sometimes people are afraid to give “perfect” scores. I did get a lot of fours.

I agree with what they were saying. It was a 7 minute speech, and there were 15 or more minutes worth of content, which I think was my greatest flaw. One person noticed that. I had to hurry a little, and I couldn’t define (and redefine) my terms very well because of the 7 minute maximum.

On the other hand, it came across really well to the couple of people who had experience with Poker. I even recruited a fellow (Clif) to our poker night. He plays $100 buy-in tournaments once a month, so I wonder whether he’s better than us. He probably is. That’ll be good. If not, even better, because he obviously carries cash. :-)

2 for 4

Well, I’m 2 for 4 on 10 player tournaments online1, which amounts to $30 up (well, minus all the money I lose playing tables :-). In the tournament I won today, I encountered the best player I’ve ever had to face in a $5 buy-in game.

By the time it was just the two of us, I had 6000 and he 4000, or so. The resulting heads-up match lasted over an hour. I was the bully through most of the game, and I continued to play that role for the first part of the face off. Quite naturally he tightened up and whaled on me once for 3000, putting us at 4000 and 6000. We traded positions a few times.

The reason I had trouble beating him is because he was so versatile. If I played the bully, he would play his good hands and just call me to the river and take the money. When I figured this out and stopped betting when he called, he would start pushing me around. The way I finally beat him was waiting for a good preflop hand and forcing a huge decision on him right then. Eventually he took it, and was outdrawn.

However, I found much more satisfaction in beating him than I would have just pushing over one of the usual tight-passive players.

That’s an interesting point about this poker site. Most of the people who play in tournaments and get anywhere are tight passive, while the people that play at the tables are much looser. I’ve learned not to bluff at the no limit table players, because there’s always someone who will call. But the tournament players will usually just give me their blinds at the blink of an eye.

Oh yeah, and I’m not playing limit anymore. It’s no fun compared to the depth of no limit… well at least at the limits I can afford.

1 The name of the site has been removed because they blog-spammed me.


Whew! My computer is no longer randomly crashing as often as it did yesterday. I disabled the “search indexing”, and it started riding as smoothly as before (which is to say, very bumpily, but not falling So, great, not only does Microsoft hate UNIX, they can’t even implement locate right.


It’s come to the point where my desktop is crashing once every 10 minutes. Read carefully: that was not an exaggeration. I don’t know what to do. Yeah, it’s an old 500 MHz Compaq POS, but it has my sound card and all my composition software on it, and I can’t well write a song in 10 minutes. I’m going to reinstall… cringe… Windows and hope that makes things better. Wish me luck.