Sign in to follow this  

game devlopment in general

This topic is 4803 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

I am wondering in what language or possible languages one can make games in for all the different platforms.. PC, XBOX, XBOX2, PS2, PS3, GC, GC2... I assume almost all development takes place on PC/Windows. I am mostly interested in future platforms. What about MS XNA and .NET ??

Share this post


Link to post
Share on other sites
The main language used is C/C++. Do you have any programming experience at all? if not, then you should start with the pc and learn either C/C++ or BASIC.(it should also be moved to the begginers forum) Nobody knows anything about Next-gen consoles(unless of cource there developing for one)

Share this post


Link to post
Share on other sites
In theory, there's nothing stopping you from using any language to develop for any platform - the issue is the tools available. I could invent my own console and write programs for it in C, but I'd need to create tools for building that code and allowing the console to run it.

For PC: Pretty much every language out there has a compiler/interpreter for the PC platform. Some of the most popular languages include C, C++, BASIC, Java, and Python.

For XBox: Microsoft provide tools, thus it's not exactly a huge leap of logic to suppose that they base it around Microsoft Visual Studio.

For XBox2: Don't know, don't develop for it, but I'd imagine it'll be the same as with XBox2 - Microsoft'll take advantage of the tools they already have for languages like C++.

For PS2: SN Systems and Metrowerks provide the main tools I hear people using. Sony probably provide some specialist tools as well.

For PS3: No idea.

For GC: Again, Metrowerks seem to play a large role. As with Sony, Nintendo probably have some specialist tools that they give you if you become a registered developer.

For GC2: No idea.

Most developers run PC/Windows, though you will probably find a few who run PC/Linux as well.

XNA, nobody knows much about (other than possibly MS, and they're keeping pretty quiet). If they're going to provide it on Windows and Xbox2, then it'll probably be compatible with the technologies used there (Visual Studio, C/C++, VB, C#, etc).

.NET is a whole other kettle of fish; I believe the .NET Forum may give you better answers.

Share this post


Link to post
Share on other sites
To clarify/expand on what superpig says, as well as official development hardware* (a.k.a. "a devkit"), the following would be what I'd consider essential for basic development:

1) A compiler and linker. C/C++ tools are available for all platforms. Some higher level languages, Ada and COBOL for example, do have compilers which output C code that can be fed into a normal C compiler (not that you'd usually use those for games of course). Scripting languages such as Python usually have their interpreters supplied as plain C or C++ code too, so apart from changes to account for things like custom memory allocators, those can be used on consoles too. GNU GCC is an example of a compiler.

2) The SDK(s) for the platform you're developing for. The Windows Platform SDK and the DirectX SDK would be examples. Console platform SDKs contain extra tools you don't usually find with SDKs PC platforms to assist with things like DVD emulation and communication with the "target" devkit (to do things like reset it and download your code to it).

3) A debugger. Code in development has bugs, consoles are no exception - so you need a debugger which understands the hardware of your target platform. MS WinDBG is an example of a debugger.

4) An IDE (Integrated Development Environment). Your source code editor, "workspace" manager, makefile generator, compiler/linker spawner etc. Microsoft Visual Studio is an example of an IDE.


Now then, for each of the platforms, the following are the usual tools people use:

1) Windows PC:
- Compiler/Linker: numerous (MS Visual C++ is most common)
- SDK: MS Platform SDK + numerous other SDKs (DirectX / OpenGL etc)
- Debugger: usually come with the IDE, but others like WinDBG
- IDE: numerous (MS Visual Studio .NET 2003 is most common*)


2) Windows Mobile (PocketPC etc):
- Compiler/Linker: MS eMbedded VC++
- SDK: MS Windows CE SDK + GAPI and middleware etc
- Debugger: in IDE
- IDE: MS eMbedded or MSVC.NET 2005


3) Xbox:
- Compiler/Linker: MS VC++ .NET 2003
- SDK: MS XDK (Xbox Development Kit)
- Debugger: remote debugging extension to MSVC++ .NET 2003/XB Watson
- IDE: MSVC++.NET 2003


4) NGC:
- Compiler/Linker: SN Systems ProDG or Metrowerks CodeWarrior
- SDK: Nintendo Dolphin SDK
- Debugger: ProDG debugger or CodeWarrior debugger
- IDE for ProDG: MSVC++ 6 or .NET with VSI
- IDE for CodeWarrior: CodeWarrior's own


5) PS2:
- Compiler/Linker: SN Systems ProDG, Metrowerks CodeWarrior, GNU GCC
- SDK: SCE PS2 SDK
- Debugger: ProDG's or CodeWarrior's
- IDE for ProDG: MSVC++ w/VSI
- IDE for CodeWarrior: CodeWarrior's own



Based on the above, you can make your own guesses about what Xbox2, PS3, NGC2 etc will be using for development. [smile]


As for XNA, take a look at the first three platforms I listed, notice the similarities? - even though developing for each has a lot of similarities, each platform has slightly different tools available, slightly different APIs for things like game input, etc. Say you were releasing games on all 3 of those platforms - having to use different tools, different APIs etc for each would be a waste of your time - it's also a bit of a waste of MS's time in terms of development, support etc... Given the similarities/cross-over, it would make sense to combine/merge the effort required for everyone - thus XNA... whether non-MS platforms ever become involved with XNA is a decision for the people who control those platforms.



[* I'm only mentioning, professional development setups since that's all I know about in any detail - there are "homebrew" setups with varying degrees of legality depending on whether they use "leaked" material.]

Share this post


Link to post
Share on other sites
Well for game engines on almost any platform go here http://www.devmaster.net/engines/index.php
XNA is mentioned in DirectX October 2004 Release, Bye.
edit: also i think XNA will be DirectX 10, wich will most likely include a better network than DirectPlay, since DP is not been continued with directx Oct. 2004 release.

Share this post


Link to post
Share on other sites
Thanks for the quality replies, I am at the moment doing my first year in Bachelor of Science in Information Technology and I just wanted to know what kind of langauage and tools to learn... so I can become a game developer. or atleast try.. :)

Share this post


Link to post
Share on other sites
... what are the chances that in the future PC and XBOX2 games will be developed in C# ??

could there be a trend moving to java/c# or is it just not fast enough ?

Share this post


Link to post
Share on other sites
Quote:
Original post by Puskas
... what are the chances that in the future PC and XBOX2 games will be developed in C# ??

could there be a trend moving to java/c# or is it just not fast enough ?

For the next two years: rather low chances. Performance is not the main issue here. It's because most companies already have a large code base written in C/C++ and they surely don't want to throw that away. Though many newly developed tools (editors and the like) are moving towards .NET/Java (e.g. take advantage of RAD).
From 2006 and beyond: we'll see. With the arrival of Longhorn things might chance because the OS is tightly coupled to .NET (it's an integral part of the OS itself) so it's just natural for developers to move forward and start focusing on that.

Consoles on the other hand are a totally different story. As you might have guessed from S1CA's excellent post, SDKs and tools are provided by the console manufacturers. So it's very unlikely for companies that are in direct competition with MS to use MS' technology (even though C# itself is ISO certified). You might see some licensed 3rd-party vendors to provide middleware or compilers for C#, Java, D or similar higher level/managed languages.

[edit]
Please note that some of the above is highly speculative and based on my personal subjective view. I am in no way able to predict the evolution of game development for the next few years.
[/edit]

Best of luck with your studies,
Pat.

Share this post


Link to post
Share on other sites

This topic is 4803 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this