Games

Hello, Kodu!

by Joey deVilla on February 8, 2010

kodu game lab

Last week, I presented Kodu (pronounced “Code-ooh”) to a group of teachers and high school students at Corpus Christi Catholic Secondary School. Kodu is a system created by Microsoft Research for programming videogames without using a traditional programming language; instead, you use a combination of menus and visual programming. It was designed to be a gentle introduction to programming that would appeal to children, but many adults – myself included – have ended up getting drawn into it, spending hours constructing and tweaking game worlds.

Kodu was built using XNA, Microsoft’s framework, toolset and runtime environment for building games for Windows, Xbox 360 and Zune. It was released for the Xbox 360 last summer as an Xbox Indie Game; you can download it for 400 Xbox points — about 5 bucks – or you can try the free trial version (it’s time-limited, but full-featured). If you don’t have an Xbox 360, you can download the Windows version of Kodu for free.

Kodu’s a little tricky to describe – it’s one of those things that’s much easier to show rather than tell. Here are a couple of videos that should give you a bit of Kodu’s flavour. First, here’s IGN’s look at Kodu:

Here’s XNA Roundup’s review of Kodu:

Kodu was designed to be programmed with the Xbox 360 gamepad, which you can use if you’re programming it on the Xbox 360 or a computer (if you’re using a computer, you’ll need either a wired Xbox gamepad plugged into one of its USB ports or a USB adapter for your wireless Xbox gamepad). If you’re using Kodu on a computer, you have the additional option of using the keyboard and mouse.

This is the first of a series of articles on Kodu programming that will appear here from time to time. If you’ve got kids (or know some) who are curious about programming, or if you’re looking to try a completely different kind of programming, get Kodu on your Xbox or PC and give it a try!

In this first installment, I’ll show you how you can build a simple little program that lets you drive an avatar around a small world. In later installments, I’ll show you more game-like elements and the “code” for a game of mine called “Stupid Sparkling Vampire Game”.

Touring Teran00bia

In addition to a programming “language”, Kodu provides you with tools for editing the worlds in which your games take place. I often start with a simple, no-fuss world that I created called “Teran00bia”. It’s a small, flat square world suitable for experimentation. If you have the Windows version of Kodu, you can download Teran00bia here. I can also share the Xbox 360 version, but you have to “friend” me on Xbox Live first – my gamertag is “Accordion Guy”.

Teran00bia is a blank slate, a world with nothing in it. Here’s what it looks like when you load it:

kodu 00

In this exercise, we want to stick a single character – Kodu – into the world and allow the player to drive him around using the controller’s left stick.

To start programming, get into Edit Mode. Press the “Back” button on the gamepad to switch to Edit Mode. Your screen should now look like this:

01 world view

In Edit Mode, the left thumbstick moves your “cursor” (the purple “donut”) around the world, while the right thumbstick changes your camera angle. You use the left bumper (that’s the button just above the left trigger) to zoom out and the right bumper (the button above the right trigger) to zoom in. The screenshot below shows a zoomed-in view of Teran00bia:

02 closer up

The floating icons near the bottom of the screen make up Kodu’s menu. You use the left and right triggers to scroll through the menu and the A button to select a menu item.

Select the Object Tool from the menu. It’s the second menu item from the left, and its icon is Kodu, who looks sort of like a blue fish with an antenna. When you select the tool, the Kodu menu disappears and you’re now using the object tool, as shown below:

03 about to add

The Object Tool lets you add items to the world or edit any existing ones. There aren’t any items in the world at the moment, so let’s add one. Use the left thumbstick to move the cursor to the spot where you want to place an object, then press the A button. The following menu will appear:

04 add menu

This menu lists the items available to you. Starting at the top and going clockwise, the items in the menu are:

  • Kodu (the game system’s mascot, who can be used as either a player character or a non-player character)
  • Apple (useful as a health power-up, but nothing stops you from making them poisonous or explosive)
  • Bots 1 (a set of characters that can be used either as player characters or non-player characters)
  • Bots 2 (more characters that can be used either as players characters or non-player characters)
  • Objects (things that characters in the game can interact with, such as rocks, coins, castles and factories)
  • Tree (another object that characters in the game can interact with – I have no idea why trees weren’t part of the set of Objects)
  • Path (lets you draw paths which Kodu and the other bots can follow)

