XNA

A Scene from Today’s Windows Phone 7 Coffee and Code

by Joey deVilla on September 30, 2010

My LG Windows Phone 7, with "Smiles" displayed on the screen.A test version of Smiles running on my WP7 device.

In between chatting with developers who dropped by today’s Coffee and Code in downtown Toronto and getting some work done, I’ve been playing Smiles (pictured above), an incredibly cute and incredibly addictive puzzle game by London, ON-based development shop Sykhronics.

Here’s a video of Smiles’ gameplay in its “Drop” mode:

Mike Kasprzak of Sykhronics was kind enough to send me an early test version of Smiles to show off the Phone’s game capabilities as well as the level of “polish” that Windows Phone 7 developers should be aiming for in their apps. Mike’s got some pretty high standards and is working to make sure that Smiles for WP7 meets them, and it shows! Even in this test version, Smiles looks and feels like a polished arcade classic, and when it’s done, it’s going to be a must-buy.

Keep writing those apps, and aim high! We’ll do what we can on our end to help out, which includes:

  • Articles on Windows Phone 7 development in Silverlight and XNA
  • Articles on good mobile user interface design and marketing your apps
  • Announcements of upcoming Coffee and Codes and WP7 Deployment Clinics across Canada
  • Coverage of “Phone Heroes”: People building apps for Windows Phone 7 – and hey, you could be one of them!
  • Pointers to useful tools, resources and other things to help you build WP7 apps

This article also appears in Canadian Developer Connection.

{ 0 comments }

Talking XNA with Shawn Hargreaves and Charles Cox

by Joey deVilla on September 29, 2010

Get Microsoft Silverlight

Can’t see the video? Download Silverlight or download the video in high-quality WMV, medium-quality WMV, MP4 and MP3 (audio only) formats!

XNA is the game development framework that makes it easier to develop games for Windows, Xbox and Windows Phone, and it lets you do it with managed code – that is, using C# instead of C++. In this video, Microsoft’s Shawn Hargreaves and Charles Cox talk about all things XNA, including:

  • XNA Game Studio
  • XNA Creators Club Online
  • Game Development for Windows Phone 7
  • XNA Game Studio and Silverlight – Games and Apps
  • GPU Acceleration
  • The History of XNA Game Studio
  • .NET Garbage Collection Tips for XNA Game Studio
  • Managed Code Performance Tips
  • DirectX 11 or XNA Game Studio – Making the Choice
  • Introducing Reach and HiDef Graphics Profiles
  • Visual Basic in XNA Game Studio
  • XAML and Event-Driven Programming in XNA Game Studio

This article also appears in Canadian Developer Connection.

{ 0 comments }

Scenes from TechDays Vancouver, Part 4: Go DevMENTAL

by Joey deVilla on September 20, 2010

Go DevMental: Our event for students

What is Go DevMENTAL?

Since TechDays – Microsoft Canada’s cross-country developer and IT pro conference visiting 8 cities across Canada this fall – is a two-day event, we’ve got the venues for the entire 48-hour period, including evenings. Rather than have the session rooms (which are already set up for an audience, complete with A/V and seating) lie fallow, we decided to put them to good use and hold free community events in the evenings. One of these events is Go DevMENTAL, where we show college and university students what they can build using Microsoft’s tools and technologies and give them a lot of free stuff.

Go DevMENTAL is a two-track conference, with one track devoted to web design and development using WebMatrix, Expression Blend and Silverlight, while the other covers mobile development for Windows Phone 7 using Silverlight and XNA. At the end of the evening, we give the students a token for DreamSpark, our program that gives them free Microsoft development tools and operating systems and a DVD full of goodies so they can start coding right away.

If you’re a college or university student and would like to have an informative and entertaining evening where you learn cool new things, get free cool stuff, connect with industry people and get some help with your career, register for Go DevMental!

Where is Go DevMENTAL?

We’ll be hitting these cities on these dates:

City Where When
Edmonton Shaw Convention Centre October 5
Toronto Metro Toronto Convention Centre
South Building
October 27
Halifax World Trade Centre November 2
Ottawa Hampton Inn Ottawa
(200 Coventry Road)
November 9
Montreal Palais Des Congres November 23
Winnipeg Winnipeg Convention Centre December 7
Calgary Round-Up Centre
(Calgary Stampede Park)
December 14

What Happened at Go DevMENTAL Vancouver?

Go DevMENTAL Vancouver took place on Tuesday, September 14th in the West Building of the Vancouver Convention Centre, a gorgeous venue (for more, see this entry).

I was helping out with the Phone track, so I only managed to get photos for its sessions. My colleages in Microsoft Canada’s Developer and Platform Evangelism team, Christian Beauclair and John Bristowe, took care of the Web track, while Mark Arteaga of Redbit Development and I ran the Phone track.

Here’s Mark setting up for his presentation, as the students and a number of professors milled into the room. We had some drinks and snacks set up in the back; that’s what the line at the back of the room is all about:

Photo of the session room, with Mark Arteaga setting up his computer in the foreground

And we’re off! Mark did the first presentation, which focused on app development with Silverlight.

The audience in the Phone track at Go DevMENTAL Vancouver

By the end of his session, he had a working, skinnable Magic 8-Ball app that responded to the user shaking the phone. The app was flexible enough so that it would be really easy to repurpose it as a fortune cookie app, the Wisdom of Master Yoda app and so on, without having to touch any code.

Mark Arteaga makes his presentation

Mark’s session was followed by a break, which concluded with a quick accordion performance by Yours Truly:

