Category Archives: Uncategorized

Windows AzureConf

azureconf-logo[1]

On November 14, 2012, Microsoft will be hosting Windows AzureConf, a free event for the Windows Azure community. This event will feature a keynote presentation by Scott Guthrie, along with numerous sessions executed by Windows Azure community members. Streamed live for an online audience on Channel 9, the event will allow you to see how developers just like you are using Windows Azure to develop applications on the best cloud platform in the industry. Community members from all over the world will join Scott in the Channel 9 studios to present their own inventions and experiences. Whether you’re just learning Windows Azure or you’ve already achieved success on the platform, you won’t want to miss this special event.

New to Windows Azure?  Want to get ready for the Windows Azure Conf? Sign up for a free Windows Azure account here.  In under 5 minutes you’ll have access to a comprehensive set of services for building Mobile, Web, and scalable multi-tier applications in the cloud.

Links & Resources

Windows Azure Training Kit
@WindowsAzure on Twitter
Windows Azure on Facebook
Subscribe to the Windows Azure Newsletter

Game Development 101, Part 2

Can’t wait to get started on developing apps and games for Windows 8? I know, me too!! To help you get started, sign up for 30 to Launch to get tips and tricks in your inbox that will help you take your app from idea to in-store.

This is the second post in a series that goes over some basics of game development. While this series is targeted at beginners, you’ll find yourself going through these motions for every game you create. I hope you find something useful and are able to finish with a better understanding of game development. Don’t miss Part 0 and Part 1 of this series!

In this post I’m going to talk about the Game Loop. When you start programming your game the first thing you need to create is your game loop. The game loop is what makes your game run! All games, from the simple to complex, have a game loop that runs continuously. The game loop has a core set of methods that allow it to do all sort of useful and necessary things for your games. Here’s what they are and what they do.

Initialize

In this method, you will start any required services and non-asset resources. For example, if you plan on using random numbers in your game, that initialization statement would go here. If you need to connect to a web service or a network, that should be done here as well. Initialize is called before any other method in the game loop is called, so the time is takes to execute this code will be perceived as a delay by the player. This method is called once.

Load

You’ll load all the things you need for your game in the Load method. If you want your game to have a background, you’ll point to your background asset here. If your game to have character sprites, you’ll point to those asset files here. If you want sound, you’ll tell your game where to find the sound files in the Load method. You get the idea. Everything that you want to appear in your game (textures, sprites, fonts, 3D models, sound) you will load in this part of the game loop. This method is called once.

Update

This is where lots of fun magic happens! All of the player and game interaction happens in Update. If a character is moving, it happens in Update. If you need collision detection, it happens in Update. If there is an explosion, guess where it happens? Update! All of your player input is also dealt with in Update. Just because all this stuff happens in Update doesn’t mean the code has to long and messy. Use those object-oriented programming skills and create methods that you can call from Update. For example, you might have a method called UpdateEnemies that is called from Update to move the enemies across the screen, check for collisions or even play a sound effect. Update is called multiple times per second, the exact number depends on the frame rate of the display device.

Draw

Just like Update, lots of magic stuff happens in Draw! Draw uses the textures and sprites that you defined in Load and the object information from Update to display all the visual parts of your game on the screen. Draw and Update word closely together to make the changes to game (movement, explosions, etc.) look seamless. Draw is called multiple times per second, the exact number depends on the frame rate of the display device.

Example: Monopoly

While this is a non-digital example, it helps to illustrate that all games go through the game loop. This loop hold true for your favorite digital game as well whether it’s popping balloons or shooting zombies.

Initialize

We’re getting our non-asset resources ready. In this case, we’re going to start our multi-player network. For Monopoly, this means we’re going to gather the family around the kitchen table.

Load

This is where we get all of our game assets ready. Is the game board here? Check. Is the money here? Check. Are the game pieces here, including the thimble? Check. And so on until we know the location of all of the things we’ll need to play Monopoly.

Update and Draw

Just like the game you’ll develop, Update and Draw happen multiple times per turn in Monopoly. In any given turn a player may roll dice (Update) and move their game piece (Draw), buy a property (Update) and put a house on it (Draw) or draw a Chance card (Update) and go to jail (Draw) along with a number of other actions a player can take.

 

