Sunday, July 17, 2005

Development Environment for Vyde

I regret purchasing Visual C++ .NET. I will probably never use it. I reached this conclusion last night when I tried to play with PopCap Games' SexyApp framework, written in C++.

I can't imagine that the behavior I get out of VC++.NET is intended. IntelliSense just seems to, well, not work correctly. It confuses declarations with definitions (and often can't even identify definitions), it can't find symbols, and the drop-down lists that are supposed to help you navigate your code just aren't wired to anything. They just don't work -- click a symbol and the cursor doesn't move.

I had this problem inspecting the Quake II source a while back, and even found an old Usenet post about it.

If I didn't know better, I'd say something was corrupted. But I've tried clearing out the IntelliSense files, and even tried reinstalling the IDE. I just can't get it to work as expected.

So! What am I likely to develop Vyde in? Not C++. I know that any game worth its salt is supposed to be written in C++, if for no other reason than the efficiency boost the compiler brings to your binaries. But I have to wonder where C++ is going as a tool.

Microsoft is obviously not devoting the same amount of attention to C++.NET as it it so C#.NET and VB.NET. (When you think about it, do C++ and .NET really make sense together?) And then you have things like Managed DirectX, which are no doubt supposed to encourage development on the .NET platform.

And having done some graphics work on .NET this week at work, I can't say I'm totally turned off to the idea of writing a game in it. If nothing else, it'd be an interesting experiment. I'm all about ease in this project: I will take time to build the requisite amount of code, but I do not want to spend time wrestling with the tools that are supposed to make development easier.

Part of me wants to write Vyde in C++, but that same part of me can't come up with a knockout reason for doing so. I really don't think C++ has an indefinite lifespan, and the tools for writing code in it are just lousy. I like IDEs; I believe in IDEs. But I haven't seen one yet that makes C++ development any easier than writing in Notepad, including Visual Studio 2003, which is just sad. I worry that writing the game in C++ will date it, and make it harder to add new features (or integrate new technology) later in its admitedly drawn-out lifecycle.

One factor that weighs heavy on this dilemma is the crop of existing engines out there. Almost all of them seem to be written in C++ (and this makes me think that 1) I'm missing something, or 2) too many zealots think C++ is a requirement for game development). But the idea of writing my own engine, from scratch, appeals to me. After all, this is supposed to be a learning experience.

I haven't finished the webcast series that I started -- the one on game development in C# + Managed DirectX. I've been playing Thief III instead. Once I'm done with that game I think I'll write a big review of it -- things I think should've been done differently -- and work on assimilating that experience into this project.


Post a Comment

<< Home