Joey deVilla plays accordion at Go DevMENTAL

Followed by a quick word from Andrew Gottlieb, a Microsoft recruiter who works the UBC campus looking for the next great Microsofties. If you’re looking for a job at Microsoft and you’re a student in the Vancouver area, you’re going to want to drop him a line.

Joey deVilla plays his accordion at Go DevMENTAL as Andrew Gottlieb stands beside him

Then came my presentation, a live-coding exercise in which we start with “File –> New Project…” and in 45 minutes, put together a game in which you get to smack Justin Bieber around. Let it never be said that I let professionalism stand in the way of a good coding presentation‘

Joey deVilla makes his presentation, holding up a piece of paper

Live coding in front of an audience is not for the weak of heart, and you’d better really know your stuff. But when you do it right, it’s fun for both you and the audience.

In these photos, I’m holding up two pieces of paper as a way of explaining collision detection using bounding boxes. It’s not every day you see some goof in an ironic hipster trucker cap talking about videogame fundamentals!

Joey deVilla makes his presentation at Go DevMENTAL holding up two pieces of paper

After the student sessions, I made my way to the faculty roundtable where we chatted with the professors about what Microsoft could do for them.

It was great meeting the students and faculty – I had a great time, and also learned a lot from them. I’m looking forward to the upcoming Go DevMENTAL cities. See you there!

This article also appears in Canadian Developer Connection.

{ 0 comments }

Get Your Game on with Windows Phone 7

by Joey deVilla on August 17, 2010

It’s On!

When Windows Phone 7 was first shown to the public in March, we got a taste of the Games hub and were told that Microsoft was working with a number of big game developers to bring games to the new phone platform. Late yesterday, we got the announcement of the first games coming to WP7:

It’s one thing to see a slickly-produced ad showing the games, but it’s an entirely different thing to see actual games being played on an actual phone. Here’s Engadget’s video of the game experience on one of the prototype phones – the Samsung “Taylor”, which I have and which you might have seen at the last “Coffee and Code” event in Toronto:

Here’s what Engadget had to say about the experience:

We’ll preface this by saying that both the hardware and software we demoed was still unfinished (the latter being the Samsung Taylor dev phone and the LG QWERTY model we broke news of on the Engadget Show). Regardless, the gameplay for the arcade titles seemed excellent, with frame rates holding fast even during graphically intensive 3D sequences (such as the chaotic, scattered-pixel play of Rocket Riot). The Harvest, while a bit familiar to our eyes, still showed the graphic promise of the platform. Gameplay was definitely well suited to a touchscreen device, though Microsoft’s Kevin Unangst told us that developers could target controls for both touch and QWERTY-equipped phones (provided that a touch version was always present). The screen response seemed accurate and sensitive, reacting quickly to our input. Particularly in the Crackdown title — a tower defense game "set in the Crackdown universe" — pinch zooming, rotation, and finger tracking was excellent.

The New New Xbox Experience

The “New Xbox Experience” or “NXE” – the revamped Xbox user interface that introduced avatars – comes along for the ride on Windows Phone. You can access your Xbox Live account on WP7, check out your gamerscore and achievements, and like Xbox-based games, your avatar can also be used within WP7 games and apps.

In this Engadget video, we see avatars being used to give a little twist to some standard smartphone apps such as “flashlight”, “spirit level” and “coin flip”:

Here’s another video showing more avatar action as well as some of the social networking features of Xbox Live, as done on WP7:

The Games

The games that have been announced for Windows Phone 7 so far:

  • 3D Brick Breaker Revolution (Digital Chocolate)
  • Age of Zombies (Halfbrick)
  • Armor Valley (Protégé Games)
  • Asphalt 5 (Gameloft)
  • Assassins Creed (Gameloft)
  • Bejeweled™ LIVE (PopCap)
  • Bloons TD (Digital Goldfish)
  • Brain Challenge (Gameloft)
  • Bubble Town 2 (i-Play)
  • Butterfly (Press Start Studio)
  • CarneyVale Showtime (MGS)
  • Castlevania (Konami Digital Entertainment)
  • Crackdown 2: Project Sunburst (MGS)
  • De Blob Revolution (THQ)
  • Deal or No Deal 2010 (i-Play)
  • Earthworm Jim (Gameloft)
  • Fast & Furious 7 (i-Play)
  • Fight Game Rivals (Rough Cookie)
  • Finger Physics (Mobliss Inc.)
  • Flight Control (Namco Bandai)
  • Flowerz (Carbonated Games)
  • Frogger (Konami Digital Entertainment)
  • Fruit Ninja (Halfbrick)
  • Game Chest-Board (MGS)
  • Game Chest-Card (MGS)
  • Game Chest-Logic (MGS)
  • Game Chest-Solitaire (MGS)
  • GeoDefense (Critical Thought)
  • Ghostscape (Psionic)
  • Glow Artisan (Powerhead Games)
  • Glyder 2 (Glu Mobile)
  • Guitar Hero 5 (Glu Mobile)
  • Halo Waypoint (MGS)
  • Hexic Rush (Carbonated Games)
  • I Dig It (InMotion)
  • iBlast Moki (Godzilab)
  • ilomilo (MGS)
  • Implode XL (IUGO)
  • Iquarium (Infinite Dreams)
  • Jet Car Stunts (True Axis)
  • Let’s Golf 2 (Gameloft)
  • Little Wheel (One click dog)
  • Loondon (Flip N Tale)
  • Max and the Magic Marker (PressPlay)
  • Mini Squadron (Supermono Limited)
  • More Brain Exercise (Namco Bandai)
  • O.M.G. (Arkedo)
  • Puzzle Quest 2 (Namco Bandai)
  • Real Soccer 2 (Gameloft)
  • The Revenants (Chaotic Moon)
  • Rise of Glory (Revo Solutions)
  • Rocket Riot (Codeglue)
  • Splinter Cell Conviction (Gameloft)
  • Star Wars: Battle for Hoth (THQ)
  • Star Wars: Cantina (THQ)
  • The Harvest (MGS)
  • The Oregon Trail (Gameloft)
  • Tower Bloxx NY (Digital Chocolate)
  • Twin Blades (Press Start Studio)
  • UNO (Gameloft)
  • Women’s Murder Club: Death in Scarlet (i-Play)
  • Zombie Attack! (IUGO)
  • Zombies!!!! (Babaroga)

