• entries
40
184
• views
57651

Musings of a GameDev.net founder, book author, and game programmer.

## Quick update

Weekly weigh-in: 235.0

After a couple of relatively slow weeks, I'm mostly back on my weight-loss pace. I'm taking this week off from weightlifting. I've been lifting consistently for 3 months, now, so my body is overdue for some time off. I'm still doing cardio this week, though.

Now that things have slowed down a bit at work I finally have time to work on an internal game. I'll be leading a team of a couple of programmers and two contract artists. We've been hashing out the design, and should start coding soon. If all goes well, we'll have a demo to show at GDC in March.

## Books

Weekly weigh-in: 236.5

Another off week, but considering that it was Thanksgiving, I'll take any loss at all. I just can't pass up the pie.

Over the weekend, I decided to clear off some room on my bookshelf so I'm selling a bunch of books on Amazon. I always try to list them lower than any other new/used price, so they're pretty good deals. I currently have the following books listed:

Focus On Mod Programming in Quake III Arena, $6.00 Focus On Photon Mapping,$15.00
Game Programming Tricks of the Trade, $5.50 Beginning OpenGL Game Programming,$17.50
OpenGL Game Programming, $28.00 OpenGL ES Game Development,$20.00
Digital Character Design and Painting: The Photoshop CS Edition, $31.00 Macromedia Flash MX 2004 Game Development,$30.00
Advergaming Developer's Guide, $30.00 The Digital Biomedical Illustration Handbook,$30.00
Focus On Curves and Surfaces, $2.90 Sold Graphics Programming with GDI+,$27.00 Sold
Understanding Flash MX 2004 ActionScript 2, $9.00 Sold ## Late week Weekly weigh-in: 237.0 I know it's retarded, but I'm a little disappointed that I only lost a pound last week. I didn't really eat more than I have been, and I've been exercising religiously, so I expected the 2-3 pounds I've been consistently losing every week for the past couple of months. But I think that my fat loss is having a hard time keeping up with muscle growth, so I can't complain. I also had a more accurate bodyfat test done, and I'm at 26%. I'm going to start doing that monthly, since I think it's a better indicator of the progress I've made. I'm late posting this week because I was in the hospital from Sunday night until Monday evening. I was there for a sleep study to see if I have sleep apnea. I won't know the results for a little while, but I will say that the sleep study was miserable. I know that sleeping doesn't sound too tough, but try it some time with over a dozen electrodes taped to your head. I mentioned that last week, our company did a big presentation for investors/analysts in London, and that I've been busy working on some demos for the presentation. Some of the key demos were games developed by outside game developers, that we were supporting here in our lab (optimizing, fixing bugs, etc.) Here's a shot of one of the games we showed: It's a port of EA's Need For Speed: Underground 2. We showed 2 other games from Gameloft and Hudson Soft, which due to unfortunate circumstances were also racing games. But all of the games look great (the screenshot doesn't do NFS justice), and play really well on our demo phones. The attendees at the meeting were blown away. Although we had demos for many other phone features (e.g. GPS, camera, video), the games stole the show. Not that that was a surprise to me. Finally, here's my familiar: I didn't put him up there. He climbs up on his own while I'm at my computer. Usually he's facing the other way, watching what I'm doing. ## Piracy, and our stance on it Weekly weigh in: 238.0 I changed my eating patterns last week. I was eating 3-4 meals a day (usually 3) which isn't ideal for either weight loss or muscle building. I've now switched to 6 meals a day, which for me works out best as three larger meals spaced about 6 hours apart, and three healthy snacks in between, including a milk/peanut butter/chocolate protein powder shake at 9 pm. I've also bumped up my total calorie intake a bit. I think that my body was previously going into starvation mode occasionally, thus reducing fat loss and increasing muscle loss. Now, I never really feel hungry, and I'm still losing weight. Anyway, on to other things. The issue of piracy - and more specifically, GameDev.net's stance on it - has come up several times recently. Our policy to date has been to permanently ban anyone who posts on our forums asking for, condoning, or even admitting to using pirated software. We ran a poll to get some community feedback on this policy, and found that although most of you appreciate our anti-piracy stance, about half of you think that permanently banning people is a little harsh. After some discussion, we decided to revise the policy, which will be reflected in the forum FAQ soon. To sum up: Asking for, telling people where to find, or encouraging people to use pirated software will still result in permanent banning. Admitting that you use pirated software can result in suspension or warning, at the moderator's discretion. If you have a history of problems, a full banning may be in order. Admitting to having used pirated software in the past will not generally be a punishable offense, unless you're doing so in a context that implies approval of piracy. This policy is only slightly less strict than the previous policy, but it gives the moderators more room to use their discretion and not be bound by an overly strict rule. ## Post-election blues Weekly weigh-in: 241.0 I'm still kind of bummed over the election. I was never really pro-Kerry, and I'm not even really a Democrat, but I really felt that Bush needed to be held accountable for numerous major screwups, and that didn't happen. Worse, he now obviously feels that he has a mandate to do whatever the hell he wants to do ("I've got capitol to spend"), apparently including digging us into an even bigger debt hole. For all his talk of tax-and-spend liberals, he seems determined to set a new standard as a cut-tax-and-spend neocon. There was one bright spot in the election for me. The incumbant representative from the district I used to live in in Utah is Jim Matheson, son of popular former Utah governor Scott Matheson. He's a Democrat, but a Utah Democrat is probably a moderate Republican in pretty much any other state in the union, and in any case he's a damn fine human being and good politician. After his election 2 years ago, state Republicans were so upset that a Democrat finally one a national seat that they decided to rezone the districts in an attempt to split up his Democratic base (which was centered in Salt Lake). Despite their efforts, Matheson managed to win again. I don't live there anymore, but it still counts as a small victory in my eyes. ## Stuff Weekly weigh-in: 243.5, 35% body fat I was at 40% body fat when I started working out again 7 weeks ago, so I'm pretty happy with the results so far, though I've still got a LONG way to go. I've been slammed at work the past couple of weeks. The president of our division is doing a presentation for analysts in the UK, for which he's showing several game demos. We've been polishing up our internal stuff as well as having developers here in the lab getting their stuff ready to go. Overall, it's going pretty well. We've got good 3D content running at playable framerates on prototype handsets. I think people are going to be surprised and impressed. I'll post some screenshots here when I can. ## My car Weekly weigh-in: 246 Down 2 pounds from last week. I figure that tracking my weight here will help keep me motivated to stay on the wagon. Anyway, this is my car: It's a '93 Mazda Protege, which I bought in 1996, and have since put over 100K miles on (it's at 160K now). The car has served me well, but it's starting to have a wide range of problems that I really don't want to spend money to fix. This past summer, I started looking for a replacement. I've wanted a roadster since I was a teenager, so I was looking at the BMW Z3 (which I like better than the newer Z4), Audi TT Roadster, and Chrysler Crossfire. But after a few test drives, my wife pointed out to me that I really needed to get something with more than 2 seats, since we have 5 kids, and I regularly have to pick more than one of them up while she has our minivan. Fine, I started the search for an alternative. I really want something that I'm going to enjoy driving, so I came up with several criteria: It has to be sporty. I don't need a rocket, but I want something that can move when I feel like it. It has to be somewhat unique. I don't want something that looks like every other car on the road. It has to be convertible. It has to have a back seat. It has to cost So I spent months looking for a car that fit these criteria, with little luck. Everything I looked at failed one or more criteria. I was beginning to feel that I was going to have to settle for something less than ideal, until I went to London. There, I saw a car that I'd looked at before, and really liked, but passed over because it wasn't convertible. Except that the the one I saw was convertible. Turns out they had just come out with them, and they hadn't yet appeared in the states. I went back home, did some research, read some reviews, and came to the conclusion that this car was exactly what I wanted. Last week, I paid my deposit and ordered a MINI Cooper S Convertible. Buying a MINI ended up being more complicated than expected. There's only one MINI dealer in San Diego, and they charge$4-5,000 over MSRP (which is already \$1-2K over invoice). There are a few dealers in LA that charge MSRP, but they have really long waiting lists (up to 12 months). Checking out some MINI driver forums, I found out that the prevailing recommendation among SoCal MINI owners was to buy your MINI out of state, and then either ship it or fly out and drive it back.

