GDC 2013 – Of Swag, HTML5, and Quaterions

Thursday started all light and fluffy, after my steak and eggs at Mel’s and my Asteroids fix. I’m still irked that Prof. Fleming bested my score on Asteroids. I have to correct that. The first session of the day was a postmortem, Class Game Postmortem – X-COM: UFO Defense, by Julian Gollop, now of Gollop Games, but originally with his brother, Nick, at Mythos Games. Postmortems are usually rather dry, but Julian did a good job not only of describing what went well and what went poorly with the development and design process, but he also gave a great summary of the history of the title, it’s evolution over time, and its present state. Very neat. GDC-2013_03-26-13_012 It seems that the Game Development industry is beginning to realize that it needs to embrace and preserve its history before it starts to slip away from them. Space science found itself in this same situation not too long ago, except we waited way too long and nearly lost the Pioneer data to the mists of time, and other datasets were lost. Thankfully, there appears to be a pretty strong movement with in GameDev to preserve its history, its stories, it’s vintage hardware, and its classic games and software. Good game play never gets old, which is quite evident by the line that always forms around the Asteroids and Mortal Combat games.

The big new take-away for me for the week, outside of the mathematics and physics insights mentioned in previous posts, is the growing utility of HTML5 as a gaming platform. There are an increasing number of utilities to assist game development for HTML5 including the wonderful little 2D physics engine Box2D. Those of you in the GameDev program at JCCC will be happy to know that Unity and GameMaker have HTML5 exporters! There are a number of games already on the next using this tech, including the Mars Curiosity games and interactives I mentioned in yesterday’s post.

CrowdedExpoHall_smIn between sessions, I did manage to cruise through the Expo Hall again. The crowds on the floor this year are insane! I still didn’t find anything super awesome, but there are a number of interesting tidbits. LED flashlights seem to be the thing this year, so I got a small red LED light for the observatory and a few white light ones. There were more decks of playing cards being offered. How can I refuse playing cards? I can’t, nor can I refuse poker chips of which there were several styles as well. I’ll continue to look for more today.

I did manage to squeeze in another physics-related session in the afternoon, and yes, there was more talk about collision detection and resolution, optimizing AABB broad-phase checks, and ways to mitigate tunneling and other undesirable effects resulting from high angular velocities. The solution was staggeringly simple, clamp the angular velocity to a maximum value. Of course, this grates on my sensibilities with my background in computational physics since it results in a non-physical limitation to the simulation, but it’s a great solution for game physics. The talk, GPU Rigid Body Simulation, by Erwin Coumans of Bullet Physics (yes, it’s free), also gave me more insight to the usefulness of quaterions. Not only are quaterions useful for affecting rotations, but it’s also useful for representing rotational position in a far more compact way. I feel a major rewrite of the PHYS 191 course coming.

The day ended with a great meal with some great folk. A few of the folks I’ve met through IndyCar and Twitter live here in San Francisco, so we got together last night to share great food and great conversation. Two members of our quartet had spent a couple weeks down in Florida to see the 12 Hours of Sebring, an Atlas V rocket launch, and the IZOD IndyCar Series season-opener at St. Petersburg, so they had plenty of stories to share. It was a wonderful evening of rocket ships and race cars. Seriously, does it get any better?? No. No it doesn’t.

GDC 2013 – NASA Saves The Day

It’s Expo Hall Day! YAY SWAG! Ok, I guess I didn’t have much time to gather too much swag today. Odd given that I only went to a couple of sessions, one of which was a let-down. After breakfast, we headed back over to the Video Game History Museum and got our old-school game fix on. I played better today than I did yesterday and set the high score on Asteroids, although I’m sure it didn’t survive the morning. Russ Hanna kicked my butt at Centipede and Richard Fleming bested me at the driving game Turbo. ARG! How do I lose to Fleming at a driving game??? Trip wire to activate the coin switch on the back side of a coin-op arcade game. If there were dragons in the game, sure I could see it, but driving? …ugh. I suck. I bit of geek pride was that I had to show the others how to trip the microswitch on the back of the coin acceptor to register credits instead of actually having to put a quarter in the slot. Seriously, did you guys not grow up in the 80s? How do you not know how to do this?