…with more on the way, as big game dev companies sign up and Microsoft’s Mobile Games Studio kicks into high gear.

How Do You Get in on Some of That Action?

windows phone 7 If you want to just play Windows Phone 7 games, it’s easy – the phone comes out in the fall, in time for the holiday shopping season.

If you want to build Windows Phone 7 games, it takes a little more work, but it’s worth it. You’ll need to:

  1. Get your hands on the development tools. They’re free-as-in-beer and you’ll get:
    • The IDE, Visual Studio for Windows Phone Express (and if you have Visual Studio 2010, the necessary parts to do WP7 development)
    • Windows Phone emulator
    • Silverlight for Windows Phone (app-building framework)
    • XNA 4.0 for Windows Phone (game-building framework)
    • Expression Blend for Windows Phone (UI-building tool)
  2. Learn XNA development. There are a number of good tutorials out there, including:
  3. And finally, keep an eye on this blog. As a Windows Phone 7 Champ, I’ve got a direct line to the WP7 team, I always point you to the good stuff, and I’ve got some surprises in store!

This article also appears in Canadian Developer Connection.

{ 1 comment }

Windows Phone 7 @ MIX10: Reports on the new hotness from MIX10 in Las Vegas

The Videos are Up!

It’s only been a couple of days since MIX10 wrapped up, but as promised, we recorded videos of all the sessions and they’re now available online. It doesn’t matter if you missed a session or missed the entire conference, you can now catch (or re-catch) them all. The videos are all “two-shots”; that is, they feature two views: one of the speaker, shown in a window on the left, and one of the current slide, shown in a view on the right. They’re all in Windows Video (WMV) format, and for many of the presentations, the speakers have also made the slides available in PowerPoint (PPTX) format.

The Windows Phone Videos

I’m biased – I’m one of the evangelists designated as a “Windows Phone 7 Champ” – so naturally I consider the Windows Phone 7 Series announcements made at MIX10 to be the most important ones of the conference. (Don’t worry, I’ll talk about the other things I saw at MIX in a later article.)

I’m a believer in “The Power of the Obvious”. Sometimes, there’s great power and utility in taking information that’s already out there and rearranging it in a way that makes it even more useful. That’s why I decided to take the listing of all the MIX10 session videos, pick out the ones applicable to Windows Phone 7 development and rearrange them into the three lists below:

I’ve listed each session with:

  • Its code and title – not the title that appears in the program, but the title that the presenters actually used (some were changed at the last minute)
  • A brief description of the session
  • A “You should watch it if” list to give you an idea of whether the presentation is relevant to you
  • Links to the video of the presentation, and if available, the slides

All told, there’s more than 18 hours’ worth of Windows Phone video.


Windows Phone – General Design and Development

Title Video Slides
KEY01: Day 1 Keynote

The Day 1 keynote started with Silverlight and finished with the first complete announcement Windows Phone and its development environment, as well as where you can download  all the goodies to get started immediately.

You should watch it if: You want to get the “feel” of this year’s MIX conference, you’re new to developing for the Microsoft platform (or haven’t done so in a long time) or if you’re a completist.

WMV n/a
CL01: Changing Our Game – An Introduction to Windows Phone 7 Series

This was the very first breakout session following MIX10’s Day 1 keynote. In it, Joe Belfiore, Corporate VP Windows Phone, covers the Windows Phone 7 strategy and philosophy, runs through a lot of demos (which make up the lion’s share of the session) and talks about the hardware spec and the partners who will build the phones.

You should watch it if: You haven’t read any of the news about Windows Phone 7 prior to MIX, you’ve never seen the Windows Phone 7 user interface or applications in action, or you’re a business or technical decision-maker wondering wondering if your company should build apps for Windows Phone 7.

WMV n/a
CL13: The Windows Phone Application Platform

It’s my main man, Charlie Kindel, PGPMWPAPDE (Partner Group Program Manager for the Windows Phone Application Platform and Developer Experience) giving us the “100-level” overview of what’s available for developers who want to build Windows Phone apps.

You should watch it if: You’re a developer who wants a high-level overview of Windows Phone 7 development or if you’re a technical decision-maker wondering if your company should build apps for Windows Phone 7.

WMV PPTX
CL14: Designing Windows Phone 7 Series

Albert Shum (“That Dude” behind the design of Windows Phone 7), Michael Smuga (Studio Director) and Chad Roberts (UX Design Lead) talk about the “design language” of Windows Phone 7, which comprises its design principles, metaphors, conventions, “look and feel” and target audience as well as how to design apps that have their own identity and still “speak” Windows Phone 7’s design language.

