• Advertisement

Archived

This topic is now archived and is closed to further replies.

.NET and Its effect on Game Development

This topic is 5830 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Visual Studio.NET, the supposodly great new Visual Studio Version from the infamous Microsoft. Has turned many heads with its new "language independence", meaning that any given language *can* compile into the same machine code, either at install time or build time. Given that, C/C++ *may* not have a significant advantage over other languages, like C# or Java. Will game development houses turn to these other languages, especially C#, and gain a little in organization, or will they keep with tradition and stay with C/C++? All comments accepted.

Share this post


Link to post
Share on other sites
Advertisement
Few C++ programmers think that C# offers any improvement over C++. So most of those would be reluctant to change. A few might. Don''t you also have to use the common runtime library to use the other languages, too?

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost ]

Share this post


Link to post
Share on other sites
quote:
Original post by Kylotan
Few C++ programmers think that C# offers any improvement over C++.

Change that to "Few C++ game programmers..." and I''ll agree with you. Reception is generally positive in less niche-oriented disciplines.



Once there was a time when all people believed in God and the church ruled. This time is called the Dark Ages.

Share this post


Link to post
Share on other sites
Also remember that this is the same type of people that believed anything more high level than assembler was unsuitable for games until Carmack proved them wrong.

Once there was a time when all people believed in God and the church ruled. This time is called the Dark Ages.

Share this post


Link to post
Share on other sites
quote:

Also remember that this is the same type of people that believed anything more high level than assembler was unsuitable for games until Carmack proved them wrong.



I don''t think it was Carmack as much as advances in hardware that made assembly less relevant. Carmack would still be using assembly is that''s what it took.

Take care,
Bill

Share this post


Link to post
Share on other sites
Have you ever tried to do COM object development in C++?
How about MVC type GUI development?
Or CGI and ISAPI filter development?

These things are all stuff I have to do at work and they are very time consuming and difficult and error prone.
C#, WebForms and the new GUI controls are going to make this much much easier and cleaner.

I don''t think it will be used in games but I want to lean the new GUI constructs for writing utilities and even game front ends.

Share this post


Link to post
Share on other sites
I don`t have any problem with C# or interpreted language for that matters. The only issue for me is portability. I like when stuff runs on Linux, Windows, Mac and consoles! Even though .NET byte code is open, I haven`t seen anybody trying to make it run on other platform yet. Supposedly, Microsoft is writing a Mac .NET.

One thing I always wanted to do is use Java or Python for a script language and have a little C++ kernel, but the fact that there are no Python or Java implementation on consoles turn me off a bit(because I need console support). It is much simpler to port your own code than someone else`s.

Share this post


Link to post
Share on other sites
quote:
Original post by Gorg
I Even though .NET byte code is open, I haven`t seen anybody trying to make it run on other platform yet.


You should go here then: www.go-mono.org. There are a couple of other projects too - Portable.NET comes to mind, but I''m too lazy to find an URL for you.
quote:

Supposedly, Microsoft is writing a Mac .NET.


No, MS has promised a "Shared Source"-implementation of .NET for FreeBSD.




Once there was a time when all people believed in God and the church ruled. This time is called the Dark Ages.

Share this post


Link to post
Share on other sites
quote:

I like when stuff runs on Linux, Windows, Mac and consoles!



Why? For the most part, making something cross-platform means you drop features and add overhead, without really addressing compatability concerns.

Take care,
Bill

Share this post


Link to post
Share on other sites
quote:
Original post by Siebharinn
[quote]
I like when stuff runs on Linux, Windows, Mac and consoles!



Why? For the most part, making something cross-platform means you drop features and add overhead, without really addressing compatability concerns.

Take care,
Bill

Why? Open your markets. Makes myself more knowlegdeable, more experience. You learn a great deal about software design while doing that.

I do not drop features. If a feature is avaible on a platform, but not on another, well you only use it on this platform(ex. force feedback).

Overhead is minimal. Adding one layer over the OS system calls is not very expensive.

I don''t understand what you mean by compatibility concerns? Can you clarifiy?

Share this post


Link to post
Share on other sites
quote:
Open your markets.


Thank you, I''ll just saturate the one market that matters. The four or five people on Linux/Mac/whatever just aren''t worth the effort.

quote:

You learn a great deal about software design while doing that.


I disagree. Especially since most people''s cross platform efforts involve using someone elses libraries (SDL, OpenGL, etc) or tools (Java, Python) to write their code. If I write something in Java, I can hardly pat myself on the back for writing cross-platform code. What did I learn? Now, if you were writing your own cross platform GUI, or a new Java VM for a platform, then yes, you''d be learning a ton.

