New Direction
Posted by Parthon on July 19th, 2008
After spending months working, and fighting, with XNA and C# I’ve decided to throw it in and go back to C++. Why?
It’s an interesting platform that’s for sure. The model loading is quite smooth all the way through to the rendering and even all the assets are handled for you, but only if you follow the design methodology that XNA uses. This consists of a few god classes, with all game objects floating around in a cloud. Game objects render themselves, which really consists of a giant loop through all the existing objects and calling custom draw functions on each one. For C# being very Object Oriented, XNA is very much not. It encourages programmers to break the rules and use some very nasty anti-patterns. I progressed well on a viable engine, sticking to a good design as much as I could, but in the end it was fighting a losing battle. Even if I managed to win, there’s such a low install base for .NET and XNA that my audience would have been reduced dramatically.
Given this, I’ve switched back to C++, am spending time learning how to use Ogre3d, and hopefully will have a game prototype to show very soon. I’ve put Space Fortress on hold, because that’s a massive project and I wouldn’t want to relearn C++ while at the same time trying to wrestle that huge design. Instead I’m starting work on the RPG I’ve been thinking about for a while.
It’s a 3d real time action roguelike, which isn’t very roguelikey at all. It’s taking some of the main characteristics: Resistances, leveling up, random dungeons and monsters and combining it with the sort of fighting from Phantasy Star Online or one of the 3d Legend of Zeldas, and then topping it off with an experimental skill system. I think it will be good, there’s been a great lack of a GOOD dungeon crawler for a while that I think it’s time to take on the challenge.