You should watch it if: You’re a designer, information architect or user experience person who wants to build Windows Phone 7 apps, or if you want a clearer idea of the philosophies behind Windows Phone 7’s user interface and design, direct from the people responsible for creating it.

WMV PPTX
CL18: Windows Phone 7 Series Architecture Deep Dive

Istvan Cseri, who holds the position of Distinguished Engineer at Microsoft and now works with the Windows Phone team, provides a closer look at the technological features of Windows Phone 7. He covers the hardware foundation, the underlying operating system, the application model, the page-based UI model and cloud integration services. 

You should watch it if: You’re a developer or developer manager who wants to build apps for Windows 7 and wants to know more about the platform.

WMV PPTX
CL20: Making Money with Windows Phone Applications and Games
We’ve got a suit (Todd Biggs, Director of Program Management) and a geek (John Bruno, Lead Program Manager) talking about how you can sell your Windows Phone 7 apps on the Windows Phone Marketplace, the source of all Windows Phone 7 apps. They’ll go over what the Marketplace looks like from the customer’s point of view, the plans to make Marketplace’s policies very detailed and clear so you know what apps will pass muster, “Trial Mode” and how you can use it, and of course, how you make money with Windows Phone.

You should watch it if: You’re planning on making some extra spending money (or even paying the rent/mortgage) with Windows Phone apps and are curious as to how Windows Phone Marketplace works.

WMV PPTX
CL23: Designing and Developing for the Rich Mobile Web

This one’s not about building “native” Windows Phone apps with Silverlight or XNA, but for that third mobile platform: the web. Joe Marini, Principal Program Manager for Windows Phone, explains the web’s mobile context and why it’s different, walks through do’s and don’t for building usable, engaging and rich mobile web sites and the general principles of designing and developing for the platform that fits in your pocket.

You should watch it if: You’re a developer or designer who wants to build websites that work well for mobile devices (and yes, that includes Windows Phone).

WMV n/a


Windows Phone and Silverlight

Title Video Slides
CL02: Blend 4 for Windows Phone 7 Series, Silverlight 4 and WPF 4

Christian Schormann and Pete Blois of the Expression Blend team talk about the upcoming version of our tool for building and designing user workflows, interfaces and experiences. There are 4 major demos: an introduction to Blend for Windows Phone, the “Ready for Business” capabilities of Blend 4 and Silverlight 4, the creative side of Blend and its new take on layout, game design for Windows Phone with Blend.

You should watch it if: You’re new to Expression Blend, you’re a developer or designer planning to build Silverlight applications for Windows Phone, you’re an interaction designer wondering about Sketchflow, or you’ve asked the question “Why Blend? Doesn’t Visual Studio already come with an interface designer?”

WMV PPTX
CL15: An Introduction to Developing Applications for Microsoft Silverlight

This presentation was scheduled just before the Building Windows Phone Applications with Silverlight series for those developers who want to build apps for Windows Phone, but have never built a Silverlight application before. Think of it as “Silverlight 101”. It’s presented by Silverlight Program Manager Shawn Oster, who like me, spent some time away from .NET in the world of PHP and Ruby on Rails before joining Microsoft. Shawn will walk through building user interfaces in Silverlight using both Visual Studio and Expression Blend and how you can use the same code for both Windows Phone and the web.

You should watch it if: You’re a developer or designer planning on building apps for Windows Phone 7 but have never touched Silverlight before.

WMV PPTX
CL16: Building Windows Phone Applications with Silverlight, Part 1
Mike Harsh, Program Manager for Silverlight, does the first of a two-part series on building Windows Phone apps with it. In this session, Mike introduces the Windows Phone version of Silverlight, talks about how input and output work with Silverlight on the phone, the new integrated web browser control (which differs from the one in Silverlight for the desktop) and how Silverlight applications can take advantage of the goodies in Windows Phone 7’s OS.

You should watch it if: You’re a developer or designer who’s familiar with Silverlight and want to use it to build Windows Phone apps.

WMV PPTX
CL17: Building Windows Phone Applications with Silverlight, Part 2

Pete Torr, Program Manager for Windows Phone, continues where Mike Harsh left off in part 1 by covering application structure, controls and how to apply themes to them and how to make use of connected services in Silverlight on Windows Phone 7.

You should watch it if: You’re a developer or designer who’s familiar with Silverlight, want to use it to build Windows Phone apps and have seen Part 1 (see above).

WMV PPTX
CL59: Unit Testing Silverlight and Windows Phone Applications

Jeff Wilcox, Senior Software Development Engineer and the guy hwo wrote the unit testing framework for Silverlight, provides a quick introduction to unit testing (yes, lots of people still don’t do it) and leaps into the new Silverlight unit testing framework, which works on both your development machine and right on the hardware phone (once it comes out).

You should watch it if: You’re a developer who plans to build Windows Phone applications with Silverlight and you want to do the right thing and incorporate unit testing into your application development process.

WMV PPTX
CL60: Silverlight Performance on Windows Phone

Seema Ramchandani has an interesting job title – it’s “Silverlight Performance and Graphics for Windows Phone 7 Series”. In this talk, she talks about how to get the most performance out of you Silverlight-based Windows Phone apps, from “less is more”, to taking advantage of the render thread and GPU and going easy on the UI thread, to other optimization tricks.

You should watch it if: You’re a developer who plans to build snappy, responsive Silverlight applications for Windows Phone.

WMV PPTX


Windows Phone and XNA

Title Video Slides
CL19: Development and Debugging Tools for Windows Phone 7 Series