quote:

I do not drop features. If a feature is avaible on a platform, but not on another, well you only use it on this platform(ex. force feedback).


Not using a feature on a platform is *dropping* it on that platform. That''s exactly what I meant. On some platforms that you support, you''re going to have to disable parts of your program.

quote:

I don''t understand what you mean by compatibility concerns? Can you clarifiy?



I''ve done quite a few business apps in Java for work. The idea (mandated from the powers that be) was that our code should run on the Solaris servers and Windows clients. It didn''t really work like that though, and due to differences in the VM implementations, we ended up writing several native libraries that had to be done differently for each platform.
I''ve also used some C++ libraries that were supposed to be cross platform, and they required a ton of #ifdefs for platform specific sections. It was a pain in the rear, and the end benefit of having multiple platforms was almost negliable.

I don''t mean for this to be a bash on Linux or MacOS or whatever. I''d still be useing BeOS if it hadn''t rolled over and died. I disagree with the assertion that writing cross platform code makes for better design or cleaner code. And there is no valid market reason for it, otherwise you''d see more cross platform games.

Take care,
Bill

Share this post


Link to post
Share on other sites
quote:
Original post by Siebharinn
[quote]Open your markets.


Thank you, I''ll just saturate the one market that matters. The four or five people on Linux/Mac/whatever just aren''t worth the effort.

quote:

You learn a great deal about software design while doing that.


I disagree. Especially since most people''s cross platform efforts involve using someone elses libraries (SDL, OpenGL, etc) or tools (Java, Python) to write their code. If I write something in Java, I can hardly pat myself on the back for writing cross-platform code. What did I learn? Now, if you were writing your own cross platform GUI, or a new Java VM for a platform, then yes, you''d be learning a ton.

quote:

I do not drop features. If a feature is avaible on a platform, but not on another, well you only use it on this platform(ex. force feedback).


Not using a feature on a platform is *dropping* it on that platform. That''s exactly what I meant. On some platforms that you support, you''re going to have to disable parts of your program.

quote:

I don''t understand what you mean by compatibility concerns? Can you clarifiy?



I''ve done quite a few business apps in Java for work. The idea (mandated from the powers that be) was that our code should run on the Solaris servers and Windows clients. It didn''t really work like that though, and due to differences in the VM implementations, we ended up writing several native libraries that had to be done differently for each platform.
I''ve also used some C++ libraries that were supposed to be cross platform, and they required a ton of #ifdefs for platform specific sections. It was a pain in the rear, and the end benefit of having multiple platforms was almost negliable.

I don''t mean for this to be a bash on Linux or MacOS or whatever. I''d still be useing BeOS if it hadn''t rolled over and died. I disagree with the assertion that writing cross platform code makes for better design or cleaner code. And there is no valid market reason for it, otherwise you''d see more cross platform games.

Take care,
Bill

Share this post


Link to post
Share on other sites
Wait a minute does this mean that C# is going to require all the runtime DLLs to support it like VB programs? Besides unless you have a need for the features C# has for C++ then its really not worth switching. I think I''ll stick to my Borland compiler.

Share this post


Link to post
Share on other sites
I''ll admit I don''t have much experiance writting cross-platform programs. I either write a program for Window or Linux, and If I want it to run on another platform I''ll port it over by hand (none of this cross-platform crap). Personally I have some big conserns as to stability and security of these .Net VM''s.

Share this post


Link to post
Share on other sites
quote:
but the fact that there are no Python or Java implementation on consoles turn me off a bit

Actually, the Sun folks says that the Dreamcast games Skies of Arcadia and Daytona USA shipped with JVMs, so apparently someone has written a Java implementation for a console I know Dreamcasts are not very interesting anymore, I''m personally looking forward to what Sony''s Java initiatives will lead up to.

Share this post


Link to post
Share on other sites
quote:
Original post by prh99
Wait a minute does this mean that C# is going to require all the runtime DLLs to support it like VB programs?


The redistributable runtime is currently ~19 megs, which is more than the JRE. However, it will ship with future MS OS''s, and will be provided in service packs for 2K and XP.

quote:

Personally I have some big conserns as to stability and security of these .Net VM''s.

And these concerns are based on what? (Considering the .NET runtime isnt really a VM, I sort of doubt your sources)


Once there was a time when all people believed in God and the church ruled. This time is called the Dark Ages.

Share this post


Link to post
Share on other sites

  • Advertisement