What language or book?

Posted on 2005-03-16
Medium Priority
Last Modified: 2013-12-26
I am a total newbie to game programming but am interested in the 3D games such as "SIMMS".  What language is the best to start in?  C++?  .Net?  I realize that "SIMMS" may be using more than one language but I would like to select a language that gives me the most flexibility.

With the language selected, what developer tool should I use?  MS Visual C++?   MS Visual Studio .Net?

What is a great book for someone who has never done this type of programming?

ANY comments are welcome.

Thank you,

Question by:HAMMER33333
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2

Expert Comment

ID: 13596717
As far as your choice of language, it depends what you are confortable with.  You also have to weigh the fact that you're learning and don't want to be discouraged from a difficult language.  You arent going to publish an award winning game the first time, so your best bet is to choose a project with goals that are obtainable, and a language you can learn so you don't find that its too difficult and give up.  

With .NET (C# or VB) you can get almost the same power you'd get out of C++, but with a much easier learning curve, so I'd suggest one of the .NET languages.  C# seems to be more popular for game apps, but when it comes down to nuts and bolts, they are almost identical.  Managed DirectX also makes it much easier to understand than the C++ API.  

As far as books, there are lots of them out there with good examples.  You want a book that takes into consideration you're new to programming as well as new to game writing.  Its a difficult task to learn both at once, but you can do it.  :)  As far as VB.NET goes, there is a book out there from Apress called "Learn VB .NET Through Game Programming".  I own it, and it takes the approach of teaching programming and object oriented technologies through developing games.  Its worth checking out.  

<A href="http://www.amazon.com/exec/obidos/tg/detail/-/1590591143/002-8823830-9494409?v=glance">Here's a link to it on Amazon.</a>

Good luck with your project!

Author Comment

ID: 13602684

         I found a post in here that talked about C++ and using OpenGL.  It also referenced a book.  I have programmed in C and C++ before and am now working in .Net.  My question is:

          Is it better to use C++ and OpenGL for games rather than using .Net which mandates that you have the Framework loaded?   If .Net comes with many great features and is easier for game programming then that is the one I want.  It just seems to me that C++ and OpenGL would work better because it does not have so many layers, however maybe .Net has a ton of already built modules that you have to build by hand in C++.  I am really a newbie to this practice.

Let me know what you think,
Thanks again,



Accepted Solution

gregspence earned 2000 total points
ID: 13602817
C++ is more widely used in game programming because its going to have higher performance than .NET languages.  If you're writing an MMO, you'd definately want to look at C++ on the backend where you're concerned with raw speed.  The advantage to the .NET languages are the speed in which you can do many things.  However, if you're already familiar with C++, that probably wont be an issue.

As far as OpenGL vs DirectX, this is something thats widely argued, and there are as many opinions as their are develoepers.  OpenGL tends to be the standard in higher performance games like Unreal, Quake, etc.  However, DirectX drivers seem to be more available across the range of video cards.  Many budget and low end cards may not have OpenGL drivers.  So if you are going for the largest audience, I'd suggest DirectX.  Better yet, design your client so that it will support both, but thats an even more advanced topic.  You can also check out many of the Open Source Rendering engines out there like OGRE or Axiom if you want them to handle all the dirty work for you.

DevMaster.Net has a great resouce for finding out about rendering engines and game development kits.  They will also specify what languages they support should you make up your mind between C++ or .NET.


I have to admin that .NET and Managed DirectX is the choice for me based on my current knowledge of game programming.  I'd love to write it in C++, but learning that language, coupled with learning DirectX, game physics, game architecture, etc is too much to bite off at once.  So for now I'm writing in .NET and concentrating on game development basics.  When I'm more familiary with game architecture, I'll tackle another language.  :)

Author Comment

ID: 13602981
Thanks for the info Greg!


Featured Post

Moving data to the cloud? Find out if you’re ready

Before moving to the cloud, it is important to carefully define your db needs, plan for the migration & understand prod. environment. This wp explains how to define what you need from a cloud provider, plan for the migration & what putting a cloud solution into practice entails.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

As game developers, we quickly learn that Artificial Intelligence (AI) doesn’t need to be so tough.  To reference Space Ghost: “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer. (http://www.youtu…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Suggested Courses

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question