This one’s presented by Cullen Waters of the Advanced Technology Group, who works on the Xbox 360. This presentation covers XNA Game Studio 4.0, the new free-as-in-beer Visual Studio Express for Windows Phone, the Windows Phone emulator and his favourite tools for game development (and how you can use them for building Windows Phone games).

You should watch it if: You’re a developer planning to build games for Windows Phone using XNA, you’re familiar with game development with XNA and you’re trying to squeeze as much performance out of your games as possible.

WMV n/a
CL21: Developing Games for Windows Phone 7 with XNA Game Studio 4.0

Michael Klucher, Lead Program Manager, provides a high-level overview of the latest version of Microsoft’s game development framework and toolset, XNA, which supports building games for Windows, Xbox 360 and now, Windows Phone.

You should watch it if: You’re a developer planning to build games for Windows Phone using XNA, and you’re new to game development with XNA.

WMV PPTX
CL22: High Performance 3D Games on Windows Phone 7 Series

Shawn Hargreaves has been an XNA go-to guy since the XNA’s start, and in this session, he talks about bringing the Xbox 360 3D gaming experience to Windows Phone, how you can get blazing performance out of a managed language like C#, and all sorts of ways you can get the most performance out of XNA.

You should watch it if: You’re a developer planning to build games for Windows Phone using XNA, you’re familiar with 3D game development with XNA, you’re trying to squeeze as much performance out of your games as possible, or you’re interesting in what makes C# and .NET so blazingly fast despite the fact it’s not truly compiled.

WMV n/a

 

This article also appears in Canadian Developer Connection.

{ 2 comments }

Counting Down to Seven: XNA Game Studio 4.0!!!!

by Joey deVilla on March 9, 2010

Welcome to another installment of Counting Down to Seven, a series of articles about mobile app development that I’m writing as we count down the days to MIX10, when we reveal more about the up-and-coming Windows Phone 7 Series.

Xbox 360 Achievement: "Achievement Unlocked: New Version of XNA!"

"Counting Down to Seven" badge

The Game Developers Conference is a good time to make game development announcements, and that we did: version 4.0 of XNA Game Studio, Microsoft’s framework and toolset for easier game development. Here’s what it means in a nutshell:

  • No matter whether you develop with managed or unmanaged code, it’s what you’ll use for game development on Windows Phone 7.
  • You’ll create better mobile games faster, thanks to a powerful and comprehensive set of tools.
  • Xbox LIVE comes to mobile, meaning that you can take advantage of the Xbox’s popular gaming social network.
  • For those of you already building games with XNA, you’ve got a brand new platform, and it’s one that you take everywhere you go.

Games pages on Windows Phone 7

You’re going to see all sorts of details about XNA Game Studio 4.0 over the next couple of weeks, and here are some of the best places to get them…

Follow the “Seven Samurai”

By “Seven Samurai”, I’m referring to the Windows Phone 7 Series development team:

Check Out These Sites

This article also appears in Canadian Developer Connection.

{ 1 comment }

Explore the software that powers the Windows Phone 7 Series. Free development tools and support for all MIX10 attendees.

"Counting Down to Seven" badgeWelcome to another installment of Counting Down to Seven, a series of articles about mobile app development that I’m writing as we count down the days to MIX10, when we reveal more about the up-and-coming Windows Phone 7 Series.

For the longest time, the sessions listed under “Windows Phone” at the MIX10 conference (taking place in Las Vegas from March 15th through 17th) have had no details – just a “more details coming soon” message. That changed yesterday, and now the sessions have full names and abstracts, which I’ve listed below in chronological order.

Monday

 
Changing Our Game: An Introduction to Windows Phone 7 Series
Joe Belfiore
Monday, March 15th
11:30 a.m.
Major changes are coming to Windows Phone! This session goes in-depth on the design and features of Windows Phone and gives a comprehensive picture of what’s coming in this exciting new release.

Joey’s note: Joe Belifiore is the VP Windows Phone 7 Program Management and the guy giving Laura Foy a walkthrough of the features in Windows Phone in that first Windows Phone video that got released during Mobile World Congress in Barcelona.

Overview of the Windows Phone 7 Series Application Platform
Charlie Kindel
Monday, March 15th
2:00 p.m.
The new Windows Phone is coming! Get a high-level overview of the new application platform and a complete picture of the developer story. Learn about the developer tools, the application frameworks, the support for Silverlight, and the support for XNA.

Joey’s note: Charlie isn’t exaggerating in his Twitter profile when he says that the future of application development for Windows Phones is in his hands.

Windows Phone UI and Design Language
Albert Shum
Monday, March 15th
3:30 p.m.
Windows Phone constitutes a dramatic new user experience paradigm. This session will provide prescriptive guidance, tips, and techniques on how designers & developers can build beautiful, compelling user experiences that are consistent with the built-in Windows Phone 7 Series experiences.

Joey’s note: Albert Shum is Director of Microsoft’s Mobile Experience Design Team. If you want to find out more about him, check out my article Albert Shum on Windows Phone 7.

Tuesday

 
Microsoft Silverlight “Media”: Moving at 60fps
Eric Schmidt
Tuesday, March 16th
11:00 a.m.
From HD delivery to dynamic advertising models, Silverlight has rapidly become the industry leader for enabling rich, interactive media scenarios. This session will review the media focused technology strategy behind Microsoft Silverlight, Microsoft Silverlight Media Framework, IIS Media Services, Microsoft Expression and Windows phone. Highlights for this session include: efficient media player development, 3-d rendering, real-time ad injection, leveraging multi-cast, managing large media delivery farms, choosing the right content protection strategy, real time media pipeline monitoring and a drill into what’s new in Silverlight 4. If you are building or want to build video based Silverlight applications this session will provide technical guidance and give you an opportunity to voice your needs about the future of media and Silverlight.