I did some more research and found out that the MINI dealer where I used to live (Salt Lake City) has a really good reputation and charges MSRP, so I ordered it from there. I'm still going to have to wait until late Jan/early Feb to pick it up, but that's much better than if I had ordered in LA. And the drive back should be fun.

In the meantime, here's hoping that my Mazda holds up for another 3 months.

## Tweaking

After getting some feedback from a lot of people, I made some changes to my workout. Since my main goal right now is weight loss, I decided to cut back slightly on lifting, and do longer - but less frequent cardio sessions.

So 3 days a week, I'm going to do a full hour of cardio. I started today, running for an hour. I'm not sure that I've done an hour of straight cardio EVER, but it actually felt really good. I'm just glad that I've spend the past 6 weeks getting back in shape or it would've killed me. I'm also going to mix up the cardio a bit, with cycling, running, and jump roping.

For lifting, I'm currently doing a 2-day split 3 days a week - on the days I'm not doing cardio. My routine looks like this:

Torso day:
Flat bench press
Close grip pulldown (or Front pulldown, depending on the gym I'm at)
Incline bench press
Bent-over row
Shoulder press
Lateral raise
Rear lateral raise
Shrug

Legs/arms day:
Squat (or leg press, depending where I am)
Seated leg curl
Leg extension
Calf raise (or calf press, depending where I am)
Skullcrusher
Curl

One rather radical change I'm making is that I'm only doing one warmup set and one full set per exercise. I'm reading a lot of material that suggests that the benefits gained from doing a 2nd and 3rd full set are pretty marginal (as long as the one set is done at full intensity), so I'm going to try it for a while and see how it goes.

I'm going to do this for six weeks, after which I'll slowly start to drift back toward more lifting and working only one or two muscle groups per day. If things continue the way they've been going, I should be down to 220 by the end of the year - maybe even lower.

## Back on the wagon

It's been a while since I've updated this, so I think that a non-development post will do well to get me back in the habit.

I've been struggling with my weight for years. When I a kid, I was always heavy for my age. This got better around 5th grade, when I shot up to 6 ft (where I stopped), and started exercising regularly. Initially, exercising consisted of pushups, situps, pullups, and some running. I soon started lifting weights regularly and did a minimal amount of cardio. I was in good shape throughout high school, where I wrestled and played football. When I graduated from high school, I weighed about 195 lbs - mostly muscle. I continued for a year after that, and got up to a 350 lbs bench press.

Then I went to Korea for 2 years as a missionary for my church. While there, I was able to keep in fairly good shape, but couldn't lift weights, so I lost a lot of strength and size. I mostly jumped rope and did some bodyweight workouts, but not consistently. When I got back I was around 185 lbs. After that, I went back to school, got married a year later, and then became busy trying to support my family, so I didn't workout consistently. My eating habits changed, and I started gaining weight. Within a couple of years, I was up to 240 lbs. In the fall of '96, I decided it was time to lose weight. I started the New Hilton Head Metabolism Diet, ran every day, and did a regular regimen of bodyweight workouts (I didn't have access to a gym). Within 5 months, I'd lost almost 40 pounds. Unfortunately, at that time, I changed jobs to something more demanding, and also decided to go back to school (I'd been off for 3 years just surviving). With the change, my regimen fell apart, and I started to gain the weight back. 2 years later, after another job change, I got a gym membership and tried again to get back in shape, but I lacked the discipline to diet. My next attempt to get back on the wagon came a year ago, when I tried the South Beach diet. It went really well - I lost 10 pounds in a little over a month - but I wasn't exercising, and I craved my favorite carbs ALL the time, so it wasn't sustained, and I gained all the weight back and then some.