Hopefully you’ve been able to learn a little something about game development. Want to know more? Let me know what you want to see next in the comments! Don’t forget, you can get started on building games and apps for Windows 8 with 30 to Launch. Sign up today!

Game Development 101, Part 1

Can’t wait to get started on developing apps and games for Windows 8? I know, me too!! To help you get started, sign up for 30 to Launch to get tips and tricks in your inbox that will help you take your app from idea to in-store.

In this series, I’m going to go over some basics of game development. While this series is targeted at beginners, you’ll find yourself going through these motions for every game you create. I hope you find something useful and happy developing! UPDATE: Go back and read Part 0 or move forward and read Part 2!

Game development is an industry that involves tons of different areas. Programmers to MBAs can find a place in the video game industry. If you’re starting out with game development, things generally fall into three categories:

  • Planning & designing
  • Programming & testing
  • Asset creation: art & sound

As this is Part 1 for Game Development 101, I’m going to focus on the Planning part of game development. The very first thing you need to get started with game development is an idea. Based on this idea, you’ll want to create some game design documents that will help guide the game as it gets further into development. These documents will be used to express the vision of your game to others, such as developers or designers. It’s best to put as much detail into these documents as you can, however they are living documents and you should update them as necessary.

While you can have as many documents as you need to describe your game with what ever titles fit best, you should think about including three core documents:

  • Storyboard: This is where you draw out what you want your game to look like. Storyboards can be complex and detailed or simple. In the story board you can map out how you want a level to look or character design. Check out these examples of storyboards. Think you don’t need to storyboard? Pixar storyboards games!
  • Game summary: This where you describe you game, its objective, the story and other details that might not have fit into the Storyboard.
  • Flow chart (great for simple gameplay, like Rock Paper Scissors Lizard Spock): This is where you map out the interactions and game updates for game play. Here are two examples of flow charts that have been made for games. By using a flow chart, you can map out all the player’s decisions and it can help you decide where to put things like sound effects, animations or help screens.

db2e_lizard_spock

These documents should outline and describe your game in such a way that someone else would have a pretty good idea of what your vision is for the game. The documents should cover the core objectives of the game and talk about features of the game & implementations. They should also cover things like characters, enemies, levels, music & sound effects, dialog, player interactions, user input, etc. When you’re done with creating your planning and design documents, you should have at least answered the following questions:

  • What kind of game is it?
  • What is the game objective?
  • What are the game play elements?
  • What are the engineering elements?
  • What art assets will you need?

Now you should have a pretty good idea of what exactly is needed to create your game. Art assets, sound effects, transitions, animations and more should all be referenced in your design documents. Taking the time to plan out your game can show you where you are missing documentation and it can save you time later in the game development process.

Stay tuned for the next Game Development 101: Part 2 where I talk about the game loop.

Game Development 101, Glossary (Part 0)

Can’t wait to get started on developing apps and games for Windows 8? I know, me too!! To help you get started, sign up for 30 to Launch to get tips and tricks in your inbox that will help you take your app from idea to in-store.

This is the “getting ready” post for a short series, Game Development 101. In this series, I’m going to go over some basics of game development. Since this series is targeted at beginners a good place to start is a small glossary. UPDATE: Read Part 1 and Part 2!

If you’re new to game development, you’ve probably heard some of the terminology thrown around and wondered what it meant. Here’s a list of some common terms that you’ll run into game design. Some of them are obvious, like Sounds, others you might not have heard of before, like Sprite (not a lemon-lime carbonated beverage). While this isn’t a complete glossary, it is something that can get you started. If you come across something you don’t know, you can try a search for “what is _____ in game development” or by searching for a more complete “game development glossary.”

 

Glossary of (some) Terms

AI: the logic that is used to determine the computer’s decision.

Assets: Including images, sound effects, fonts, 3D models and textures, these are any external pieces of content you’ll be importing into your game.

Collision Detection: Detecting an intersection between one or more objects in your game. Player & enemy, enemy & weapon, player & wall, etc. Boundary collision detection is done by putting a rectangle around game objects and checking if the rectangles intersect. This isn’t always exact due to different shaped objects in your game. Pixel perfect collision detection can make boundary collision detection more exact by checking the pixels involved in the rectangle intersection. This is an expensive operation for your game so don’t check more pixels than you have to!