An Introduction to Developing Applications for Microsoft Silverlight
Shawn Oster
Tuesday, March 16th
11:00 a.m.

New to Silverlight? This is the session for you. This session will cover: how to get started building your first application, tooling, extensibility and deployment. We’ll also highlight the capabilities of Microsoft Silverlight on the PC, as well as support for Windows Phone.

Joey’s note: Shawn Oster is a Program Manager at Microsoft who works on Silverlight. One of his current projects in the Silverlight Toolkit, a way to give users new controls, fixes and updates at a rapid pace.

Building Windows Phone Applications with Silverlight, Part 1
Mike Harsh
Tuesday, March 16th
1:30 p.m.
Together with part 2, these sessions give an overview of the functionality for Silverlight applications that is unique to the Windows Phone application platform. Part 1 will cover new input paradigms including multi-touch, software keyboard, accelerometer and microphone, as well as the APIs to leverage phone applications like email, phone dialer, contact list and more.

Joey’s note: Mike is a Program Manager at Microsoft working on Silverlight.

Unit Testing Silverlight and Windows Phone 7 Applications
Jeff Wilcox
Tuesday, March 16th
2:05 p.m.

Learn how to create and maintain Silverlight and Windows Phone 7 Series applications using the Silverlight Unit Test Framework. See what tools are available to easily validate controls and application interfaces, add automatic testing to builds, and gain a solid understanding of test principles to deliver great experiences for your clients and customers.

Joey’s note: Jeff is a Senior Software Development Engineer at Microsoft, working on the Silverlight Toolkit. He is the creator of the Silverlight Unit Test Framework.

Building Windows Phone Applications with Silverlight, Part 2
Peter Torr
Tuesday, March 16th
3:00 p.m.

Together with part 1, these sessions give an overview of the functionality for Silverlight applications that is unique to the Windows Phone application platform. Part 2 will cover the new application model, updated control templates, themes, and services available to applications, including new Windows Phone web services.

Windows Phone Application Platform Architecture
Istvan Cseri
Tuesday, March 16th
4:30 p.m.

Windows Phone 7 Series represents a significant change from the past. The entire stack, starting with the operating system, user experience, and the application platform have been engineered to build a new class of phone that users will just love. This session will go under the covers and describe how to think about applications and games from the perspective of user experience, security, packaging, cloud services and performance. Details on the new application model, device capabilities, location, sensors, and other platform capabilities will be covered.

Silverlight Performance on Windows Phone
Seema Ramachandani
Tuesday, March 16th
4:30 p.m.

Learn how to optimize your Silverlight code for Windows Phone. This session will discuss common bottlenecks using the graphics and managed stacks, and will highlight how to optimize startup and reaction time.

Wednesday

 
Development and Debugging Tools for Building XNA Games for Windows Phone
Cullen Waters
Wednesday, March 17th
9:00 a.m.

This session covers tools available to the developer for building XNA games including debugging, emulation, and performance. Special emphasis is placed on best practices for managed code performance and .NET profiling tools you can use to optimize your games for Windows Phone.
Distributing and Monetizing Windows Phone Applications and Games
John Bruno and Todd Biggs
Wednesday, March 17th
10:30 a.m.

Windows Phone Marketplace will revolutionize distribution of Windows Phone applications, games, and content, and is designed to solve the two largest problems of the Windows Phone consumer-focused developer community: distribution and monetization. This session will provide application developers with the insights, tools, and processes necessary to begin distributing and monetizing their applications on the Windows Phone platform.

Building Windows Phone Games
Michael Klucher
Wednesday, March 17th
12:00 p.m.

With the release of Windows Phone, game developers will be able to create amazing content rapidly through the power of Silverlight and the XNA framework. This talk will outline the basic application model of Windows Phone, enumerate Windows Phone core device characteristics, and walk through highlights of Silverlight and XNA Frameworks on the phone.

Building a High Performance 3D Game for Windows Phone
Shawn Hargreaves and Tomas Vykruta
Wednesday, March 17th
1:30 p.m.

This session will detail how to use XNA to develop 3D games for Windows Phone, with a special eye towards the special characteristics of Windows Phone application platform. Special attention will be placed on optimizing high-performance managed code games for the platform, to help you squeeze out every last drop of performance.

Joey’s note: Shawn’s a developer on the XNA team and a character-at-large in the XNA Creators Club forums. Tomas is a Senior Software Development Engineer with Microsoft’s Advanced technology Group and a Senior Xbox Engineer.

Designing and Developing for the Rich Mobile Web
Joe Marini
Wednesday, March 17th
3:00 p.m.

The Mobile Web has been a long time in coming, and now that it’s here, it’s a force that you and your business can’t afford to ignore. What has made all of this possible is the combination of ever-more-powerful devices, fast network connections, and highly capable mobile browsers. In this session, you will learn how to build sites that work well and look great on Windows Phone and across mobile devices. We’ll cover the core mobile Web scenarios, preparing content for mobile, and tips and techniques for debugging and testing your sites.

Joey’s note: I would argue that the mobile web has been around for a couple of years now, but it’s nice to see it done properly on a Microsoft platform at long last.

 

