Top

Modelling for XNA with Blender Part II

March 11, 2008

blenderxnaii.jpgLast time we built a cube and laid a texture over it. In part II, we’ll build a more complicated mesh, unwrap it, and build a UV map to map our mesh’s vertices to a custom texture. We’ll look at some basic Blender modeling techniques along the way as well. Read more

Modelling for XNA with Blender Part I

March 10, 2008

blender_big.jpgIn this series, we will look at using Blender to build models and assets for use in XNA games. In part I, we build a cube, apply a texture to it, and export it to fbx format. Read more

Why XNA Matters

March 10, 2008

tempest.pngI remember the first game that really grabbed my attention, and hooked me. It was Tempest, and I was enchanted by it. Read more

Intro to Effects and Post-Processing

March 9, 2008

postprocessing_big1.jpgLet’s learn how to use effects in our game to achieve a highly stylized, unique look to our game. Read more

Horror Rendering in XNA

March 8, 2008

silenthill.jpgSoon we’ll be looking in more depth at post-processing in XNA, particularly how its done and what you can do with it. In the meantime, I thought I’d show an extremely simple example of using post-processing to get a very specific genre look. Read more

YotD: Cube Assault

March 3, 2008

I might as well announce this right away.  Part of the impetus for shifting Stromcode’s focus from win32 and related topics to C# and XNA is that I will be building a game for the first round of XNA community games, targeting the holiday 2008 date range.

The game is tentatively called Year of the Dragon: Cube Assault, which is a horrible name and not the final name at all.  For quite a while, one of my dream projects has been a very ambitious FPS called Year of the Dragon, something that I’ve had to satisfy myself with designing rather than coding due to its scope.  In the meantime, I’ve been trying to figure out how to at least develop a few mini games in the Year of the Dragon universe to support that project, whenever it may be that I’m able to do it.

Watch Stromcode for updates, videos, and more as the project comes together.

Microsoft Gets it Right (almost)

March 3, 2008

Microsoft gets a lot of criticism from the world at large, and to be honest, a lot of it is justified.

Some of it, though, isn’t.  The win32 API is a major gripe for a lot of Windows programmers — indeed, MFC, .NET and even C# were all created to get around the complaints of programmers who found it clunky, non-intuitive and confusing.

Me?  I love it.  Many people know me as the guy who wrote the C++/Win32 tutorials found here at Stromcode, but since writing those I’ve logged countless hours with the API and built dozens of applications using raw win32.  And the more I used it, the more I liked it.  Sure, there may be better, faster ways of getting something done, but overall, I found the API to be a pleasure to use, mostly because it was assembled more or less how I assumed I would have done it.  I’ll leave it to you to decide if that’s a good thing or a bad thing, but the fact is, having the same sort of coder mentality is important when basing your code off of someone else’s.

One place where this becomes abundantly clear is when working in PHP.  There are so many ways of accomplishing the same task in PHP that several nearly exclusive coding standards have been adopted.  I’ve seen PHP that looked so alien to me it took a day to figure out what was going on.

But the biggest area in which Microsoft falls flat is in not understanding the key benefit of open source software.  Open source succeeds in three key areas, as far as I’m concerned:

  1. Free software attracts a higher number of users, and a higher number of users is able to root out problems in the code faster.
  2. Open source allows problems to be fixed extremely quickly.  Moreover, open source allows those fixes to reach the users just as quickly.  As in, as soon as the fix is committed.
  3. Open source software is written by people who love to write code, not people who get paid to write code.

A recent example of Microsoft failing at points 1 and 2 came when I investigated the ClickOnce distribution method for .NET applications.  In theory, ClickOnce should be an amazing thing.  .NET apps can be installed from the web, remember where they were installed from, and update themselves if that initial location contains new objects.

The problem?  It doesn’t work with FireFox.  It may or may not work with any other browser other than IE.  So you think, ok, just let your users know that they need to load the install page in IE.  Wrong.  Your users would actually have to change their default browser to IE, because the problem occurs when a downloaded installer is clicked.  Yikes.

A lot of people complained.  Microsoft acknowledged the problem.  And then… they said the fix would be in the next release.  The next release.  The problem is, the world doesn’t spin at the speed of Microsoft.  We needed a solid deployment solution now, not by the next release.  So we looked elsewhere.  ClickOnce may very well be dead in the water as a result.  Other, better, faster, likely open source solutions will step up to fill the void while Microsoft waits for the next release to fix a major, showstopping problem.

But this post is called Microsoft Gets it Right.  And they got it right by getting point 3: Good code is written by people who love to write code.  XNA is a reflection of this understanding.

Microsoft has been on a tear trying to get people to adopt .NET, C# and the idea of managed code.  As a longtime C++ programmer, this has been a hard sell. Not only am I quite comfortable with the way I work (having been doing it for years), its tough to swallow a new platform in which performance is degraded from the get go.  Not only that, managed code means years of mastering memory management was, now, all for nothing.

But Microsoft has done two very smart things to promote the .NET platform.  One was the release of the Microsoft Robotics Studio, and the second was the release of XNA Game Studio.  Both are targeted at the hobbyist (for the most part) and both capitalize on a group of people who write code for the love of writing code.  And by targeting the hobbyist, they’ve insured that point 1 is satisfied.  XNA is already enjoying a wide user base, and a very active, supportive community.

Reading over the XNA forums, its clear that Microsoft still has a long way to go towards grasping the importance of point 2.  People are already griping about issues in XNA that need fixing, or features that don’t exist altogether.  If XNA was an open source project, the community could have already provided their own fixes to these gripes.  Instead, they have to hear Microsoft developers telling them the reasons why feature x wasn’t included in this release, that it will be included in the next release, and everyone will just have to wait.

Two out of three ain’t bad, especially when talking about Microsoft.  Hey, it’s a start.

Loading Fonts in XNA

March 2, 2008

matrix-copy.jpgStarting with XNA GS 2.0, you can load True Type and OpenType fonts into your XNA project easily. Here’s how to do it. Read more

The XNA Distribution Beta

March 2, 2008

Dax Hawkins has posted a 7 page article on GamaSutra about the X360 Community Games Beta. You can read the article here.

I don’t need to tell you how awesome this is for indie game devs, but just in case, read the article and get excited. Read more

C++/Win32: Context Menus

March 2, 2008

Context menus are the little popup menus that appear when you right-click on certain areas in an application. They’re called context menus because the menu and/or menu options you see depend on the context. If you right-click in an edit box, for example, you might get options to cut, paste, copy, clear, etc. If you right-click on a list view, in the same application, you might be presented with options to sort the list. Read more

« Previous PageNext Page »

Bottom