Game Engine: An engine is a system designed to for the creation and development of games. An engine allows for reuse by letting the developer use different art and data sets. You can use a game engine that’s already available or build your own.

Game Loop: This is what makes your game run. The game loop run continuously, updating your game based on player input and drawing the changes to the display. If you use a game engine, the game loop might be provided for you. It consists of the core methods: load, initialize, update and draw. For more information check out Game Development 101: Part 2.

Game State: All the information that defines an object at a particular time. This covers everything from where an object is positioned to whether a gamepad button is being pressed. Often you’ll compare one state to another and take some action based on the result, such as firing a weapon when the space bar is pressed and released.

NPC: Non-Player Character. This is a character that is not controlled by the person playing the game. This often refers to character that the player talks to as part of the story in the game.

Player Input: A game has to have a way to take player input. This can be from the keyboard, a game controller, mouse, pen, touch or even audio commands. If you port games from one platform to another, you may have to update how to accept player input based on hardware form factors.

Sounds: Of course you know what sounds are, but having sounds and audio are an important part of a game. Sound effects, background music, level music, battle music, etc. are all great ways to give the player a more immersive game experience.

Sprite: Several 2D graphics images of one object or character for each of it’s possible positions and states. The game engine displays the correct image based on the object’s or character’s position.

Texture: Images that are loaded into your game. Textures are used for backgrounds, enemy images, bullet images, etc.

Vector: A vector is a set of two or more numbers, often used to indicate a position (on an imaginary grid) or a direction. A two-component vector can be used to for two-dimensional space: (x,y); a three-component vector can be used for three-dimensional space (x,y,z); and so on. You might use a vector to define the location of a character on screen and you would update the vector value to reflect movement.

Meet MLS All Star, Chris Pontius

The world of MLS comes to the Microsoft Store in Tysons Corner. Don’t miss the chance to say hello to Chris Pontius, DC United All Star. We invite the community to come out on Monday, August 13, 2012 from 7:00 – 8:30 p.m. for this special event. While you’re at the store, enter the Xbox Home Invasion Sweepstakes and Home Fan Photo of the Month contest. Come in for more details and get here early on Monday, August 13, 2012 p.m. to hang with Chris Pontius.

Event details

UnitedDCStar

The Campus Coder Show #3: Ben Snyder and Zach Hoefler

The Campus Coder is a half-hour podcast series that features interviews with student developers who have made the leap into professional development with Microsoft tools. It’s intended to educate, entertain and enlighten aspiring student developers!

This week, Ed and Glen talk with Ben Snyder and Zach Hoefler, two students from the Rochester Institute of Technology in NY. In this show, Ben and Zach talk about the awesomeness of participating in Global Gam Jams and strategies for doing your best work in just 48 hours. They also talk about their experiences using the Windows Phone developer tools. Ben and Zach have also been judges on the Imagine Cup competition, so you get some great hints for what judges are looking for in these competitions. Our guests also weigh with their opinion on the future of mobile and social gaming.

Listen to the full podcast here!

The Campus Coder Show #2: Nic Colley

The Campus Coder is a half-hour podcast series that features interviews with student developers who have made the leap into professional development with Microsoft tools. It’s intended to educate, entertain and enlighten aspiring student developers!

Tune in as Glen and Ed talk to Nic Colley (@niccolley), Imagine Cup Game Design winner in 2010. In this show, Nic tells us how he networked his way into the gaming industry, what he did to create a truly compelling Imagine Cup game and gives advice for getting hired in game development/design. There is so much good advice here it feels like an hour show condensed to a half hour. Developers, designers and artists in the game industry need to hear this! As a bonus, you’ll also get to find out what James Cameron thinks of Nic’s Imagine Cup game!

Listen to the full podcast here!

The Campus Coder Show #1: Chevon Christie

The Campus Coder is a half-hour podcast series that features interviews with student developers who have made the leap into professional development with Microsoft tools. It’s intended to educate, entertain and enlighten aspiring student developers!

