Jump to content
  • Advertisement
Sign in to follow this  
ram090

Which language to use

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

Hello,

I am assuming pro developers all now use VC++.NET ver 10 ..?

I was a bit confused as to the role of the .NET framework in a commerocal game, i thought for some reason it would slow it down overheads etc.

Also how far would you get developing a game in the express version. Also would most of these free open source engines like OGRE complle in VC++.NET as i think most would be written in VC++ 6.0 etc..

Share this post


Link to post
Share on other sites
Advertisement
I am assuming pro developers all now use VC++.NET ver 10 ..? I was a bit confused as to the role of the .NET framework in a commerocal game, i thought for some reason it would slow it down overheads etc.
The product is called Microsoft Visual C++, not MSVC++.NET.
It can be used to create 'native' applications OR '.net' applications. You're not forced to use .NET if you don't want to. Most games choose not to use .NET.
Also how far would you get developing a game in the express version. Also would most of these free open source engines like OGRE complle in VC++.NET[/quote]The express versions are perfectly fine for C++ development. They're only missing a few productivity features and are a bit clunkier to use. Most open source projects will compile fine in the newer versions of MSVC.
as i think most would be written in VC++ 6.0 etc..[/quote]No. No one uses VC++ 6.0 any more.
VC++ 6.0 doesn't even implement standard C++ -- when you're using that IDE, you're not writing real "C++ code"; you're writing "MSVC++6.0 code".

Share this post


Link to post
Share on other sites
Ah ok that's clear now. So i see you can write native win32 C++ or use the .NET framework/libraries (CLR) in 'Visual C++'.

But by writing in CLR you are going to no doubt lose some functionality and performance as compared to writing in native winn32 C++ but then CLR could be a lot faster and less complex to write as it's so simplified.

Are there any AAA games just now for the PC that would be written in CLR ?

So it's a mammoth task writing a game engine let along the rendering engine. Where do you start could a hobbyist developer realistically write say a AA game engine over a number of years, how many tricks of the trade do current commercial devs have that the public doesn't get to see. I think also all the tools, for example mapping tools, would be such a major part of the game. But if you did manage to write rendering engine and the tools i think you'd be as well licensing the rest such as sound, networking, physics, AI, then they would still need your artists, mappers, and a ton of other people before you had a working game.

Share this post


Link to post
Share on other sites

Hello,

I am assuming pro developers all now use VC++.NET ver 10 ..?

I was a bit confused as to the role of the .NET framework in a commerocal game, i thought for some reason it would slow it down overheads etc.

Also how far would you get developing a game in the express version. Also would most of these free open source engines like OGRE complle in VC++.NET as i think most would be written in VC++ 6.0 etc..


First of all ,C++ is a language, Visual Studio is an IDE , and Visual C++ 6.0 is outdated. (Most opensource engines are written using opensource tools, not outdated Visual Studio versions. i have no idea where you got that wierd idea from.)

A program written in standard C++ will compile and run regardless of what compiler you're using (unless it is one that predates the standard, such as DevC++ or VS6.0), professionals are using a wide variety of IDEs, some of the commonly used ones are Visual Studio, XCode, Code::Blocks, QTCreator and Eclipse

The express edition of Visual Studio will compile any valid C++ code so there is absolutely nothing that prevents you from using it to make games, The things that are missing primarily affects productivity and the final performance of the executable. (The more advanced optimization features aren't a big deal though, and they didn't exist at all in older VS versions and some can be quite a pain to use) (gcc gives you some of those optimizations for free and as such can, in some situations produce faster binaries than the express edition of VS)

.Net is not used alot in C++ games since C++/CLI is a huge mess , VS.Net doesn't force you to use .Net, it only provides you with tools that makes using .Net easier. (Alot of games these days however might use C# and .Net for tools, launchers, etc)

Share this post


Link to post
Share on other sites

But by writing in CLR you are going to no doubt lose some functionality and performance as compared to writing in native winn32 C++ but then CLR could be a lot faster and less complex to write as it's so simplified.
In theory, maybe. In practice, writing high performance C++ code is a combined punch of time and experience. It's not easy.

Are there any AAA games just now for the PC that would be written in CLR ?[/quote]Magicka was C#, along with a few others. Hell, Minecraft is Java. it's not common to be a large scale game in non-C(++) languages, but it's hardly unheard of.

Share this post


Link to post
Share on other sites
Well the people before me gave you advice on programming languages, now, I'm going to try to give you advice on rendering engines.

I was searching for a way to make a game a few years ago and found out that the best way to develop one was through learning C++ and either using an already established game/rendering engine, or to write one on your own, I chose the former, and thus started trying out different game and rendering engines, among the ones I tried were Panda, OGRE, Irrlicht, Crystalspace and a dozen more.