In past years, the first event on Wednesday was a keynote address by a legend in the game industry such as Shiguri Miyamoto or Hideo Kojima. Last year, they opted for a different format in which select presenters are given a brief amount of time to pitch their talks. It’s an interesting format, and it did get me to check out some sessions that I wouldn’t have otherwise, but on the whole, it was an hour of pointless idleness. This year I chose to be idle somewhere else, like the upstairs in the museum playing Asteroids. The Expo Hall opened at 10am, and we started in our systematic way, start at one end and leave no area unexplored. I didn’t spend a whole lot of time in the expo hall, only an hour, but I did need a supplementary bag! Going back for more today. The t-shirt count is up to seven, and sure to climb by the end of the conference on Friday. I haven’t run across anything especially interesting yet, mainly just the standard pens, pads, and other such trinkets.

The first session I attended after our lunch break was a talk on the lessons learned about the role of code, data, and tools during the development of Assassin’s Creed III – Homestead. While I thought that would be interesting, it really wasn’t. The presenter spent more time on fancifying his slides rather than crafting an intelligently organized presentation. JeffNorris Oh, well. The next session, and last of the day, was by Jeff Norris and Victor Luo from the Jet Propulsion Laboratory with the cheesy title, “We Are The Space Invaders”. I had fully expected the talk to simply be “We have 3D models of spacecraft, and you should use them in your game.” This has been NASA’s standard MO in the past, but this talk was amazing. Jeff and Victor demonstrated how NASA was using the Unity game engine to create interactive tools and games for the public, including a downloadable game for the XBox 360, and it actually looked good! Unfortunately, I don’t have a 360 so I can’t check it out, but if you do, search for Mars Curiosity. There should be a Kinetic game that you can download for FREE. Cool. The other point they made was that the game industry understands user interfaces and controls to a much greater extent that many rocket scientists. (duh) Given that, they’ve been working on ways to utilize more game-like controls into their spacecraft and rover control systems. One impressive demonstration was a video showing a group of 5th grade kids playing a motion recognition game on the Xbox, then taking those skills they learned in less than a minute in a game and using them to control a $5M robonaut. Mind you, they didn’t control a simulation of the robot, they were in actual control of the real multi-million dollar piece of hardware after 45 seconds of training, and they were controlling it with skill and dexterity! NASA took those lessons and started applying them to other less humanoid applications. The next demonstration they showed was super impressive. Using motion-capture technology on an operator’s hand, they are able to expertly control the All-Terrain Hex-Limbed Extra-Terrestrial Explorer (ATHLETE). Best of all, they did the demonstration, not with an animation, but remotely with the actual two-story tall robot! Jeff Norris applied the controls live during the GDC talk and those commands were sent to and obeyed by the ATHLETE robot at JPL. It was brilliant!!

TimeForAPint_smThe last GDC event of the day was the Awards Show. This comes in two parts, the Independent Games Festival and the Game Developer’s Choice Awards. It’s always a good time and it’s neat to see what new things people are exploring in games. Two games that I plan on checking out when I get back are FTL: Faster Than Light, and the Game of the Year Journey. Journey is visually interesting, but I’m not clear as to why it was so much better than every other game. I guess I’ll have to play it to find out. Well, that’s it for a long day. Guess it’s time for a pint!

GDC 2013 – Tuesday is Physics Day ….kinda

Tuesday was Day Two of the Math and Physics for Game Programmers tutorial. Monday was all about the mathematics, and Tuesday was supposed to be all about the physics. There was one great talk from which I was able to extract a better understanding of configuration space objects, but the rest of it was …meh. As with yesterday, those talks which were edited and tweaked from last year showed improvement, those that weren’t still sucked.

