Blog Post

Visual Studio 3D StarterKit

Play Visual Studio 3D StarterKit

The Discussion

  • User profile image

    Great. Make sure to check out the DirectX ToolKit as well and the

  • User profile image

    It's also worth looking into Unity3d.

  • User profile image

    Why not just let XNA work with C++.. I've used some tools for dealing with 3D and XNA is definitely the best balance between simplicity and performance, too bad MS is letting it die.

  • User profile image

    Nice Starter Kit Smiley
    Tnx Roberto!

  • User profile image

    No Thanks Microsoft,
    I want continue developing with XNA and C# ....

  • User profile image

    Hi Roberto Sonnino, I saw you demonstrated the great advantages of "Starter Kit". So my question is that whether "Starter Kit" replaces "XNA framework"?. Or in other words, I can't use XNA on developing game in windows phone 8 and "Stater kit" is the optimum choice instead (without accounting for third party framework)?

  • User profile image

    This month I started looking into 3d development then found XNA then found out it has been thrown out of the Microsoft developer tools portfolio and no reason was given. Learning yet another technology which would build upon what was provided would be really good but with the way Microsoft has treated their own developers base I am really hesitant about learning anything else with the Microsoft logo.

  • User profile image

    I agree with takabron. I gave a ton of times to learn XNA and publish some games to windows phone 7 store, but now MS don't care about XNA anymore. This give me a big question about the lifespan and the stability of "Starter Kit", does MS throw it away for the next few years too?. And I wonder myself whether I should continue to chase after MS technology because I don't want to waste my time and my money anymore.

  • User profile image

    when I took a look at XNA, I know it will die soon because DirectX is meant for C++... but I was not good at the math. so I look forward to using something like XNA in C++ and XAML.

  • User profile image

    @huynq and others,

    If your concern is that you'll spend the effort to learn DirectX & C++ only to have the rug pulled out from under you, all I can say is don't be concerned. That's not going to happen because DirectX _IS_ the technology underneath all that XNA stuff.

    In 2000 when I got my first job as a game programmer, it was C++ & DirectX. Today in 2013 it's C++ & DirectX. Five years from now it will still be C++ & DirectX.

    XNA was a high-level abstraction/wrapper/framework designed to shield you from the innards of DirectX. It worked great and it opened the door for a lot of people. But if you look at the history of MS frameworks -- not just in game tech but in general Windows dev tech -- you'll find that such frameworks must always be regarded as transitory in nature. People who learned VB had to re-learn when .NET came along. People who learned Forms were encouraged to learn WPF. People who learned WPF are being encouraged to embrace WRT as the way forward. And all along the native/C++ Windows desktop developer watches as these wrappers and frameworks come and go while our world remains constant.

    And so it is now with XNA. What MS is telling you is that it's time for the training wheels to come off. It's time to embrace the underlying technology so that your expertise will be future-proof.

    They also realize that you guys who only knew the XNA way to do this were pretty much thrown to the wolves. They know, and they're sorry, which is why they're doing things like this 'starter kit' and XTK and whatever else. They're trying to give you back some of the framework you learned to depend on -- but this time you're getting the real, native form of the technology.

    And you also have to remember that your knowledge and experience are not a total wash. Everything you learned about HLSL, everything you learned about 3D math, everything you learned about how to structure and organize something as complex as a video game -- all that stuff transcends language, and you'll find that conceptually it all still applies to native DirectX country.

    Don't get mad. Get direct. Learn to do it this way and it will be a long, long time before this happens to you again.

  • User profile image

    An additional thought just came to me that might ease your mind a bit and give you some perspective on the realities of game development.

    Over the past 13 years I've put games on the PS2, PSP, PS3, Xbox, Xbox 360, Wii, and PC. Each of these machines has their own hardware and APIs and philosophies. I spent years working with the PS2, learning how to make it jump through hoops. Then the PS3 came along. It was so new; so foreign. My first reaction was, "Dear god, what is THAT!?" It was awesome and terrifying and exciting all at the same time, and I had to learn a lot of new things.

    The point is that change is a constant. Occasionally you have to forget some things and learn new things, and that's just the way it is. It has to be that way.

    But it's also worth pointing out that another constant for all those different machines is the C++ language. Different compilers and debuggers, different quirks, but the same language. Having learned C++ I could make games for all of those machines, once I learned the specifics of the hardware and the APIs. The very first game I worked on in 2000 was C++ & DirectX, and the PC game I'm working on today is C++ and DirectX.

    This underscores the _value_ of learning to make games without dependence on "middlemen" like XNA. This is knowledge that you will apply directly to future Windows frameworks, versions of DirectX, and even Xboxes. From this point forward, your occasional need to be re-educated will tend to be more incremental than monumental. You won't be left completely in the cold because you'll take most of what you already know with you.

  • User profile image


    Sorry to say it, but I think you're missing the point a bit: You're mixing up developers' development and application development. Sure, people will eventually create their 3D part in DirectX, but the first step really does start simple. Not everyone is ready to write C++/D3D code/shaders..

    The reason why people liked XNA is because it's C# and (also therefore) easy to use. In C++ you miss a lot of tools that .NET has made available. Stuff like xml parsing, network connectivity, etc.
    Granted, you can also find tools for that on the C++ side, but those are generally harder to use.

    Obviously, each language has it's pro's and con's. But I think that a lot of developers' first choice is C# because you can write a reasonably well performing application in a very short amount of time.

    Therefore, I am very surprised to see that Microsoft does not have a solution for quick-and-dirty 3D. Also with this (btw: EXCELLENT!) starter kit, it still requires you to implement a lot of C++ code. Unmanaged C++ code, I should mention; making it hard for people to merge it into their C# application.

    Let me put it in another way, by telling you the reason why I ended up at this place:Last weekend I wrote a simple tool to render a 3D surface in a web page using WebGL (I had some help from the three.js lib). All I did was define a canvas, add some lights, added a vertex buffer and used an already available arcball. Et voila: my simple model viewer was there.
    I am already assuming that IE will never implement WebGL. You'd think that Chrome and Firefox are to the rescue, but they're not there yet.
    So.. In order to run it on Windows RT, I have to create a fullblown app(!) (Unless someone can point a web 3D technique to me). So what are my options here? SlimDX? neh.. SharpDX? Still a lot of work.. I'm 48 hours further, and I have yet to see my first 3D canvas in a Windows Store App..

    And then there's this toolbox. Geared towards games (gamebase.h) and still no simplified C# interface. It's a really great start, don't get me wrong, but it's still not as simple as it could be.I still have to:
     - Create the canvas in C++
     - Parse the vertices in C# and then transfer to C++
     - Compile for each individual platform

    It's sad to see that Microsoft has no option for easily integrating 3D on Windows RT. And that while their rendering framework seems to be the best choice ever to do this!

    Hope this gap will be filled up soon!

    Disclaimer: There's always the possibility that I have grossly overlooked a certain technology Wink

    P.S: I believe that WPF initially had a solution for this with ViewPort3D. I haven't used this since it's not available on WinRT, so I thought: why bother. It seemed pretty much what I needed, though.

  • User profile image

    "What MS is telling you is that it's time for the training wheels to come off."

    And just what are the next generation of game devs supposed to train with?

  • User profile image

    So bad that there is no simplistic way to write a 3d app. Direct3d is close to hardware, rather than to developer. While you can achieve good results on hardware, in 2013 year I would expect more developer friendly framework. I'm ok to sacrifice performance ovee the speed of development. It is not 199x anymore, please wake up.

  • User profile image

    XNA w/ c# was genius. I was in a total shock when I read that XNA would not be supported in windows 8 and windows phone. When XNA first started, I said to myself - finally ! an easy to use framework !

    I use C++ at work. I know my C++, and frankly speaking - I understand Indy developers who don't like it. Don't expect Indy developers rushing into developing 3D in C++. Games development and 3D development are big enough headache without needing to worry about GC and double pointers...

    You are scaring a lot of developers out of your app store in the 3D department.

  • User profile image

    good Starter Kit, thanx to MS

  • User profile image
    Hao T

    Does any know what happened to Visual Studio 3D Starter Kit - tutorial and source code?
    Today is 2020, and I'm trying to develop a 3D simulation program.
    If I can use Visual Studio, I'll probably eventually buy the Visual Studio Pro.

Add Your 2 Cents