Original Post
My game files consist of:
MyGame.exe
MyGameLibs.dll
Img001.bmp
Img002.bmp
...
Imgxxx.bmp
Wouldn''t it be cool if my game could run in Windows, Linux, and Mac without any hassle?
Actually we''re almost there, with the .NET Framework. .NET is a rich and powerful platfrom which IMO will have a bright future. Here are some highlights of the platform:
> The .NET Framework contains rich collection of powerful and reusable classes, such as classes for console I/O, file I/O, Windows Forms, math, etc. I find windows forms really powerful, cause
we can make a windows-like application and it will run on any machine (read: OS) with the .NET framework installed!
> The .NET framework is built ground up to support language interopatibility. For example if I write a library (.dll file) using C++, C# and VB.NET programmers can use it!
> Platform indepence in another important key. My .exe and .dll files are in Intermediate Language format, and will be Just In Time (JIT) compiled before excecuted. That means my program will work (and optimized to work) on any processor architechture! OS is also not a problem here, cause the .NET framework is not not Microsoft exclusive. .NET framework for Linux is being developed right now.
There are still barriers however... We know that most games are coded with DirectX. Currently DirectX is still Windows exclusive. So for example if I write a .NET application which calls DirectX, it will only run on machines with DirectX installed (read: windows). The .NET framework provides only GDI+ for graphics support which won''t make any killer games.
Microsoft could make a decision which could change everthing. That is by making the next version of DirectX fully supports the .NET framework and available on Linux and Mac (and other OS also). When that really happens, Linux and Mac users (with .NET framework and NextGenerationDirectX installed) will also be a gaming platform.
=====================================
The traditional one:
Windows Application <--> Windows
Mac Application <--> Mac
Linux Application <--> Linux
The new way:
.NET Application <---> .NET Framework <---> OS (.NET Framework for Linux is on the way...)
=====================================
The traditional one:
DirectX Application <--> DirectX <--> OS (Windows)
Currently possible:
.NET DirectX Application <----> .NET Framework & DirectX <--> Windows
Hope:
.NET DirectX Application <--> .NET Framework and NextGen DirectX <--> OS
=====================================
What do you guys (and gals) think?
PS: I''m currently learning C# and it really rocks! (previously used C/C++ for 3 years)
Visit A Whole New World : World of 3d Art!
http://3d-gallery.cjb.net