XNA

dynamicshadows3.jpg

April Sample Online!

I finally finished the April sample. I know it’s May already but the MVP Summit and the Easter Holiday took most of this month :)

So for April we have Dynamic 2D Shadows. Check it out in the Samples section, and let me know what you think. Or download it directly, here.

I hope you will enjoy this sample.

DynamicShadows3

iQuest

MVP going to Seattle :)

What do the following people have in common?

Besides their great love for XNA, and the awesome support they provide to the community through their samples, tutorials and forum posts, they are all Microsoft DirectX/XNA MVPs.

Today I am proud to announce that I’ll be joining their ranks, because Microsoft just named me a Microsoft DirectX/XNA MVP.

So what did I do to deserve this?

  • I helped out as ofthen as I could on the XNA Forums
  • I wrote a number of articles, tutorials and samples, including: Deferred Rendering, Vertex Textures, Pie Menu component, Fog of War, and others
  • I held two presentations to inform the students at my university about the XNA Framework and XNA Game Studio Express, and draw them into out awesome community.
  • Hung out on #xna on efnet

I am very thankfull of the honor Microsoft gave me; and I will continue to help out the community to the best of my abilities, and to spread the word about XNA Game Studio Express. I already have some presentations, tutorials and articles planned, about which I’ll talk when the time comes.

I would also like to take this opportunity and sincerely thank my university teacher, Assoc.Prof.Dr.Eng. Mihaela Dinsoreanu, Mr. Mihai Dinsoreanu and the iQuest company for funding my trip to the upcoming Microsoft MVP Summit 2008.

iQuest

Thank you very much!

I hope my activity as an MVP will be worthy, and I’ll do my best to support the community in the future.

March Sample released: Lightning Sample

In the last few hours of march (the first few hours of April for me), I am finally satisfied with the lightning sample, so I can release it.

Check out the sample in the Samples section, where I have a short description.

If you’re too eager for that, you can download it directly from here, and see the four examples in action.

The controls are:

  • Cycle through examples: Gamepad A / Keyboard Space
  • Toggle Background: Gamepad B / Keyboard B
  • Freeze Animation: Gamepad Y / Keyboard F
  • Exit Sample : Gamepad Back / Keyboard Escape

Later, I’ll try to write an article about how the effect was implemented, and what each class, struct and member represents. But this will take a while, because I’m very busy with school projects, and some stuff I can’t talk about yet.

Enjoy the sample!

Lightnign Sample 1

Lightning Sample Screenshots

Some screenshots from the upcoming Lightning Sample

Lightnign Sample 1 Lightnign Sample 2

Lightnign Sample 3 Lightnign Sample 4

As you see, the sample is almost done. However, I need to tidy up the code really well before I can release it. Please check back in a few days.

Short Update & Ziggyware Spring 2008 Contest

I’m hard at work on the new lightning sample. It is a difficult one, but so far I’m excited by the intermediate results. Expect an update in a few days.

Also, Ziggyware has started a new tutorial contest. This time you have the chance to win Creator’s Club Subscriptions and one Xbox 360 game, a pick between Halo 3, Mass Effect and Project Gotham Racing 4. For more details, click the  contest logo below.

Good Luck!

Exciting times for XNA!

This year, Game Developers Conference was host to some great announcements regarding XNA.

The thing I am most excited about is the Xbox LIVE community games. This offering will give us all the opportunity to share our games, review our peers, and play games made by other developer, all on the Xbox 360. The process will be something in the lines of: submit the game, other CC subscribers will review it, ensuring the content is appropriate and a certain quality is met, and then the game will become available to any gamer owning a 360 (including non CC subscribers). Also, it seems developer will have the option to gain some money for their games (assuming the games are worth paying for) , but more details on this will only be known later. The Xbox LIVE Community games program will be launched in later 2008. More detail about this can be found here, and the FAQ for Xbox Live Community Games is here.

Related to the above point, you can now download a few XNA games, including the future XBLA game, The Dishwasher (made by James Silva, winner of DBP2007), and other very cool games, like Little Gamers (made by Epsicode) and Culture. These are provided as demos, for a limited time, and they give a little taste of what Xbox Live Community Games will mean.

Another announcement is the redesign of the Creator’s Club Online website, which will start in spring 2008. Beside allowing the submission of gamefor Xbox Live Community Games, it will be the “Grand Central Station for all things related to game development”, as Dave Weller puts it. This means that the site will have a section for the community created tutorials, samples, articles and blogs. Read more here, and the F.A.Q. is here.

Finally, first thing we know about XNA GS 3.0 (besides the fact that they’re working on it) is the new platform it can be used for. XNA GS 3.0 will allow you to write games for Microsoft’s Zune. Of course, you won’t have 3D graphics on Zune, but it’s nice to know that we can now write games for all Microsoft platforms. It seems that coding for Zune will not allow a CC Subscription, and you will be able make multiplayer games between several Zunes which connect wirelessly to each other, in a local network. More detail here, and F.A.Q. here.

A beta version of XNA Game Studio 3.0, with Zune support will come in spring 2008.

I’m very excited about this, as the rest of the XNA community, and I can’t wait for more details. Now I’ll get back to playing The Dishwasher and Little Gamers.

Let the games begin!

P.S. Make sure you visit #xna on Efnet, where you can meet Epsicode, James, as well as the rest of us XNA-loving guys.

HLSL Learning Resources

In response to some people asking me how to start learning shader programming, I made a list of some resources that could prove helpful when learning HLSL:

The Shader Series, found on creators.xna.com are a very good set of articles and samples, that explain the basic knowledge needed to understand and write shaders in HLSL.

Riemer Grootjans also has a series of tutorials on HLSL, which can be found on his site.

A good book on shaders is The Microsoft DirectX 9 Programmable Graphics Pipeline by Kris Gray. I found this book extremely useful, with very good explanations, and nicely structured. The code samples, however, are in C/C++, but for most people that shouldn’t be a problem.

After mastering the basics, you can explore other samples and articles, which can be found on www.ziggyware.com and creators.xna.com.

Another good place to find information on shaders are the web pages of the two big GPU manufacturers, NVIDIA and ATI. Each site has a section devoted to developers, which are great places for everyone, beginners are advanced users alike. Both sites provide code samples, documentation, tools and SDK’s. Out of these, my favorites are NVIDIA Shader Library, NVIDIA SDK and ATI SDK. Most important, these site contains lots of articles and presentations from various conferences, which explain a wide range of effects and techniques, and how they are achieved on the GPU. Admittedly, most of them do not provide HLSL code, but the idea and algorithm is almost always more important than the code itself.

For advanced effects and usages of the GPU, I recommend the GPU Gems series and the ShaderX series.

Finally, as a recommendations for those who want to learn HLSL, try to examine as many samples as possible, and play with the HLSL code to see what happens when changing values, until you understand why things happen the way they do. Don’t start by doing HDR Lighting, or Relief Mapping. Start with the small tutorials, and understand what happens and why before going on to the more spectacular samples. Last, but not least, don’t be afraid to look at C/C++ samples. The DirectX SDK contains some very good samples of HLSL. I know, they’re written in C/C++, but the shader code stays the same when going from C++ to XNA.