12 months, not quite 12 samples


About this time last year I decided to set a goal for myself and my efforts of helping out the XNA Community. This is how “12 month, 12 samples” was born. The beginning was great, but after some time, other time-consuming stuff came along, and I couldn’t make it every month. So here’s a tally for the past year.


For January, I had a 2D Pie Drawing sample. It simply shows how to render a 2D Pie in XNA, and customize stuff such as tessellation, radius, angle, and so on. I actually  got to use it in real-life for my DreamBuildPlay 2009 entry, for the user-interface.


For February, I wanted to draw some debug lines in some experiments of mine, and the flickering caused by rendering the wireframes over the models was annoying. So I went ahead and searched for a way to draw Wireframes without Z-Fighting.

March was a blast. When I started doing the Lightning Sample, I wasn’t sure what I was going to get out of it, but the end result was very satisfying.  Whenever I get to write a 2D game, I hope I’ll have the opportunity to actually use this code. lightning[1]
Considering my game ideas and prototypes are almost never 2D, I’m still surprised I decided to make this sample. The truth is, the internet is full of examples on how to do shadows in 3D, and very few on how to do the same thing in 2D. I was remembering the days playing Nox when the idea of doing Dynamic 2D Shadows came to me. So I found an article on GameDev, and did my best to implement it in XNA. The result was the April sample. dynamicshadows11[1]
One of the annoying problems with my Deferred Rendering tutorial was that the contents of the depth buffer were lost after using the technique. To alleviate this, I wrote my May sample, which dealt with Restoring the Depth Buffer from a texture. depthrecovery-2008-05-19-02-30-53-54[1]
XNA Game Studio 3.0 CTP was launched in May, and one of the major things it brought was support for Zune. After finding out my small 8GB flash Zune was overall better than my first PC, on which I played Outcast, I thought about trying to use the voxel technology used in that gorgeous game to render landscapes on the Zune. The result (released in June) was less then satisfying, mostly because of my poor implementation of voxels, which used floats. But at least I tried… voxelpc[1]
In July, I was interested in experimenting with “cute” looks for 3D graphics, which lead me to write the Rim Lighting sample. This was also when I got used to using the Content Pipeline as often as possible, because it helped me keep the game code cleaner. In the same month, I also wrote a Fur Rendering tutorial for Ziggyware. rimlight1[1]
August was the first month without a sample. After my wonderful trip to Tunisia, I began working hard on my DBP entry, so I didn’t manage to do any new sample. P1050462
September was also marked by the Dream Build Play competition and no sample got made.  LongestRoad3
In October a friend talked to me about using XNA for background effects during some presentations. This is how the Powerpoint in XNA sample came to life. At first I had to export the ppt slides into image files, but then I did it all using a Content Pipeline Extension to have more exercise. powerpoint-2008-10-29-02-15-37-43[1]
For November, I wrote an article for Ziggyware’s Article contest, and also asked you to consider it my November Sample. It deals with Multi-threading in XNA. multithreading[1]
December was marked by many things, including holidays, school projects, and research work for school. So, sadly, there was no sample.  

Looking back, even though I did not reach my goal of releasing 12 interesting samples this year, I am satisfied with the results.

This year is going to be a very busy one for me. It’s my last year at the Technical University of Cluj-Napoca, and then I’ll need to start looking for a job 🙂

So because I would feel bad about promising another 12 samples, and not being able to fulfill my promises, some things on this site will change. Don’t worry, it will still be related to XNA, and I’ll still release samples when I have the time and possibility to create them, but they won’t be monthly. I’ll come back with more details in a few days 🙂

I hope you enjoyed the ride, and that my samples helped some people with their XNA programming.

Categorized: XNA
  • Li

    Thank you very much for your tutorials. Many of them teach me a lot. The multithreading sample even shows me the way for my school project.
    You are doing a very great job.

  • http://www.xnadevelopment.com George Clingerman

    That’s an impressive list Catalin! I was pretty amazed at all you created for the community this past year. And I’m still planning on taking a look at your Dynamic 2D shadows and learning how you did that. I loved that you did some 2D 🙂

    Looking forward to seeing what you’ve got planned for this year!

  • Shawn

    You are doing a great job dude. Love all your tutorials/examples, even if some are a little over my head. Keep up the great work!

  • http://mynameismjp.wordpress.com/ Matt Pettineo

    Still impressive nonetheless, even if you didn’t quite make it to 12! Your multithreading article in particular is very comprehensive, and I totally snagged your rim lighting shader to use in my own project. 😛

  • JamesH

    I’ll chime in with my own ‘props’.. great work Catalin. I’ve been checking back regularly hoping for something in the “series of samples that exemplify various spell effects” mentioned in an earlier post. It would be great if that’s still something you might explore.

  • http://www.catalinzima.com Catalin Zima

    Thanks for the kind words, everyone.
    George: more 2D is coming soon
    JamesH: the spell effects also fit into the next series of samples I’m starting, so I’ll probably get to experiment with them in the near future.

  • http://www.xnainfo.com Rim

    Thought I’d give my props too, the tutorials were fun to tinker with, comprehensive and just plain impressive. You blew my shabby fur sample completely out of the water and I still can’t help but smile at your Rim lighting sample 🙂

  • ayhan

    do you have Multi-threading in XNA source code?

  • catalinzz

    I’ll have to check my hdd to see where it is. However, I am currently out of town, so it will take about a week. Also, the code is rather old, it was written for 3.0

  • ayhan