.NET vs Java (game) development
#1
Posted 18 April 2007 - 01:05 PM
This is my first post here, so go easy on me ;) .
Anyway, I was wondering what your views are on .NET and Java development. I've read somewhere on this site that Java cannot be used for serious game development, but I've already found some really good Java games, and I learned Java because it's the only real way to make cross-platform programs (without recompiling on multiple computers).
I also like the .NET/Mono platform, however, because it can be used with many languages, among which C#. (On a side-note, C# was the second real language I ever learned. The first was Ruby, but I don't like that one very much.) Mono seems to have made the .NET platform cross-platform, and the Tao Framework has also made some good programming libraries for it.
So, what says ye, fellow (but more experienced) programmers?
#2
Posted 19 April 2007 - 09:53 AM
I would be happy enough to write cross-platform code. That's one of the reasons I like SDL and wxWidgets.
#3
Posted 19 April 2007 - 11:44 AM
As for language, use what you like. Since you seem more familiar with Java, I would suggest you stick with it. In my opinion Mono and MS are screwing everything up with .NET. I personally wouldn't want to put myself in a rocky boat like that.
#4
Posted 19 April 2007 - 04:29 PM
Just curious, I have no opinion on the matter personally, but in what ways do you think Mono and Microsoft are screwing up .NET?
#5
Posted 19 April 2007 - 08:44 PM
If you do go with .NET and Mono, please please PLEASE don't use DirectX. It isn't portable to anything other than Windows PCs and XBox series.
#6
Posted 19 April 2007 - 10:01 PM
Armor Nick said:
Quote
Anyway, why would it be any problem to recompile? You could just write cross-platform C/C++ code and offer multiple executable formats.
#7
Posted 19 April 2007 - 10:07 PM
SamuraiCrow said:
#8
Posted 19 April 2007 - 10:17 PM
#9
Posted 20 April 2007 - 06:19 AM
SamuraiCrow said:
If you do go with .NET and Mono, please please PLEASE don't use DirectX. It isn't portable to anything other than Windows PCs and XBox series.
Therefore I don't see why one shouldn't use Direct3D when in real-world situations one should make a separate implementation for every platform anyway. It's not really a coincidence that most game developers are opting for D3D when developing software for Windows.
#10
Posted 20 April 2007 - 07:26 AM
Nick said:
Quote
Quote
#11
Posted 20 April 2007 - 11:38 AM
Armor Nick said:
But I don't think you should worry too much about cross-platform yet. If you're comfortable in Windows, just use the Visual Studio Express Edition for C++ or C#. Once you're ready for real commercial games you can broaden your horizon to other platforms. While still learning, sticking to one platform doesn't really hurt. Staying aware of cross-platform issues is a plus though.
Actually the language doesn't matter much either. Whatever works for you that is comfortable to work with should be fine. Remember to keep programming fun!
#12
Posted 20 April 2007 - 11:43 AM
karligula said:
Mono is supposed to shadow Microsoft's .NET architecture and implementation. Since Microsoft is continuously pouring more research and development into .NET, Mono has to quickly play catchup. Unfortunately they take shortcuts and things come out differently. The returned results are different, exceptions not being thrown in .NET are being thrown in Mono, code developed and compiled in Mono cannot be used in .NET and there's a high probability it won't compile in .NET either.
The .NET initiative was supposed to simplify things. Now we have the same problem web developers have with supporting multiple browsers. It's just an unnecessary mess. Microsoft is equally to blame for this because they should be working with Mono given their popularity (subcontract them) to ensure consistency with their .NET infrastructure.
#13
Posted 20 April 2007 - 05:02 PM
I take it from your later post that you interpret cross-platform as meaning "able to run on different Windows versions" rather than "able to run on all operating systems". If you're doing Windows software then just say so. I am running Windows XP on my laptop but frown on anything that doesn't run properly on MacOSX, Linux, and other operating systems being called "cross-platform" when it isn't even close to being portable outside the Windows environment.
#14
Posted 21 April 2007 - 03:46 AM
juhnu said:
#15
Posted 21 April 2007 - 04:29 AM
Jare said:
Anyway, if you wrote an OpenGL application on Windows, using let's say shadow buffers etc. and would try to run that on SGI, the changes are it wouldn't work - and nor would it work vice versa either. My point is that because of various extensions, different hardware features and not 100% perfect driver support, it's pretty hard to write truly cross-platform OpenGL code. Therefore I think one should design an engine so that the actual low level graphics implementation is totally hidden from the public API and implemented separately for each platform. In that case it wouldn't be so bad idea to use Direct3D on Windows.
#16
Posted 21 April 2007 - 06:17 AM
juhnu said:
juhnu said:
To rephrase my answer: it doesn't HAVE to be cross-platform, but it CAN be very useful if it is. OpenGL has survived against all odds precisely because of that.
#17
Posted 21 April 2007 - 09:25 AM
Nick said:
Quote
Btw, I'm never going to make a commercial game, because I don't like paying for software either. I'm also a proud member of the Free Software Foundation.
Quote
Btw, I've found a very good Java game engine that I'm going to use: http://www.g-java.com/ . It's not finished yet, though, so I'll have to wait for a while before I can start programming my game. Oh well, gives me some time to get better at Java.
#18
Posted 21 April 2007 - 05:03 PM
Armor Nick said:
Btw, I'm never going to make a commercial game, because I don't like paying for software either. I'm also a proud member of the Free Software Foundation.
Actually the Free Software Foundation doesn't prevent people/companies from charging for the service of writing software, it only means the source-code must be available to other developers.
Quote
Btw, I've found a very good Java game engine that I'm going to use: http://www.g-java.com/ . It's not finished yet, though, so I'll have to wait for a while before I can start programming my game. Oh well, gives me some time to get better at Java.
My laptop and desktop at home are running XP but I'm hoping to get back to AmigaOS 4 on my MicroA1-c soon. It's a lightweight PowerPC-based operating system, but, unfortunately, it has no Java runtime environment.
It does run Python, however. Also, Python is easier to learn than Java. It's been open-source longer than Java also. It also has a converter called Jython that will make it run on a Java Virtual Machine if you must do so to get that last ounce of performance out of the host system. If you want a cross-platform engine that will run Python, see the Panda3D website.
#19
Posted 22 April 2007 - 10:05 AM
Jare said:
Jare said:
To rephrase my answer: it doesn't HAVE to be cross-platform, but it CAN be very useful if it is. OpenGL has survived against all odds precisely because of that.
It might also be a disadvantage to use OpenGL over a platform specific API so I guess there's no one single correct answer to that. It just depends how you weight pros and cons. The original comment I replied to, over-simplified the situation.
#20
Posted 22 April 2007 - 05:01 PM
juhnu said:
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











