Starting over...

Started by
15 comments, last by NickGravelyn 16 years, 9 months ago
Until about a year ago I did a lot of work on my C++ game, Archipelago (entered for 4E5 I think). But then I got involved in other stuff and in the mean time I havea PC without a Win32-able C++ compiler as I decided to go legit with software and delete VC++6 in favour of VisualC++ Express, which doesn't do Windows programming. Now I'm considering coming back to game development, perhaps. I have a few options: 1)Resume the current project. It was quite far along but I would have to get a C++ compiler and get it set up to compile against Win32 and DX8 - and getting the DX8 can't be simple. Plus, I was getting sick of DX8 a couple of years ago. 2)Start over in C++, with DX9/10. Get a compiler that will work with these and start a new project, possibly recycling things I already have. 3)Start over in C#. I'm quite interested in .NET and it's defitely a viable option these days for writing a fast game, especially since pushing the limits of hardware is never my aim. But writing all the basic stuff like a D3D wrapper, GUI, etc just seems dull, I've done it before. 4)Start over in C#/C++ using a free game engine. I don't know what's popular and free these days -and I don't know if there are many for C# yet. Lots of people used them for 4e5 entries both C++ and Java I think. I don't know what I need - certainly I don't want to write a 3D engine in any way! So I'd be interested to hear any thoughts on any of these options. For those that don't remember me when I used to be on GD a lot, I'm a profesional developer who has worked in games and non-games programming. I'd consider myself at expert level in C++, competent in Java and a bit of a C# rookie. I've worked on major projects alone before including a 3D racing game and RTS, both from scratch. Thanks.
Advertisement
Have you considered XNA?
Quote:

VisualC++ Express, which doesn't do Windows programming.



Yes it does, with a bit of work.

I'd say that if you have a large code base that is easy to port (and porting DX8 to DX9 should be fairly easy), you should do that instead of writing everything from scratch. But if your goal is more to make a game and not learn graphics/coding techniques, using an existing engine would be easier. I think there's a .NET version of Ogre, maybe you should check it out.
Quote:Original post by niteice
Have you considered XNA?
I don't know anything about XNA. Does it work with VC# Express? How mature is it? Is it DX10? CAn you provide me with a good link to read about it and see a good tutorial?

With XNA, I believe you can only use XNA Studio Express. here's the link. [smile]
Still 2^10 :P
Have you considered using Irrlicht or Ogre3D with C++? :D

Though it would be fun to try new things like C# I think it is still inferior to C++ in terms of performance and compatibility.
Quote:Original post by BlindSide
Have you considered using Irrlicht or Ogre3D with C++? :D

Though it would be fun to try new things like C# I think it is still inferior to C++ in terms of performance and compatibility.
Have you any idea how hard it is to use up all the CPU on a modern PC? The only way I could write a game in C# which finds performance to be an issue is if I write it really badly. And then it would still be really badly written C++ game. Even the AAA titles run on not-brand-new PCs. Performance is not an issue, and compatibility probably isn't either. The only people who will play anything I write are game developers, who are likely to mostly have XNA-capable PCs. Check out entries in 4e5/4e6 and you'll see many impressive entires using Java & C#.

Quote:Original post by mercurium
With XNA, I believe you can only use XNA Studio Express. here's the link. [smile]


I had a bit of a look around and XNA is quite interesting. I'm not quite sure which of these categories it falls into yet though:

a)GameMaker crossed with C# to form some sort of BlitzBasic type thing
b)A low-level game engine written in C#.
Quote:
I think it is still inferior to C++ in terms of performance and compatibility.

That kind of blanket statement is completely meaningless. C++ and C# have very different performance characteristics, they are both "slower" or "faster" than the other for particular implementations of particular techniques on particular platforms, and they both do some things better than the other. To make a statement as broad as you've made suggests that you're just repeating information that was incorrect, or that you're not fully understanding the scope of the benchmarks you used to come to that conclusion.

Quote:
I don't know anything about XNA. Does it work with VC# Express? How mature is it? Is it DX10? CAn you provide me with a good link to read about it and see a good tutorial?

XNA works with VC# Express (it requires it to be installed, in fact). It's mature enough to be usable, but has some work ahead of it. Since it's designed primarily to be an Xbox 360 API, it does not support D3D10.

Quote:
a)GameMaker crossed with C# to form some sort of BlitzBasic type thing
b)A low-level game engine written in C#.

I don't think it's really either. It's not really very "GameMaker" like, as you still write a lot of C# code. It doesn't have a "point and click" front-end for connecting game compenents and logic together. It's not really large enough to be considered an "engine," either. It's more like an alternate version of Managed DirectX that is cleaned up a bit and designed for the least-common-denominator of Xbox 360 and Windows compatibility.

Quote:
Now I'm considering coming back to game development, perhaps. I have a few options:

If you stick with C++, I would advocate against throwing your code away. Even if you move to C#, you can probably port a good portion of the code if you pay attention (naive, direct ports of the code usually don't take C#'s different performance characteristics into account, but those are usually easy enough to isolate and refactor after the fact).
Quote:Original post by d000hg
Quote:Original post by mercurium
With XNA, I believe you can only use XNA Studio Express. here's the link. [smile]


I had a bit of a look around and XNA is quite interesting. I'm not quite sure which of these categories it falls into yet though:

a)GameMaker crossed with C# to form some sort of BlitzBasic type thing
b)A low-level game engine written in C#.


XNA is:
- the XNA Framework, which is basically the successor of MDX 2.0. Or in other words, a DirectX 9.0 SDK for .NET languages.
- XNA Game Studio Express, which is an add-in for Visual C# 2005 Express that makes it possible to add textures, shaders and 3d models in various file formats into the project tree. They'll automatically be converted into a Microsoft-defined format and copied to the output folder when you compile. The XNA Framework then has some utility classes that can read this Microsoft-defined format. Using this part of XNA GSE is optional, but saves time for simple projects.

And, to be accurate, XNA also is a marketing term applied to anything related to recent Microsoft game technologies, including DirectX 10.

-Markus-
Professional C++ and .NET developer trying to break into indie game development.
Follow my progress: http://blog.nuclex-games.com/ or Twitter - Topics: Ogre3D, Blender, game architecture tips & code snippets.

This topic is closed to new replies.

Advertisement