This year, I peaked at 263 lbs, and finally, early last month, I committed to a sustained effort to get back in shape again. I read an article that said the middle of the afternoon was the best time to work out, and I realized that I could eat lunch at my desk and go to the company gym in the afternoon (making it harder to skip the workout). I looked at the diets I'd been on and came up with guidelines for eating (with a high protein/moderate good carbs & fats focus) that I thought would both allow me to lose weight while not leaving me craving all the time.

I've been following this for about 6 weeks now, eating pretty healthily and working out six days a week for an hour. I've lost 15 pounds and I feel great.

My goals are weight loss and building muscle. I know that those two things are conflicting in many ways, especially in the diet. So for now, I'm doing cardio and weightlifting every day, but I'm not expecting major gains from the weightlifting. Once I get to my target weight, I'll cut back the cardio to three days a week.

Right now, cardio is riding an exercise bike for 20 minutes. About every other week I'm doing a 10+ mile mountain bike trip as well - this in preparation for a 250 mile trek I'm making in the spring.

My current lifting split looks something like this:

Mon/Thu
Leg press
Seated leg curls
Seated leg extensions
Side leg raises (bodyweight)
Standing calf raises (bodyweight)

Tue/Fri
Seated row
Bench press
Lat pulldown
Incline or decline bench press

