Saturday, January 24, 2009

WPF beginner begins…

I am a programmer since day one of the PC. However, I have always been working on business applications, mostly working on documentation software. I recently started work on a MS Surface unit and that involves programming using WPF (Windows Presentation Foundation)  or XNA. Since we also do a lot of web stuff, I chose WPF for my current development work.

Programming in WPF is a much more visual experience than what I was brought up with (Cobol, Fortran, Basic, Pascal, C, C++, Smalltalk, et cetera, et cetera). An important part of WPF are the definitions in XAML (Extensible Application Markup Language). This XML file defines the objects in your window and application. I am currently using Microsoft Blend to edit the XAML files, but you can of course edit them with Visual Studio too.

I’m just beginning with C#, .NET, WPF, XAML and Surface. Our company software is written in Delphi/Win32, but we will make a transition to C# and .NET this year.I won’t be programming on that myself (that much) anymore, but I want to know all about the technology we will be using of course. So, I’ve taken up the challenge to write some software for our MS Surface unit to learn our new environment.
I might use some ‘wrong’ terms and concepts. I will make some beginner mistakes. Bear with me though: I’m learning along the way. This blog shares my experiences doing so for you to learn from or laugh at…

As said, I’m not brought up with a lot of graphics in my software, let alone handling or animating them. So, I’m not that comfortable (yet) with the way WPF-programmers work. But, I will learn along the way and will share my thoughts and experiences for others to learn or to laugh at.

My first program

I am targeting the MS Surface unit and I thought it would be nice to begin with a small game: Memory (I’m assuming here that everybody knows the Memory game). The logic in that is simple, it’s quite suited for the MS Surface unit, it will be a nice gift for new Surface customers, but most of all, it will be a good subject for my learning experience.

So, the functional specs are:

  1. The images used for the memory cards will be taken from the clients computer
  2. The difficulty can be set using a slider
  3. The memory cards animate when flipped.
  4. (there’s a couple of more specs, but those will come later)

So, how to start? The first steps were easy. Create a board with images. The actual flipping will come later.

Update #1: I was writing this while working on my game. I have now proceeded a bit more, but I got word that Microsoft had planned for a programmers course coming week. So, I’ll be going to Paris a bit later this week and I hope to get a bit of a head start. I will finish this game and I might even make it open source. I’ll let you know how I get along.

Update #2: I am also really not introduced to the world of 3D. However, I found this great little article that helped me on my way. So, the first hurdles are taken. Maybe I will be able to do some nice stuff on my own to coming days.

Let’s regard this post as a first in a series.

Bye,

Bart

3 comments:

Anonymous said...

Hi,

its sound really interesting your memory game? have you already finished the project?

cheers

Bart Roozendaal said...

O yes, it was finished many moons ago. We regularly show this and all the other things we do to schools and classes that visit us. Great fun. See http://www.sevensteps.nl/html/topic_6F74F232-0B5F-404F-AFBA-6A10CC6A0727_C96F5F91-90A3-4B13-8FCE-482474584CFF_1.htm (in Dutch, but this pictues are nice)...

Anonymous said...

wow great, but i can't understand dutch. Is it possible the get the source code?

cheers