.net, 3D, C#, Game Development, XNA

Speaking at Software 2010 with Petri Wilhelmsen

On the 9th of February, Software 2010 is kicked off. Petri Wilhelmsen and myself will be holding an hour on game development with managed code using Microsoft Xna and Silverlight (featuring Balder). We will be focusing on 3D development and cross-platform using .net.

Really looking forward to doing a co-op with Petri.

For more details and signup, go here

.net, 3D, Game Development, XNA

Game Camp User Group Meeting

On Thursday 3rd of September, we're having another Game Camp User Group meeting. As always, great content and nothing you should miss out on.

We're hosting it, as always, in Oslo at NITH.

The agenda consist of the following:
18:00 – 19:00
  “Creating a game from A-Z” by Petri Wilhelmsen and Thomas Beswick
19:15 – 20:15
  3D Game engine design by Einar Ingebrigtsen
20:30 – 21:30
  How to get funding for creating games by Tumbleweed Interactive


For detailed agenda and how to get there, please visit Game Camp.
Hope to see you there!

.net, C#, XNA

WASD – Turkey 2009 content

From the 8th of February till the 13th of February I held a workshop in Turkey called "Workshop on Animation Simulation and Design" (WASD). The workshop was focused on game development using Microsoft Xna as the preferred platform.

The first two days was dedicated to labs to get to know Xna from the bottom and up and aimed at developers with knowledge of C# and using Visual Studio 2008.

I've made all the labs available as DOCX files to download from the links below:

Drawing Sprites
Moving Sprites
Rotating Sprites
Game Component
Game Services
Drawing a Cube
Rotating a Cube
Enabling simple lighting
Creating a camera service
Using keyboard as Input
Playing music
Playing sound effects
Printing text

I'll be reorganizing these tutorials a bit and publish them directly to my blog in a few days as well.

C#, Game Development, XNA

Game Camp September Event – Registration now open

26th of September we´re holding our third Game Camp event. This time around we´re going across 2 simultaneous tracks. We´ve got a lot of exciting stuff for you, and as always; IT´S FREE.

Scott Bilas is coming to do the keynote and a session as well. Scott has worked on a lot of tripple A games for numerous companies (Sierra Online, Oberon Media, Gas Powered Games). He has had a few talks at the Games Developers Conference and is a strong believer in creating games in a managed environment such as the .net CLR and utilizing Xna. In addition FunCom is coming to talk about their experience in developing Age of Conan. The agenda is so great, you´ve gotta go and read to not miss out. Most game companies in Norway are attending with speakers. This will be our best event yet!

Registration is now open, don´t hesitate to register and show up at this great event.

Read the agenda and register here. And remember to spread the word.


2D Animation Content Pipeline

During my stay in Turkey for the Xna workshop I created a simple content importer that makes it easier to work with 2D animations. Very often you see people use spritesheets as the solution for animating 2D, which is of course not a bad way, it is a very optimal way to do things. I’ve always liked the simplicity of working with single frames, at least while I’m working on a solution, that way I can easily change stuff around. The content importer I created works with a simple Xml file (in fact just a serialized version of an object called SpriteAnimation), in this Xml file you can specify a base assetname as a format string, and you specify how many frames there are in the animation. The assetname must include the asset path as well.

The SpriteAnimation class is the one to use, it is also found in the content pipeline project, not exactly best practice. But it works for the demonstration purpose it was intended. 🙂

Using it is very simple:


In your draw method call the animations draw method with the spritebatch to draw into.


You can dowload the project from here.


Xna Workshop, Ankara, Turkey – some pictures

Here are some of the pictures from the workshop we held in Turkey. Click the images to see larger versions.

We started on Tuesday with a 2 hour presentation (30 minutes) and live coding (90 minutes).

Below you see all the people involved for the workshop; students, METU staff, Microsoft staff and myself. The students got diplomas for attending, signed by me. I even had to hand them out and called out their names in the best Turkish-dialect my vocal-cords could come up with. 🙂

We divided all the students into groups that would work together to create a game each. Below you see the winning team. All the students voted for which game they liked the best and we had a tie between two teams. The students wanted me to vote as well between the two and the result was the team below (sorry for the other team – your golf game with PhysX was great!! It was a tough call!).

Below you’ll see me assisting one of the developers on one of the teams; I’m trying to figure out a problem with a struct for a bullet system. The bullets didn’t want to move, for some strange reason…   We figured it out eventually, but couldn’t exactly tell what was wrong or not…


Xna Workshop, Ankara, Turkey – Material drop #1

The Xna workshop held in Ankara, Turkey is now over, I’ll post all the material during this week. This will be the first material drop of a few.

This drop contains the sample I worked on for the workshop, it is crude but it shows how easy things can be done in Xna.

You can download the material from here.

The sample is entry-level Xna (level 100).
All implementations are "crude" and should be used as a reference rather than
production code.

The sample shows the following using Xna:

* How to render 3D models
* How to get a mesh skinned with animation
* How to create a camera and move it in a 3D world
* How to use game components
* How to use game services
* How to use gamepads and keyboard for input

The 3D world is a famous site in Turkey called Cappadocia and the
3D model was downloaded from METU, the university we held the workshop. It can be found here.

The skinned mesh character along with the animation and components for using
it was downloaded from the creators club website and is licensed under the
Microsoft Permissive License. Skinned mesh sample can be found here.


Interesting Xna case : Sobee in Turkey

During my stay in Turkey I got invited to a games development company called Sobee. They have created a few titles that I found very very good. They’re now working on a massive multiplayer football championship game written entirely in C# utilizing managed DirectX. They have really proven that one can create trippel-A games using C# and the .net framework. We had a long and good talk about how Xna could help them leverage the Windows platform better and get even closer to porting their game to the Xbox 360 platform. The API difference between managed DirectX and Xna is not that big, most of the types are called the same or similar, some methods are different, and of course you’ve got the entire content pipeline in Xna that you haven’t got in MDX. But even with the content pipeline, the fileformats are all the same, so it should still be a fairly simple task to convert a MDX game and get it up and running on the Xna platform. Hopefully they’ll go for the Xna platform, as I think both their game would benefit from Xna and it would be a great case to show that Xna is really for professional games development as well as for hobbyists and casual gaming.

Below, you’ll see a picture at Sobee with me (from the left), Ozgur Soner and Mevlut Dinc discussing the possibilities.
The funny part is that Mevlut Dinc I was told afterwards was one the guys behind a game on the commodore 64 called Last Ninja II (http://www.mobygames.com/developer/sheet/view/developerId,68130/). So in many ways I had a meeting with one of the guys I had as my personal hero when I grew up and learned programming. Great fun! :) 



Turkey Xna Workshop almost coming to an end… :(

I’ve been in Istanbul and Ankara in Turkey for this week, and unfortunately it is coming to an end.

Together with Microsoft Turkey, we’ve been holding a full Xna workshop and I must say it’s been really great. All the students attending have shown their interest in the subject. They got an assignment; to create a game in 3 days. A heavy task to undertake, you might say. Thus far, the results have been astonishing. They really picked up Xna fast and had stuff up and running really fast. I’m looking forward to seeing the result tomorrow.

Ofcourse, all material will be released in several places. Also, Microsoft has recorded all presentations on video and will also be available soon.

All hands-on-labs will be published over at Game Camp sometime next week.

I’ll keep you all posted with the details as fast as I can.