Chevon Christie (@chevonchr) is a student developer in the Macaulay Honors College at Hunter College in New York. Chevon has had great success in creating Windows Phone apps.

Join us for a half hour and hear Chevon describe how his foresight about Windows Phone helped him be a successful app publisher right out of the gate. Chevon also shares some great resources that you won’t want to miss. As a bonus, you’ll get to hear what Glen’s first computer was – it might surprise you.

Listen to the full podcast here!

Generation App

generationappsmallEvery era has its defining technology.

There was radio, then television, and then the Internet.

Today, applications have become the technology that informs and entertains the world.

Welcome to Generation App.

Generation App is a movement that will unite everyone who has a stake in the future of applications—people with ideas for apps, people who code apps, and people who use apps.

With Windows 8 on the horizon, there’s never been a better time to make applications. Hardware manufacturers are preparing new devices and consumers are preparing to upgrade, representing an unparalleled business opportunity for developers.

Generation App will have a lively presence at TechEd 2012 in Orlando, Florida. Attendees who stop by the Generation App booth will see coders building apps in real-time, learn how to launch an app in 30 days, have the chance to submit ideas for apps they’d like to see coded, and get a custom-printed T-shirt plus other surprises.

Join Generation App at http://aka.ms/nkadgm. Carpe diem!

Startup Weekend DC–GOV 2.0

Startup Weekend proudly presents its second-ever pilot event focused on fostering innovation & entrepreneurship in the public sector.

In partnership with Code for America, we invite you to join us on June 15-17, 2012, at Microsoft’s Chevy Chase office (on the red line, Friendship Heights metro stop) to solve real-life problems faced by federal and local government agencies, citizens, and businesses or to breathe a new life into existing outdated solutions. Watch how our first e-GOV event went down in Seattle, then read on to see how our event will be even better.

With DCGOV, we’re working with the City of Washington, DC and several agencies of the Federal Government to source dozens of potential ideas and problem areas where you can make an impact. Of course, any and all e-GOV ideas are welcome. Some of the directions which you may be interested in tackling include:

  • making government operations more efficient
  • simplifying government collaboration
  • reducing barriers to access government resources
  • facilitating & improving policy-making
  • supporting & enhancing civic engagement

The weekend will involve hands-on collaboration with expert mentors, panels on procurement and alternative monetization options in e-government, and more! Final presentations on Sunday will be judged on validation with real-life users, practicality of the prototype, and business model (for revenue-supported products & services) or impact (for grant-supported products and services). We strongly advise considering these criteria when deciding which ideas to pitch and which ones to build during the event. One winning team will earn a spot in the finalist round of Code For America’s Civic Accelerator!

Register today to improve government, learn new skills, explore emerging opportunities in the e-gov space, and launch a startup or product that makes a serious impact in others’ lives!

Why attend Startup Weekend GOV?

Channel your passion: This is one of the first ever Gov2.0 Startup Weekends. Join other innovators and subject matter experts in making history and improving government. Impact issues you care about!

Education: Startup Weekends are all about learning through the act of creating. Don’t just listen to theory, build your own strategy and test it as you go.

Build your network: This isn’t just a happy-hour. Startup Weekend attracts your community’s best makers and do-ers. By spending a weekend working to build scalable companies that solve real-world problems, you will build long-lasting relationships and possibly walk away with a job, a new colleague, or even an investor.

Co-Founder Dating: We all know it’s not just about the idea – it’s about the team. Startup Weekend is hands down the best way to to find someone you can actually launch a startup with.

Learn a new skill: Startup Weekends are all about learning through the act of creating. Don’t just listen to theory, build your own strategy and test it as you go! Step outside of your comfort zone! With a whole weekend dedicated to letting your creative juices flow, Startup Weekends is the prefect opportunity to work on a new platform, learn a new programming language, or just try something different.

Actually launch a business: Over 36% of Startup Weekend startups are still going strong after 3 months. Roughly 80% of participants plan on continuing working with their team or startup after the weekend.

Get face time with thought leaders: Area government, tech and startup leaders participate in Startup Weekends as mentors and judges. Get some one-on-one time with the movers and shakers in your community.

Join a global community: Join over 30,000 Startup Weekend alumni, all on a mission to change the world.