Wed/Sat
Shoulder press
Upright row
Dumbell flies
Dumbell curls
Forearm curls/extensions

Mod/Wed/Fri
Abs
Lower back

I'm doing most exercises for 3 sets of 6-8 reps, with
Anyway, the reason I'm posting this here is mainly as another incentive to stay on the wagon, but I'd also welcome feedback on my workout if people think it could be more effective.

## Back... sort of

What a crazy couple of weeks. We finished the OpenGL ES book on time. It's now undergoing editing, which should be complete. After that, we get a final review of the text, and then it's off to the printer. I think it ended up being a really solid book.

I'm still plugging away at the resource CD for BOGLGP. It was supposed to be done last week, but Kevin's been slammed at work, and as luck would have it, I got picked for jury duty. It's mostly done now. We have slideshows for each of the chapters, a sample syllabus for the instructor, and I'm about 80% of the way through with a list of sample questions for tests and quizzes (we have to come up with around 250 questions in total, which is a real PITA). I think that a class based around our book would be a lot of fun to take, though, so I hope some schools pick it up.

Tomorrow night, I leave for SIGGRAPH, so I'll be out of the loop for another week. While I'm gone, there will be two major things launched on GameDev.net, so hopefully those will go well in my absense. I'm making a mad rush to get my parts of those things done before leaving, as well as getting the CD finished, and as always, trying to get a few more articles up.

I wish I could say that things would slow down a little after SIGGRAPH, but a week after I get back, I'm headed back to Utah for a weekend with friends and family. When I get back to San Diego, the kids start school, and then I'll leave for Europe for GDC Europe and ECTS. A week after returning from that I'm going to the Austin Game Conference, and it looks like I'll be going to the Tokyo Game Show toward the end of September. And somehow, I'm supposed to find time to work on Advanced OpenGL Game Programming...

## Crunch time

I've got one week left to finish the OpenGL ES book. Fortunately, it's almost there. I'll finish up writing my part of the text tonight, but I've still got some editing to do. We had several other people contribute chapters to the book (e.g. we had a commercial game developer write a chapter about porting a PC-based game to BREW and OpenGL ES), and although they provided some excellent information, it's taking some work to edit into a state that's ready for publication.

Besides that, Kevin and I are still working on the instructor resource CD for BOGLGP. That's due at the end of the month.

Unfortunately, these two things are going to occupy most of my free time for the next couple of weeks, so I'm not going to have much time for GameDev.net. I'll try to at least post a few new articles to keep the site from getting completely stale.

## Laying low for a while

Because of my role here at GameDev.net, over the years I've interacted with a huge number of people, so it's no surprise that despite my best efforts, I've made an enemy or two. I've also seen many strange emails. But I've never seen anything like this:

Besides the obvious concern about his unusual interest in my ass, there's the fact that I'm really too busy to entertain a guest tonight.

## A time for change

When I started at Qualcomm in February of 2003, it was with the understanding that I'd be working on their implementation of OpenGL ES, as well as writing 3D demos to go along with it. For the past year and a half, almost all of my time has been dedicated to working on OpenGL ES. It's been very rewarding - I've gained a much better understanding of the way OpenGL works under the hood, a much deeper knowledge of 3D graphics in general, and a lot of exposure to the low level operation of graphics hardware (the implementation I've been working on is software-based, but we're now transitioning to hardware).

