Hi Jason,
While you made some very good points on the subject of C++ verses .NET
there is perhaps some other things here maybe you haven't considered.
When it comes to supporting multiple operating systems like Mac OS,
Linux, and Windows it is certainly true supporting all three platforms
won't dramatically improve the developer's sales and number of
customers. However, there is more to writing games than just making
money. There is the customer's freedom of choice, and his/her right to
use something other than Windows based software.
I know that Josh, from Draconis Entertainment, has for all intents and
purposes switched over to Mac OS. He is very supportive of that
operating system and Draconis Entertainment's new titles will run on Mac
OS natively as well as Windows. While he could write Windows versions
and run them through some kind of virtual machine that still isn't as
good as writing a native version for the operating system itself.
Virtual machines are nice, but only a quick fix for a much larger problem.
That being that many companies, developers, and so on tend to see that
Windows is the biggest source of money out there, create Windows
specific software for it, and ignore everything else. Since they are
responsible for restricting the number of applications for Mac and Linux
people are less likely to use those operating systems. It is simply a
vicious cycle of Windows is the biggest software platform out there,
companies write software only for Windows, in turn making Windows all
the more important to have.
Like Josh I also don't use Windows regularly. I have MS Windows
installed on this laptop, but my main desktop doesn't use Windows at
all. It runs Ubuntu Linux complete with the Orca screen reader, Open
Office, Evolution for E-mail, Firefox for the web, etc. All of it is
free cost effective software which means I don't have to pay Microsoft,
Freedom Scientific, or anyone else huge amounts of money to keep that
computer up to date and running. Not to mention the ability to install
the operating system from scratch using speech. For all of these reasons
I choose to use Linux, not Windows, for most of my computer work, and I
truly wish more accessible games were available for Linux. So part of my
reason of switching from .NET to C++ is so that I'll have the choice and
ability to begin creating games for Linux. Not because of money, but
because I personally use that operating system more than Windows.
Weather I make one cent off my Linux versions of the games is less
important to me than my right to choose not to use Windows if I don't
want to. That's the difference between me and some of the other game
developers out there.
Regarding .NET security it is true these days obfuscation is pretty good
and secure. Still weather someone will try and disassemble the code and
reverse engineer it remains to be seen. There may not be many here with
the ability or desire to do it, but it still needs to be considered. I
will say if you don't use a good obfuscation program it is very easy to
disassemble a .NET executable and convert it back to readable source
code. Which is not good, and requires a bit of extra money to secure
your program from a hacking attempt.
As far as the XNA Framework I haven't kept up with development of that
API, but when I looked at it last I wasn't too impressed with it. Plus I
really can't find anything for .NET that truly satisfies me. Yeah, I
could use FMOD, Irrklang, or SlimDX, but I could write the same
application in C++ and still use those APIs directly. By the same stroke
I can create Linux and Mac ports as well. So I really see very little
advantage for me in sticking to .NET for future game development.
Bottom line, I think a lot of this is what the developers goals are. If
you only want to support Windows, Windows based APIs, then using .NET is
probably ok. However, if you are like me, using Linux instead of
Windows, then using non-Windows based solutions is ultimately more
important. In C++ I can create a program in C++ using SDL for input
and OpenAL for audio that will run on Mac, Linux, and Windows equally
well. It is true that I will lack some of the functionality of XNA or
DirectX, but I'll still be able to pick my operating system of choice.
It comes down to choice of what is important and not important to you as
a game developer.
Cheers!
---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gam...@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.