The day started out with a demonstration of a simulation of a Go stone. …yeah. A stone. It seemed that the speaker, Glenn Fiedler from Sony Santa Monica, was simply pleased with himself that he’d recreated the wheel. He went through the process of creating his stone model, then he described the basic translation and rotational dynamics he deployed without discussing the specific details. It might have been a more fruitful talk if there were more details in how he was integrating the motion, why the integration works the way it does, and described the fundamental principles involved. Although his simulation worked pretty well, during talk, there were a few conceptual errors, especially about the properties of the moment of inertia tensor. He kinda had the right idea, but not really. Granted it’s a tough thing to pick up on your own, but if you’re giving a talk on the topic, you should have a genuine and thorough understanding of the topic.

1364390049722The second talk of the day was “The Separating Axis Test” by Dirk Gregorius from Valve. Gino van den Bergen of Dtecta gave a talk last year on collision detection using Minkowski differences and configuration space objects, but I must admit that the process was still fuzzy to me. Dirk’s talk on the issue really helped. Don’t get me wrong, Gino is the man and does a great job, and when his talk came up later in the afternoon, I was able to grasp a bit more about how CSOs work. I doubt that they’ll make it into the PHYS191 course in a formal way, but I may put a bonus section on it in the textbook this summer if for no other purpose than to ensure that I understand it correctly myself. No better way to see if you really understand something that to try to teach it to someone else. The rest of the afternoon was rather blah, unfortunately. Dirk’s and Gino’s talks certainly made up for the mediocrity of the others.

Since the Expo Hall isn’t open until Wednesday, during my downtime between when I left the physics tutorial and supper, I worked on taking some photos. I took some of this earlier in the morning on my way to breakfast, but was disappointed with the results. Yes, I was at the Rally in the 100 Acre Wood, but I didn’t work on many panning shots there so I’m really out of practice. That showed as I tried to get some panning shots of cyclists and streetcars. I gotta get back into proper form before the Kansas City Region SCCA season starts and definitely before the first IndyCar event I’ll work, the Indianapolis 500 Mile Race. Definitely have to have good panning skills there.

GDC-2013_03-26-13_005
Of course, one thing that is ever-present in San Francisco around the touristy areas are the street performers. Most are simply annoying, but there are some, like this duo, that really sounded good!

One of the coolest new things I’ve seen at GDC so far is the Video Game History Museum alcove. They have several coin-ops including one of my favourite games, Asteroids! (where’s my two-liter of Shasta and my Rush mix-tape?) The also had several classic consoles, some well-known, others not as well-remembered. Of course they had the Atari VCS (later known as the 2600), but they also had a Vectrex! That’s a tough find! There weren’t too many of these machines made, and even fewer of them have survived in playable form.

Chinatown_IntricateGraffiti_smThe day ended with a stroll through Chinatown, a requisite visit every year. There wasn’t anything new, really. The same peddlers were peddling the same cheap, cheesy crap. One change that greatly disappointed me was the defacement of one of Banksy’s pieces. I now feel very fortunate to have imaged this a few years ago. It was a really cool work, but now in spite of the plexiglass overlay placed in hopes of preserving the street art, it’s been covered with simple scribbles of white spray. It’s a damn shame.

Next post will be all about swag! The Expo Hall opens on Wednesday, and with a light session load today, I’ll be cruising through as much as I can, collecting as many goodies as I can.

GDC 2013 – Monday Math Madness

2013-03-24 07.44.26It was a bit sketchy, but we finally made it to San Francisco for the Game Developers Conference (GDC). The insanely late snowfall in Kansas City resulted in our flight being delayed, but at least it wasn’t cancelled. This was the first time I have been through the deicing process. It was interesting, if time-consuming. Once we were in the air and above the clouds, everything seemed far less dreary and dreadful.