Use the left thumbstick to select Kodu from the menu, then press the A button to confirm the selection. A Kodu will appear:

05 kodu added

You can move Kodu around by pressing the A button to select him, using the left thumbstick to pick a new location and then pressing the A button to drop him there.

What we want to do is program Kodu to move in response to the left thumbstick, as is the convention for most Xbox 360 games. While Kodu is selected, press the Y button. The screen should look like this:

06 programming

Every programmable object in the Kodu game system has a set of behaviours, each one having two parts:

  • When, which describes the event that the object will respond to
  • Do, which describes what the object will do in response to the event

The behaviours are numbered starting at 1 and are listed in order of descending priority – that is, behaviour 1 has first priority, followed by behaviour 2, then behaviour 3, and so on.

Your programming “cursor” is the pencil. Move the pencil over the “+” in the “When” part of behaviour 1 and press the A button. You’ll see a menu pop up:

07 when menu

This menu lists the events to which Kodu can react. For now, we’re concerned with making him respond to the left thumbstick, which is part of the gamepad. Select “Gamepad” from the menu with the left thumbstick, then press the A button to confirm the selection. The menu will vanish and you’ll see that a “Gamepad” tile has been added to the “When” part of behaviour 1:

08 gamepad added

We need to specify which gamepad control Kodu should respond to. Make sure the pencil is over the “+” of the “When” part of behaviour 1, then press the A button. A menu containing various controls on the gamepad will appear:

09 gamepad menu

Use the left thumbstick to select “L stick”, then press the A button. The menu will disappear and you’ll see that the “When” part of behaviour 1 has two tiles: “Gamepad” and “L Stick”:

10 ks added

We’ve just described an event that Kodu should respond to. Now it’s time to describe the response. Move the pencil over the “+” of the “Do” part of behaviour 1 and press the A button. A new menu will appear:

11 move selected

This menu lists responses to events. In this case, we want Kodu to move where the player tells him to move, which is specified by the left thumbstick. Select “Move” from the menu with the left thumbstick, then press A to confirm the selection. The menu will vanish, and you’ll see that a “Move” tile has been added to the “Do” part of behaviour 1:

12 move added

We’ve now completely defined a single behaviour for Kodu: “When the player moves the left thumbstick, move in that direction”. It’s time to take our (admittedly simple) game for a spin.

Press the Back button to stop programming Kodu. You’ll now be in the Object Tool. Press the Back button again to return to Edit Mode, where Kodu’s main programming menu will become available. Use the left trigger to select Play Mode and press A to confirm the selection.

13 play selected

The program will start with the intro screen. Press A to dismiss the intro screen.

14 opening screen

You’ll now be in the game world. Use the left thumbstick to move Kodu around:

15 gameplay

Kodu moves, but he’s not so fast. Let’s look at a way to speed him up a little. Press the Back button to exit the program and return to Edit Mode. Use the triggers to select the Object Tool from the menu, then press the A button to confirm the selection.

16 stopped

Move the cursor under Kodu so that he’s selected:

17 kodu selected

Press the Y button to program Kodu. You’ll be return to his set of behaviours:

18 current program

Move the pencil over the “+” of the “Do” part of behaviour 1, the press the A button. A menu will appear:

19 quickly selected

The menu will contain modifiers for the “Move” response. Select “Quickly” from the menu using the left thumbstick, then press the A button. The menu will disappear and you’ll see a “Quickly” tile has been added to the “Do” part of behaviour 1:

20 1 quickly

To make Kodu move even faster, you can add another “Quickly”:

21 quickly selected 2

…in fact, you can add up to three “Quickly” tiles to push Kodu to his maximum speed:

23 3 quicklies

Play Around

I could cover more Kodu features, but you should use it the way it was meant to be used – experiment! Try adding other objects to the world and adding behaviours to them. Take a look at the  programming behind the worlds that were provided with the Kodu game system (be sure to check out “Left 4 Kodu Classic”, a cute Kodu version of the zombie thriller game Left 4 Dead).