This article also appears in Canadian Developer Connection.

{ 0 comments }

Welcome to another installment of Counting Down to Seven, a series of articles about mobile app development that I’m writing as we count down the days to MIX10, when we reveal more about the up-and-coming Windows Phone 7 Series.

In my last article in the Counting Down to Seven series, I showed you Platformer, the game starter kit that comes with XNA, the toolset/framework for developing games for Windows, XBox and Zune:

image

Let me now show you this – Platformer running on Windows Phone 7:

That’s Microsoft’s Eric Rudder, Senior VP Technical Strategy demoing Platformer at the TechEd Middle East conference. Not only does Platformer play on Windows Phone, Windows, XBox and Zune, but he also demoed saving the game state on the phone and resuming it from the saved state on an Xbox 360.

Eric also showed that even though Platformer runs on a number of platforms, it’s based on a single codebase with slight platform-specific tweaks for the platforms it targets. This isn’t new: XNA has been about targeting Windows and Xbox 360 from the very beginning, and with version 3.0, the Zune was added to the set of target platforms.

Take a look at this screenshot of the Solution Explorer from Visual Studio 2008 with XNA 3.1 with a Platformer solution loaded. Note how the solution has three projects, one each for targeting Windows. Xbox 360 and Zune:

image

All three games share the same sounds, but the Windows and Xbox 360 versions use a set of higher-resolution graphics while the Zune version uses a lower-resolution set.

XNA also makes use of compiler directives to handle the differences between platforms. For example, here’s a code snippet from Platformer from the Player class, which manages the player’s character in the game:

#if ZUNE
        // Constants for controling horizontal movement
        private const float MoveAcceleration = 7000.0f;
        private const float MaxMoveSpeed = 1000.0f;
        private const float GroundDragFactor = 0.38f;
        private const float AirDragFactor = 0.48f;

...

#else
        // Constants for controling horizontal movement
        private const float MoveAcceleration = 14000.0f;
        private const float MaxMoveSpeed = 2000.0f;
        private const float GroundDragFactor = 0.58f;
        private const float AirDragFactor = 0.65f;

...

#endif

Note how the Zune version has scaled-down values of those used in the Windows and Xbox 360 versions. That’s to account for the Zune’s smaller screen.

XNA on Windows Phone 7, with the ability to save game state on one platform and resume playing on another opens up a world of “ubiquitous gaming” possibilities. I hope that this will bring about some interesting mobile games and bring some attention to the XNA, which I always felt was underappreciated.

This article also appears in Canadian Developer Connection.

{ 3 comments }

Counting Down to Seven: Exploring XNA

by Joey deVilla on March 5, 2010

exploring xna largeCounting Down to Seven (Mar 15th at MIX 10): A series about ideas for mobile apps

Welcome to another article in the Counting Down to Seven series and the first article in the Exploring XNA series — it’s like the chocolate and peanut butter of mobile development!

If you haven’t read Windows Phone team member Charlie Kindel’s latest blog entry yet, do so now. In explaining what’s different in Windows Phone 7, he also lists some technologies that form it basis:

  • .NET
  • Silverlight
  • XNA
  • Web 2.0 standards
  • Microsoft’s developer tools

That’s right: along with Silverlight, one of the core elements of Windows Phone 7 is XNA, the toolset that makes it quite easy to build games for the PC, Xbox 360 and Zune. Kudos to those of you who ratiocinated that Silverlight and XNA would figure into Windows Phone: both are proven user interface technologies that have also shown that they’re capable of living on different platforms.

I’ll cover each of the core elements of Windows Phone 7 in the fullness of time, but for now, why don’t we start with what I consider to be the really fun one – XNA?

(It’s not only fun – it’s the gateway to customers: according to eMarketer, the number of people who play games on their phone has more than doubled in the past couple of years, from 155 million in 2007 to a predicted 340 million by the end of 2010.)

XNA: A Quick Overview

In the venerable geek tradition of using recursive acronyms to name things, XNA is short for “XNA’s Not Acronymed”. In the Microsoft-y tradition of using one name to represent a smorgasbord of things, XNA is a framework, toolset and runtime that makes it easier to build and deploy games.

XNA provides a great skeleton for building 2-D and 3-D games with a set of game-centric class libraries and a straightforward programming model. Its design frees you from a lot of the “yak shaving” and related drudgery involved in game development, letting you spend more time on programming the gameplay instead. Its “simple but not stupid” quality recently allowed me to walk a workshop of Humber College students from an initial “let’s draw a static sprite on the screen” project to a pretty decent “run around the game field, dodging the flying spinning blades” game, complete with animated sprites, sound effects and soundtrack and scoring, all in about three hours. Better still, we had fun doing it.

Required and Optional Tools for XNA Development

Here’s what you need (and some nice-to-haves) to get started with XNA development:

Required

  • Windows 7, Vista or XP, with the latest service packs installed.
  • Visual Studio 2008, which costs money, or Visual C# 2008 Express Edition, which is free-as-in-beer. Don’t let its being free throw you off; it’s a complete IDE and more than enough for developing games. As of this writing, the 2010 editions of Visual Studio, which have not yet hit the “Release to Manufacturing” stage, don’t support XNA game development yet.
  • XNA Game Studio 3.1. This is a set of Visual Studio add-ons and tools for developing games for Windows, Xbox 360 and Zune using XNA. This is also free-as-in-beer.

Optional

Platformer: XNA’s “Right Out of the Box” Game