Upon arrival, we did the usual things: take the noisy BART ride to Powell station, leave our bags at the hotel, wander aimlessly until check-in time, check-in, get our GDC badges when registration opens, and celebrate with Naan & Curry. I’ve been to many different conferences, some big, some small, and the folks running the GDC have the process down to a science! Once registration opened, we were in and out with our badges within a couple of minutes. It was amazingly quick!

PowellTurnaround_smMonday morning also began in the traditional way with me waiting for the rest of the crew down by the cable car turn-around at Powell St taking photos. I know that I end up taking a lot of the same types of shots year after year, and I need to work on my variety, but I just dig that spot so much for imaging the cable cars. Once everyone has mustered, we head off to the best breakfast joint in the area, Mel’s Drive-In. Mel’s is one of the best places around to have breakfast, and with steak-n-eggs only costing $7.99, it’s tough to beat the price, especially in San Francisco!

checkin_2131427343_photo_1364229522705

Every year, I go to the Math and Physics for Game Programmers. Monday is all about the mathematics and Tuesday is all about the physics. The topics and presentations are usually the same with minor tweaks from year to year, but today the presentations were outstanding. Squirrel Eiserloh from Southern Methodist University gave his usual talk on interpolations and splines, but with more focus and less superfluous material than last year. Here’s last year’s presentation: http://essentialmath.com/GDC2012/GDC12_Eiserloh_Squirrel_Interpolation-and-Splines.ppt. Be sure to also download his OpenGL-based demo tool. It’s a fun little app for exploring the properties of the various types of curves and splines he describes in his talk.

The second talk of the day was by Jim Van Verth, who is notorious for losing his voice at GDC. Normally, this takes about half a day, but this year, he was tight and scratchy from the get-go. His energy level this year, however, was much higher, and he was a much more engaging speaker than in the past. He also did a LOT of work on his presentation. I found his previous presentations on rotations and quaternions rather unenlightening. This year he knocked it out of the park! I think I actually get this quaternion stuff! It helped that he related them back to quantum physics and spin groups, with a nice sprinkling of hyperspatial geometry thrown in for good measure. You know it’s a good conference when you hear a serious discussion of hyperspheres and how to visualize them. His 2013 slides aren’t up just yet, but you can check out his site, http://www.essentialmath.com/ in a couple of weeks. He’ll have them up before too long. If the rest of the conference were cancelled right now, I think that my finally understanding the nature, behaviour, and deeper mathematical roots of quaternions makes the whole trip worth it. The rest of the week is gravy!

Tomorrow is all about the physics! Last year, there were some great talks regarding integration methods and collision detection. Hoping that this year, I can finally wrap my head around this configuration-space stuff.

Comet PanSTARRS Is Tricky But Worth The Effort

There’s a comet in our skies this week! With Comet PanSTARRS being so close to the Sun and therefore so low to the horizon, seeing this first major comet of the year is tricky! The comet is viewable about a half hour to an hour after sunset, but don’t expect it to leap out at you. You’ll have to look hard for it. With the clear skies last night, I tried to see if I could spot the comet without aid, and it was tough. I couldn’t see it at all at first, not until the skies darkened considerably. I had to wait until a little before 8pm as Orion was starting to become visible before I could find the comet. Even then, I had to look very closely at the sky maps published at Sky & Telescope’s website to make sure I was looking in the right spot. Binoculars really helped. My 200-500mm zoom lens helped more! I finally did get an image of Comet PanSTARRS along side the Moon.

The image I captured was with my Nikon D7000 (a 1.5x crop sensor) with a focal length of 200mm (300mm 35mm equivalent) at f/5.6, a shutter speed of 2 seconds, and at ISO 800. I did some noise reduction in Photoshop, but didn’t do anything else to the image. I like how the night side of the Moon is visible when it’s just an ultra thin crescent like this.