But we've reached the point where most of the new development is done. OpenGL ES will evolve just as OpenGL has, and new features will be added, but these new features will probably only exist in hardware. So the work I've been doing is rapidly becoming less interesting.

Fortunately, about 6 months ago, another team here at Qualcomm was started with the purpose of both supporting game developers and producing content for use by marketing and product management. Because of my background, I've been on loan to this team part time, but because the team was small, the focus was on the support (going to conferences, doing presentations, etc.), and not on content development. But now, the team has grown larger, and they have a need for someone to work on creating games and demos full time, and as of today, that someone is going to be me.

I'm pretty excited about it. Other than the demos I wrote for BOGLGP, I really haven't had time to work on any games or demos for almost two years, and now I'll be doing it full time. I also have almost complete freedom over what I develop, so it should be a lot of fun.

## Reviewers wanted

So I was browsing through the books database today, and I noticed something. We have around 400 books listed here, and about half of them don't have any reviews at all. We'd really like the books section to be a comprehensive resource where our visitors can look to see what their peers think of the books they're considering for purchase.

The thing is, I know that in most cases, hundreds if not thousands of our visitors have read these books. So take a minute to look around our books section and see if you can add a review or two, especially for the sad, lonely, reviewless books.

To change gears completely, last night, my wife and I were watching Big Fish (finally), when we heard our cat (Anya) banging around her food dish in the garage - except that she's never that noisy, so my wife went to check on her. She flips on the light, and sees something duck behind our cabinets by the door to the backyard. She looks behind them and sees a black tail sticking out. Assuming it's the black neighbor cat that's been poking around our house lately (Anya's in heat), she rattles around an old ironing board that we have tucked behind there to scare the cat away. Except that the ironing board falls and lands on what turns out to be an extremely pissed off skunk. We know this not because we saw it, but because of the stench that suddenly filled our garage.

If your only experience with smelling skunks is from driving past where one has been killed on the highway, let me just say that you have NO clue how bad it really is.

So now the skunk is hiding underneath our freezer, not moving, and our eyes are watering from the smell. Finally, we were able to get it to leave by opening all the doors and jabbing a stick under the freezer. But then we've got the problem of the smell to deal with. We lit every candle we own, boiled cinnamon, and finally just burned cardboard to try to get rid of the smell. The result? Our entire house now smells like burned skunk. Hopefully after leaving the doors and windows open all day today, the smell will be somewhat bearable.

## So much to do, so little time

Bug fixes and feature enhancements on the new forum and other software have sucked up almost all of my free time over the past several days, which isn't good. Good for the site, I guess, but not so good for my other projects.

Right now, I'm actually working on 3 books - sort of. Although Beginning OpenGL Game Programming shipped in March, Kevin and I are still obliged to put together a resource CD. BOGLGP was written so that it could be used as a text book, so the resource CD will contain slideshows, additional exercises, etc, for instructors. Needless to say, it's not the most exciting thing in the world to work on, which is why we're now 3 weeks late in delivering it.

The next book I'm due to finish (end of July) is OpenGL ES Game Development. I'm doing this with one of my coworkers. OpenGL ES is a subset of OpenGL developed for mobile devices, primarily cell phones. I've spent the past year working on a commecial software implementation of it (which will ship on hundreds of millions of devices), so I know a thing or two about it. Besides OpenGL ES, the book provides a lot of information for anyone doing mobile games, including information on the leading 3D mobile game engines, fixed point math, mobile audio, the business model, a case study of porting a PC game to mobile, and more. We were able to get quite a few leaders in the mobile gaming community to contribute to the book, so it should be quite good.

The third book is Advanced OpenGL Game Programming, which Kevin may or not be involved with. It'll pick up where BOGLGP left off, covering topics such as shaders (both OGLSL and asm shaders), VBOs, PBOs, special effects, occlusion queries, scene management, etc. The book's set to print around GDC next year.

But because of site related issues, I'm not getting a lot done on these books. Fortunately, we've got a number of people helping out (Oluseyi, Michalson, superpig, Sicrane, to name a few), so I should be able to stop spreading myself so thin, and actually get a few things done.