If you’re the sort who wants to play a game before doing some game development, you’re in luck. XNA provides Platformer, a fully-functional “platform jumper” game as one of its project templates. You can simply treat is as a game, but that would be a waste – its true value is that in its source code are a lot of lessons in building 2-D games with XNA. I’m going to show you how to build a Platformer project.

(In the screenshots below, I opted to use free Visual C# 2008 Express. If you have one of the full version of Visual Studio, the experience will be similar.)

Start up Visual C# 2008 Express or Visual Studio. From the File menu, select New Project… You should see a dialog box like the one shown below appear.

image

In the Project types: list on the left-hand side of the dialog box, select Visual C# and the select XNA Game Studio 3.1 from its sub-menu. In the Templates list on the right-hand side of the dialog box, you should see a number of game application templates. Select Platformer Starter Kit. Fell free to the edit the contents of the Name: textbox if you want to give your project a different from the default and click the OK button.

Visual Studio will generate a new project. You’ll know because the Solution Explorer pane will be filled with projects and their files:

image

Press F5 to run the game. In moments, you’ll be greeted by the screen below:

image

Platformer looks like an homage to both platform games as well as Raiders of the Lost Ark. You’re represented by an Indiana Jones-esque sprite and must reach the “Exit” sign before time runs out. You have the option of collecting gems to increase your score.

You move to the next level if your reach the exit sign before time runs out:

image

Here’s level two, which features more platforms, more gems and a shambling mummy who can kill you with a touch:

image

Here’s level three, which is filled with platforms that you can jump through:

image

Make sure you check out the code for Platformer. Reading it is a great way to learn XNA game development techniques and tricks.

Hello, XNA!

Once you’re done playing Platformer, you might want to try your hand at XNA development. I’m not going to show you how to write anything resembling a game in this article (I’ll do that over the next few articles in this series), but I thought I’d quickly show you how to get the world’s simplest XNA application – in the best “Hello, World!” tradition – up and running.

Just as you did with Platformer, click on the File menu, select New Project… This time, when the New Project dialog box appears, select Windows Game (3.1), give the project a name in the Name text box (I chose HelloXNA) and click OK:

image

Visual Studio (or Visual C# Express) will then generate your game project.

A newly-created XNA game project has all its code living in a single class, which is given the name Game1, which in turn is stored in the file Game1.cs. I want to rename that class to HelloXNA. That’s easily done by moving the cursor over Game1 at the start of the class declaration, right-clicking on it, selecting Refactor from the menu that appears, and then Rename… from the submenu:

image

I could use good ol’ search-and-replace, but it blindly taking the search term and changing it into the replacement term, no matter where it is. Refactor –> Rename… is smarter; it does a true renaming of the identifier without mangling other identifiers that happen to contain the search term. It also allows you to specify whether you want to do the renaming in comments and string literals, which old-school search-and-replace doesn’t do.

When the Rename dialog box appears, enter the new name for the Game1 class, HelloXNA, into the New name: text box. Make sure that the Preview reference changes checkbox is checked before clicking OK:

image

If you checked the Preview reference changes checkbox in the previous dialog box, you’ll see a preview of the changes that will result if you apply Refactor –> Rename…. Click Apply to finalize the renaming:

image

You’ll see that the Game1 class and any references to it in the code have been changed to HelloXNA. For consistency’s sake, we’ll rename the Game1.cs file in which the class formerly known as Game1 to HelloXNA.cs in the Solution Explorer:

image

By default, a brand-new XNA game project without any code added to it does a very simple thing: it draws a blank screen with a cornflower blue background. If you hit F5 to run the application right now, you’ll see this:

image

Now “all you have to do” is write some game code! I’ll walk you through that process over the next few articles in this series.

Next Steps

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

You could wait for the next article in this series, but if you’re rarin’ to learn how to develop games with XNA, let me recommend Learning XNA 3.0, written by Aaron Reed and published by O’Reilly. It has a 4.5-star rating at Amazon.com, which it’s earned – it’s a great introduction to XNA development. The first half of the book is devoted to 2-D game development, starting with drawing a sprite on the screen and finishing with a pretty complete game. The second half of the book adds the third dimension and works towards building a 3-D game.

image

You should also get a look at XNA Creators Club, the online community for XNA developers. It features:

  • Links to all the downloads you need to get started developing games with XNA
  • Starter kinds for various game genres – you get Platformer with XNA; you can download starter kits for other game genres, including:
    • Marblets: a marble colour-matching puzzle game.
    • Spacewar: the classic “spaceship vs. spaceship” game that comes in two flavours – retro and evolved.
    • Role-Playing Game: A tile-based RPG engine with support for character classes, multiple party members, items and quests.
    • Racing Game: A 3-D auto racing game featuring advanced graphics, audio and input processing, where you race against the ghost car for the best time.
    • Ship Game: 3-D spaceship combat in a tunnel system with advanced lighting and textures, a full GPU particle system and an advanced physics engine.
    • Net Rumble: A 2-D shooter showcasing XNA’s new multiplayer features in an arena with asteroids, power-ups and up to 16 players.
  • Forums to discuss ideas and ask questions with your fellow XNA game developers
  • A catalog of games created by members of the XNA game developer community. You can try out their games, submit games and vote for games to be included in the Xbox Indie Games catalog, whose games can be purchased through Xbox Live.

If you want to be a rock star on Windows Phone 7, you’re going to want to sharpen your XNA chops. Get a head start and take it out for a spin!

This article also appears in Canadian Developer Connection.

{ 1 comment }

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 }

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 }