From testing them out I discarded Crystalspace, Panda and the other engines, as they were either not well-documented, or the examples were too buggy for me to put 2 and 2 together at the time, OGRE and Irrlicht stood out, Irrlicht for the speed and simplicity, and OGRE for that + the beautiful demos, the huge friendly community, and the awesome wiki, among other things. I stuck with it, and learnt C++, a bit of linear algebra, the fun (sometimes hard), 3D/Graphical way.

So that about sums up my experience with OGRE and other engines, and that concludes my opinion/answer to your question.

Also, wrappers for OGRE are available for .NET/C# - MOGRE (Managed OGRE), there are a bunch of other wrappers under active development for a lot of languages, including Lua, Python and Java (there might be more).

I hate .NET, and anything above 20 MB that needs to be installed with my application, so I advise you to write native C++ rather than using .NET.
Whatever it offers, an open-source library offers it too, probably faster, all that without any big downloads for your users.

BTW - The lowest compiler version I've seen professional developers use is VC++ 8 (2005), I think even the latest 2011 games use it.

Share this post


Link to post
Share on other sites

Well the people before me gave you advice on programming languages, now, I'm going to try to give you advice on rendering engines.

I was searching for a way to make a game a few years ago and found out that the best way to develop one was through learning C++ and either using an already established game/rendering engine, or to write one on your own, I chose the former, and thus started trying out different game and rendering engines, among the ones I tried were Panda, OGRE, Irrlicht, Crystalspace and a dozen more.

From testing them out I discarded Crystalspace, Panda and the other engines, as they were either not well-documented, or the examples were too buggy for me to put 2 and 2 together at the time, OGRE and Irrlicht stood out, Irrlicht for the speed and simplicity, and OGRE for that + the beautiful demos, the huge friendly community, and the awesome wiki, among other things. I stuck with it, and learnt C++, a bit of linear algebra, the fun (sometimes hard), 3D/Graphical way.

So that about sums up my experience with OGRE and other engines, and that concludes my opinion/answer to your question.

Also, wrappers for OGRE are available for .NET/C# - MOGRE (Managed OGRE), there are a bunch of other wrappers under active development for a lot of languages, including Lua, Python and Java (there might be more).

I hate .NET, and anything above 20 MB that needs to be installed with my application, so I advise you to write native C++ rather than using .NET.
Whatever it offers, an open-source library offers it too, probably faster, all that without any big downloads for your users.

BTW - The lowest compiler version I've seen professional developers use is VC++ 8 (2005), I think even the latest 2011 games use it.


Thanks for that, so you've learned DirectX i assume, what version are you up to and have you implemented any into OGRE. I am not up with DX but it seems there are ever increasing additions to it for example (and i am just reading this from the docs) , tessellation, multithreading for multi cpus, shaders etc..

How much of this is copyable from sorces or do you have to start from scratch and read the DX SDK docs, somebody must already have examples online etc...

How much of the OGRE engine do you think you know, it's a lot of code, are you able to have it run like say the crysis engine..



Share this post


Link to post
Share on other sites

Thanks for that, so you've learned DirectX i assume, what version are you up to and have you implemented any into OGRE. I am not up with DX but it seems there are ever increasing additions to it for example (and i am just reading this from the docs) , tessellation, multithreading for multi cpus, shaders etc..

How much of this is copyable from sorces or do you have to start from scratch and read the DX SDK docs, somebody must already have examples online etc...

How much of the OGRE engine do you think you know, it's a lot of code, are you able to have it run like say the crysis engine..


No, I haven't used Direct3D, or OpenGL directly, but through OGRE.

If you want to just make a game that looks good, and don't want to spend years developing your own game engine/framework that will meet the graphical standards that Crysis and it's engine have set, then I suggest you either use Unreal Engine through UDK, or Cry Engine which is free for non-commercial use as of late.

As for how much I know OGRE, well I can't really say, as you can't really know a library 100% unless you are the sole developer, and as tons of people contribute code to OGRE every day, it always has more to offer, and more and more people are making libraries specifically for it, so if you ask me how much of OGRE I can utilize in an application for the moment is probably around 10-15 %, and that's pretty much a lot.

I don't see a reason why you'd need to learn DirectX if you're going to be using an already-established rendering engine such as OGRE, or even a complete game engine, you won't ever need to know anything about the DirectX or OpenGL APIs, as that's handled by OGRE's Render Systems, and on the forums you can also find that you can utilize native OpenGL/DirectX code to work inside an OGRE application, but I don't see any specific reason you'd need to do that, unless you're migrating from native code to a rendering engine.

As for your question about tessellation, and shaders - OGRE supports Cg, HLSL (DirectX), GLSL (OpenGL), and ASM shaders (I think), also a DirectX 11 render system is under development, it's usable but not fully complete.


There's a lot of cool stuff done with OGRE, and even more that are currently under development, check this forum, and this thread for a glance of what it can do, download the SDK, or source and compile the samples to get a hands-on experience of what OGRE is like.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!