Links

This article also appears in Canadian Developer Connection.

{ 3 comments }

The Truth About Pac-Man

by Joey deVilla on October 19, 2009

pac-man

[Found via Certified Bullshit Technician.]

This article also appears in The Adventures of Accordion Guy in the 21st Century.

{ 1 comment }

Mario Learns an Important Lesson

by Joey deVilla on October 17, 2009

mario_learns_an_important_lesson

{ 3 comments }

One Possible Upside to the Disney-Marvel Team-Up

by Joey deVilla on August 31, 2009

"Kingdom Hearts" featuring Marvel characters

Anthony Suarez suggested a possible upside to Disney’s purchase of Marvel: there’s potential for a really interesting sequel to the game Kingdom Hearts.

{ 6 comments }

Mental Models, Mantras and My Mission

by Joey deVilla on May 25, 2009

Mental Models and Bill Buxton’s “Draw a Computer” Exercise

Bill Buxton

In the mid 1990s, well before he was Microsoft’s user interface guru, Bill Buxton often asked people to carry out a simple little exercise: draw a picture of a computer. Most, if not all, of the people he asked would draw something that fit the common mental model of the desktop computer of the era: cathode ray tube-type monitor, keyboard, mouse and that box housing the motherboard and drives that many people mistakenly refer to as “the CPU”.

If Buxton were to ask the question today, the drawings of computers might look like these:

Four computers from the 2000s - a laptop, a couple of all-in-one-desktops and a desktop with a "box" -- all with flat screens

If he asked the question in the mid-to-late 1980s, the drawings might’ve looked like these:

80s-era computers: Apple ][, Commodore 64, TRS-80 and IBM PC

And had he asked the question in the mid-60s, the drawings might’ve looked like this:

The classic fake "home computer as envisioned by RAND" photo

Buxton likes to point out that the changes in computers from the 60s onwards are largely in the implementation technology, processing power and outward appearance. When most people draw computers, he said, they’re merely drawing their mental model, which is based on the outer packaging.

However, if you use the mental model of a technologist, computers have been essentially the same instruction/ALU/storage/input-output boxes whether they’ve occupied whole rooms or fit in your pocket. They’ve been pretty much the same at their core, in the same way that fancy tech and hybrid engine aside, there really isn’t too much that separates a present-day Toyota Prius from a Model T Ford.

If Bill Buxton could approach Microsoft Corporation as a person — and hey, that’s the way the law treats corporations, so why not? – and asked him/her to draw a computer, I suspect that s/he would draw something based on mental model of a souped-up circa 2000 computer: a desktop computer with a nice flatscreen monitor, running Windows XP and having a somewhat limited connection to the ‘net.

I think that this is a problem. I also think that the source of this problem is Microsoft’s success.

Microsoft’s Company Mantras

“A PC on every desk and in every home” was Microsoft’s longest-lived slogan and the company mantra for the first 24 years of existence. Like the best slogans, it succinctly summarized the company’s goal. The problem is that the goal has pretty much been reached. In most parts of the first world, a good chunk of the second world and even a sizeable fraction of the third world, you can easily find a desktop computer, and it’s quite likely that it’s running some sort of Microsoft software.

Since 1999, the company mantra – I really hesitate the use the phrase “vision statement” — has been a little more vague. The company’s been thrashing between them a little more frequently, as you can see in this list of mantras taken from chapter 1 of How We Test Software at Microsoft:

  • 1975 – 1999: “A PC on every desk and in every home.”
  • 1999 – 2002: “Empowering people through great software – any time, any place and on any device.”
  • 2002 – 2008: “To enable people and businesses throughout the world to realize their full potential.”
  • 2008 – present: “Create experiences that combine the magic of software with the power of internet services across the world of devices.”

The post-1999 mantra all seem a little limp in comparison to the original. Reading them, I cannot help but think of a quote attributed to web design guru Jeffrey Zeldman:

"…provide value added solutions" is not a mission. "Destroy All Monsters." That is a fucking mission statement.

Because the old mantra lasted for so long and the new mantras just don’t have the same straightforwardness and gravitas (How We test Sofware at Microsoft quotes Ballmer as saying that we may never again have a clear statement like the original to guide the company), the original remains quite firmly etched in the company culture and mindset.

I think it’s holding us back.

The Desktop as the Goose That Laid the Golden Egg

Altair 8800 computer on display at Microsoft's Building 92 gallery

The original mantra doesn’t just focus on the desktop, it actually mentions it by name. In 1975, when computers were room-filling behemoths that you could access either via batch or time-share, the concept of a desktop computer was downright radical. If you think the iPhone is impressive (and yes, it is), imagine how mind-blowing the Altair 8800, the first commercially-available desktop computer, must have been to a geek back in the Bad Old Days. It was the platform on which Microsoft’s first product – a little programming language called Altair BASIC – was launched, and it was BASIC that in turn launched the company.

In his book Outliers, Malcolm Gladwell talks about how the Altair 8800 was a golden opportunity for Bill Gates and his buddies at his fledgling company, then called “Micro-Soft”. Unlike a lot of other companies at the time, they took the desktop computer seriously. Even when IBM got into the desktop computer game in 1981, it was a product of their Entry-Level Systems division, a clear indication that they thought the PC was a machine you bought until you were ready to graduate to a real computer. I don’t think that this philosophy ended up serving them well.

An Applesoft BASIC cassette featuring a sticker that says "Copyright Microsoft, 1977"

Since the big boys were paying no mind to the desktop computer, upstarts like Microsoft had a big empty field in which to play, and they thrived. Crack open just about any late 70s/early 80s computer that had BASIC built in – even Apple machines — and you’ll see a row of ROM chips with a Microsoft copyright notice. It was Microsoft that swooped in with PC-DOS when a deal with Digital Research for a PC version of CP/M was slow in coming (and this is despite the fact that Gates recommended that IBM go to Digital for an OS). A lot of people’s experience with desktop computers (and Microsoft revenue) is defined by circa-1995 Microsoft thanks to Windows 95 and the results of Bill Gates’ memo titled The Internet Tidal Wave, both of whose influences are still felt to this day.

Once upon a time, it used to be unusual to walk into someone’s home or office and see a computer. These days, it’s unusual to walk into someone’s home or office and not see a computer, and Microsoft’s focus on the desktop had a lot to do with that.

The Desktop as Albatross

Albatross, shot with a sucker-dart arrow, falls on the head of a Disney-esque cartoon character

When electric motors first became available, engineers envisioned factories and eventually houses being equipped with a single electric motor. They imagined that the central motor would, through a series of gears and drive belts, be connected to whatever machines in the house or factory had to be driven by it. What happened in the end is that rather than relying on some central motor, electric motors “disappeared” into the devices that used them. Here’s an exercise to try: go and count the electric motors in your house or apartment right now. The number should be a couple dozen, and if you can’t find them, this article might help.

When big, room-filling computers first became available, engineers envisioned businesses being equipped with a single computer in a manner roughly analogous to the aforementioned big central motor. We know what happened in the end – while many businesses do make use of big datacenters, a lot of the computing power got spread out into desktop computers.

I have a theory that comes in two parts:

  1. Just as electrical motors disappeared into the devices that needed their work, and just as computing power got spread out from big mainframes into desktop machines, computing power is now both disappearing and spreading out into mobile devices and the web/cloud.
  2. Microsoft, with its desktop-centric approach, at least outwardly appears to be missing out on this migration of computing power.

Most of the company’s attention, at least to an outside observer, seems to be focused on Windows 7. Yes, chances are that with computer sales being what they are, Windows 7 will probably end up on more of laptops and netbooks than desktops, but I consider those devices to simply be the desktop computer in a more portable form. It worries me that there have been more concrete announcements about Windows 7 on netbooks than upcoming versions of Windows Mobile, despite the iPhone and BlackBerry-driven evidence that the real mobile action is in smartphones.

(Tomorrow, I’ll post an article in which I argue that netbooks are a dangerous red herring pulling away our attention from devices like smartphones.)

Microsoft ASP.NET

Even when the company reaches out beyond desktop development, there’s no escaping the desktop “gravity well”. Consider ASP.NET (that is, the “traditional” ASP.NET, not the recently-released ASP.NET MVC). To my mind, as well as the minds of a lot of other web developers, it’s a web framework that tries really hard to pretend that the web doesn’t exist. It makes use of a whole lot of tomfoolery like ViewState to create a veneer of desktop app-like statefulness over the inherently stateless nature of the web and a programming model that tries to mimic the way you’d write a desktop application. It’s almost as if it were designed with the mantra “the web is like the desktop, but lamer” instead of “the web is like the desktop, but everywhere”. Although the framework works just fine and there are a number of great sites and web apps built on it, I think a lot of developers sensed this design philosophy and went elsewhere for web development.

(An aside: My old boss at OpenCola in late 2001 told me that he’d been meeting with Microsoft people and suspected that Internet Explorer 6 would be the final version of their browser. The expectation that web pages and web applications would be replaced by Windows client applications pushed over the net, a prediction similar to one made by the Java folks a few years prior.)

Windows Mobile logo

The same situation exists with Windows Mobile’s current user interface, which is basically a subset of Windows’ standard UI controls for the desktop, scaled down to fit smaller screens, and with a stylus standing in for the mouse. It’s almost as if it were designed with the mantra “mobile computing is like desktop computing, but lamer” instead of “mobile computing is like a mobile phone plus PDA and an MP3 player, but cooler.” If the ASP.NET design mantra is a whisper, the Windows Mobile mantra is a scream.

I suspect that the reason the XBox 360 didn’t fall into a similar kind of trap — “set-top boxes are like desktop computers, but lamer and only for games” – is that the XBox team is situated off the Microsoft Campus and less susceptible to the desktop influence.

My Mission

Stick figure, chained to desk, breaking the chain

At my most recent one-on-one meeting with my manager John Oxley, we talked about a need for each member of our Evangelism team to define his or her area of focus. The Microsoft platform is a vast, nerdy expanse spanning the range from embedded computing all the way to Cray supercomputers; no single person can hope to cover it all.

He already had a good idea of what I wanted to focus on, and by now, I guess you do as well. I feel that just as computing expanded beyond the big computer rooms and onto our desktops, computing is expanding beyond our desktops into all sorts of different places:

  • Invisibly, into the web and cloud in the form of web applications and services
  • Visibly, into our pockets and living rooms, and embedded into all sorts of real-world things

While I believe that Windows 7 is a necessary part of the Microsoft platform, I’m not too worried about focusing on it – there are more than enough people at the company to promote and evangelize it. I want to focus on the platforms that I feel that Microsoft hasn’t given enough love and attention: the non-desktop platforms of the web, mobile and gaming, as well where they intersect.

It’s a big area to cover, but I think Microsoft needs to be active in this area if it wants to be true to its forward-looking roots. I even have a mantra for it: “To help web, mobile and game developers using Microsoft tools go from zero to awesome in 60 minutes.” I want to give developers both that rush when getting started with a new technology as well as the sustained passion to keep working with it, in the same way that Ruby on Rails and the iPhone got developers with an initial flash of excitement and turned it into long-term passion. It’s an ambitious, audacious mission, but no more so than the one coined by a bunch of scruffy nerds in New Mexico in the the 1970s: “A PC on every desk and in every home.”

Joey deVilla with cardboard cutouts of Microsoft's 1978 team

{ 9 comments }

Muscle March: Weirdest Videogame of 2009

by Joey deVilla on May 18, 2009

I think we’ve got an early contender for the title of “Weirdest Videogame of 2009”: Muscle March for the Nintendo Wii. As if the game weren’t weird enough, the trailer below ramps up the weirdness by presenting it in that oh-so-Japanese style with epilepsy-inducing jump-cuts and a hyper-enthusiastic Japanese TV announcer:

[Found via Waxy.org.]

{ 3 comments }

“If You’re Not Indie, F**K YOU!”

by Joey deVilla on April 4, 2009

Here’s a great video inspired by Andy Samberg’s People Getting Punched Out Just Before Eating short film from Saturday Night Live made to promote the Independent Games Festival at the Game Developers Conference 2009:

{ 0 comments }

“Lunacy” at the FIRST Robotics Competition

by Joey deVilla on April 2, 2009

This article also appears in Canadian Developer Connection.

match

Robots competing at the finals of the FIRST Robotics Greater Toronto Regional Competition

The FIRST Robotics Greater Toronto Regional Competition took place last Friday and Saturday, and I had the opportunity to catch the finals on Saturday afternoon. The organizers invited me as representative of Microsoft Canada and were kind enough to give me a VIP pass, which gave me access to places that the regular audience couldn’t go, including right up to the edge of the playing field and “the pit”, where competitors tuned up their robots prior to the competition.

team_wheres_waldo_carrying _robot

The “Where’s Waldo?” team takes their robot onto the field for a match.

FIRST stands for For Inspiration and Recognition of Science and Technology, and like the Segway, it’s the creation of inventor Dean Kamen. Its purposes are:

  • To inspire high school students to go into engineering and technology studies
  • To promote a philosophy of collaboration and teamwork among techies
  • To encourage a sense of gracious professionalism, fair play and helping each other out even during intense competition

robot_610

Crescent School’s robot.

While on the surface FIRST would seem to be about building robots, Kamen says that what it’s really about is getting young people interested in engineering in a fun and interesting way.

robot_854

The Robots and the Game

All robots in the FIRST Robotics competition are built from a standard “kit” of parts and must fall within a set of specifications – no taller than 6 feet, a “footprint” of no more than 3 feet by 2 feet and a weight limit of around 120 pounds. Here’s one of the robots from the competition:

robot_188

The game played by the robots changes each year. This year’s game, called Lunacy, is inspired by this year being the 40th anniversary of the first manned mission to the moon. The video below explains the rules of the game:

As mentioned in the video, the surface of the playing field – called “The Crater” – is covered in a polymer called regolith (the term for loose heterogeneous material covering solid rock, like that on the moon). Here’s a closeup of that surface:

playing_field_surface

The robots’ wheels, shown below, are made of a material that offers only a little traction when used on regolith. The combination of the wheels and regolith simulate the low-traction conditions of driving a vehicle in lunar conditions — on fine moon dust in one sixth of Earth’s gravity:

wheels

One of the technical hurdles that the students had to overcome was dealing with the traction problems that come with piloting a robot with these wheels running on regolith. Some teams wrote traction control code that would detect if any wheel was spinning faster than the others (meaning that it was slipping) and then compensate for it.

Robots score points by shooting balls – called “moon rocks”, and “super cells”, each worth a different number of points – into trailers pulled by the opposing team’s robots. Here’s what the moon rocks look like:

balls

Robots can start with an initial payload of 7 moon rocks, and if their designers see fit, they can be designed to collect stray moon rocks on the playing field. In the photo below, taken just before a match, the robot is pre-loaded with moon rocks to dump into another robot’s trailer. Note the intake on its front end for collecting stray moon rocks:

robot_1503

 

Here’s a photo of a student attaching a trailer to a robot: Each trailer has a pink and green marker on top; it’s a target that allows robots equipped with cameras to locate it during the first 15 seconds of the game, when they must operate in “autonomous mode” (that is, under their own control, rather than remote control by a human operator).

hooking_up_robots_to_baskets

After the first 15 seconds, the robots switch from autonomous mode to human remote control. Each team has a standard remote control transmitter to which they can attach control devices of their own choosing. Some teams favoured joysticks and a basic setup:

green_controller

…while others preferred controllers for modern-day gaming consoles (and even dressing up the standard transmitter in the shell of an XBox 360):

dude_with_xbox_360_controller

This may have been an engineering and technology event, but it had the atmosphere and energy of a pep rally. The stands were packed with fans:

audience

and cheerleaders:

cheerleaders

and there were team mascots, some with more expensive costumes:

mascots_1

and some more economical costumes:

mascots_2

It wasn’t just the fans who dressed up. Many teams had their own uniforms, such as the Theory 6 team, pictured below:

team_theory_6

as did the all-girls Where’s Waldo? team – both they and their fans dressed up like Waldo from the Where’s Waldo? series of books:

team_wheres_waldo

and one team took its costume cues from the world of professional wrestling:

team_in_capes_carrying_robot

There’s a buzz that you can feel at certain conferences and gatherings of smart people who are passionate about what they do. I’ve felt it at gatherings like DemoCamp, PDC, RubyFringe and HacklabTO, and I definitely felt it at FIRST. The students there worked for months on a task that most adults would find daunting: building six-foot robots weighing around 120 pounds capable of running both autonomously and under human control.

In spite of being a competition with ambitious participants, there was also an air of good sportsmanship and bonhomie on the part of both the contestants and the officials, which was evident from the big things like the multi-team handshake ceremony…

shaking_hands

…to the way the teams interacted when they were side by side at their robots’ controls…

controllers

…and even to the way the mascots cooperated to entertain the audience during the breaks between matches:

mascots_dancing

I had a blast watching the competition and found myself cheering as the robots (and the student pilots) pulled some pretty impressive moods. The experience was even better, thanks to the VIP pass that the local FIRST people gave me, which let me get right up to the edge of the playing field to see the action up close and into the pit where I could talk to the participating.

The students were a bright, ambitious and enthusiastic bunch. When they heard I was from Microsoft, they started peppering me with questions:

  • “Is it true that I can write XBox games and sell them online?” (Yes.)
  • “How do you get a job at Microsoft?” (Hard work and networking.)
  • “Should I learn Visual Basic or C#?” (It depends.)
  • “Can you hook me up with a free copy of Gears of War 2?” (Sorry, but if I give you one, I’m going to have to everybody here one.)

I told them about the DreamSpark for High Schools program, and they got really excited. This is exactly the sort of crowd I’d love to give free copies of Visual Studio and other tools to: smart, passionate people who get excited about building things.

My congratulations to the students at the FIRST Robotics Competition, and my thanks to the organizers for inviting me!

battle_closeup

{ 1 comment }

AWWWWWWWW YEEEEEEEAAAHHHH!

gta_iv_lost_and_damned

The much-anticipated first downloadable “episode” for Grand Theft Auto IV, The Lost and Damned, is now available via XBox Live for 1600 Microsoft Points (US$19.99).

The Lost and Damned is a brand new story with brand new characters set in Grand Theft Auto IV’s Liberty City. In the story, you play the part of Johnny, a veteran member of the biker gang known as The Lost. Niko, your character in Grand Theft Auto IV’s main story had some pretty interesting run-ins with them, and as Johnny, you’ll have some pretty interesting run-ins with rival gangs – and probably with rivals within your own gang. (Has there ever been a Grand Theft Auto where a supposed friend didn’t stab you in the back?)

Here’s the first trailer for The Lost and Damned:

…and here’s the follow-up trailer:

I’ll download it tonight and report on my gameplay experiences later this week.

{ 4 comments }

Videocrab’s Awesome Gaming Console Setup

by Joey deVilla on January 27, 2009

I wouldn’t mind having a setup like Videocrab’s:

"Videocrab's" awesome gaming setup, which appears to include every game console from the past 25 years
Photo by Videocrab.
Click here to see its Flickr page.

{ 3 comments }

O’Reilly’s “Learning XNA 3.0”

by Joey deVilla on December 3, 2008

Cover of O'Reilly's book "Learning XNA 3.0"

Hey, it looks like I’ve got some potential reading material for the holidays! O’Reilly’s just released their new book, Learning XNA 3.0, an introduction to Microsoft’s 2-D and 3-D game development framework for the PC, Xbox 360 and Zune. Here’s an excerpt from O’Reilly’s description of the book:

Written by an experienced university-level game development instructor, Learning XNA 3.0 walks you through the framework in a clear and understandable step-by-step format. Each chapter offers a self-contained lesson with lots of illustrations and annotated examples to help you master key concepts. Once you finish the book, you’ll know how to develop sophisticated games from start to finish.

  • Learn game development concepts from 2D animation to 3D cameras and effects
  • Delve into high-level shader language (HLSL) and introductory artificial intelligence concepts
  • Develop three complete and exciting games using 2D,3D and multiplayer concepts
  • Develop and deploy games to the Xbox 360 and the Microsoft Zune

While teaching XNA to beginning game developers, author Aaron Reed noticed that several key concepts were difficult for students to grasp. Learning XNA 3.0 was written specifically to address those issues. With this book, you can test your understanding and practice new skills as you go with unique "Test Your Knowledge" exercises and review questions in each chapter.

The book, when purchased from O’Reilly, comes in several formats:

  • Dead-tree format (that is, an actual paperback book): US$34.99 (currently CAD$44.06) / £24.99 in the UK
  • Ebook (PDF, EPUB and Kindle-compatible “Mobipocket” format): US$27.99 (currently CAD$35.23)
  • Dead-tree and ebook: US$45.49 (currently $57.27)

If you’re in Canada, you’ve got a chance to save big. Chapters/Indigo’s online price for the paperback book is CAD$23.09, which makes it cheaper than the electronic version. If you’re an iRewards member, they’ll shave another buck-fifteen off the price to make it CAD$21.94.

Links

{ 0 comments }

Fallout 3, as Reviewed on Zero Punctuation

by Joey deVilla on November 19, 2008

Once again, it’s time for my favourite videogame reviewer, Ben “Yahtzee” Croshaw, and his series of smartass videogame reviews, Zero Punctuation. This week, he covers Fallout 3. His verdict:

Yeah, it’s pretty good.

Its 93 rating at Metacritic — which gives it a standing equal to Gears of War 2 – comes from a number of glowing reviews from various sources:

{ 0 comments }

Looking Forward to Trying This Out Later Tonight…

by Joey deVilla on November 19, 2008

Photo of my TV showing the 'updating' dialog box for the New XBox Experience.

{ 1 comment }

rock_star_mullet_kit

I saw these at Future Shop a couple of days ago, beside the Rock Band and Guitar Hero packages. You too can have rock star hair for a mere $19.99 (in Canadian dollars)!

{ 1 comment }

Salmagundi for Friday, November 7th, 2008

by Joey deVilla on November 7, 2008

Interview with Chris Slemp, MSDN

joey_devilla_chris_slemp

Here’s another video interview featuring Yours Truly at the PDC: it’s with Chris Slemp, Program Manager for the Server and Tools Online group at Microsoft. In the interview, we talk about MSDN and its new social bookmarking feature.

Click here to watch the video.

“Grim Fandango’s” Puzzle Document

grim_fandango_puzzle_document

If you’re looking to get into the mind of a game designer and the design of one of the most highly-regarded computer adventures games, be sure to check out the Grim Fandango Puzzle Document. Tim Schafer, in “a temporary fit of Cake-induced Grim nostalgia,” decided to put the game’s puzzle design document online in PDF form (it’s 2.3MB in size).

Here’s a great summary of the Grim Fandango Puzzle Document, written by Andy Geers:

I use that word "crafted" because that’s exactly what this newly released document shows: true craftsmanship. We see the incredible attention to detail, the pacing of the narrative as it builds and as the puzzles get increasingly sophisticated, always coaxing the player along with them. As somebody whose spent the last few years trying to write my own adventure game, what struck me most about this document is the sheer simplicity of it – it’s well established that it takes a great deal of clarity and hard work to boil down something so vast as Grim Fandango into such a simple representation that conveys so much information in such a succinct way.

It’s a considerably more interesting read than most specs.

My Job-Related Reading List

Nothing gives you that frozen-caveman-thawed-in-modern-times feeling like returning to a software platform after not developing in it in seven years. Getting back into the swing of Microsoft’s development tools has been fun so far, but it is, as a lot of people have told me, like drinking from the firehose.

reading_list_nov_2008

To quickly get acclimated with C#, ASP.NET and XNA, I’m expensing the following books I bought today:

I’ll let you know what I think of these books as I read them.

“Zero Punctuation” Reviews

And finally, a couple of reviews from my all-time favourite game reviewer, Ben “Yahtzee” Croshaw. The first one’s for Saints Row 2, which includes a great argument for why it might actually be a better game than Grand Theft Auto IV as well as a brilliant concept for a new game:

and here’s the latest review, for Dead Space, which he summarizes as “competent but bland”. Luckily, his review is anything but…

{ 0 comments }