3D - 2

What should I use to develop 3D games?

I would like to know, what technologies are used to make 3D games. I know Java, C and C++ and I would like to develop games. I know that games like Age of Empires of Call of Duty can't be made alone but I would like to know what all do they use to make those games. Thank You.

Public Comments

  1. use the Unreal Engine is awesome http://www.unrealengine.com/ or you can also use unity http://unity3d.com/ good 3d engines that can be used free with limited use of course.
  2. Ogre3D http://www.ogre3d.org/
  3. Realistically you can use any of these languages to make those games. Running solely off of the timeframe, Age of Empires was either coded in c or C++ because java did not enjoy the widespread popularity that it does now in the late 90's. COD could be made using any combination of languages from java to c / c++. Java will ALWAYS be easier to create LARGE projects in due to the automatic garbage collection, whereas there is a markable increase in performance in c / c++ in very large projects. As for what you should use: http://www.unrealengine.com/ http://www.ogre3d.org/ -- open source http://www.panda3d.org/ -- free http://unity3d.com/ -- Pretty easy to learn.
  4. 3D Modelling Sofftware like Cinema 4D and 3DS Max they also may use Photoshop for textures
  5. I feel the need to correct a few things mentioned by others but preface this with a disclaimer that I am not trying to attack anyone. Java is OK for 2D games but for 3D games its API is very restrictive and the language itself is too restricted to be able to use practically. Java does have garbage collection and many things that make developing large projects easy but for Games those things are a hindrance. Nowhere more than any other area of programmer is efficiency more important. The majority of modern Games are built in C++. Many older Games are also built in C++. The main reason C++ is used and is popular for developing Games is specifically because it is a bare bones language - in that you the programmer have an incredible amount of responsibility to create efficient and well behaved code. You have to build many things when developing a Game from scratch including a memory management system, an event system a rendering engine, a scripting engine if needed and resource managers for resource files such as sound clips, 3D Meshes and other bits and pieces. The in-built provisions in Java are incredibly bulky and in terms of Game performance they are incredibly slow. Java is not sued for 3D Games much. Likewise C is not used much because the amount you would have to code would increase tenfold over the work load of C++. C++ is the healthy middle ground. It is a full featured programming language. Many libraries exist that take care of some of the functions you will need, most notably are DirectX for Windows only Games and OpenGL for Windows Games and Cross Platform games. The former is proprietary and the latter is free and open hence the name Open Graphics Library (OpenGL). Others have mentioned Game Engines. These are pre-existing Game Engines that have almost all of the work mentioned above, done for you and in an efficient manner. Pre-existing engines are the main weapon of choice for amateur Game designers and for those who want to gain a deeper understanding of Game Engine Architecture. They would form a great starting point for you. If you are worried that the enormity of a Game Engine might be something that you don't want to confront and would rather build your own I can tell you now that you could study and come to understand the existing engine in a quarter of the time or less that it would take you to build a Game Engine The other option for languages is C# which is essentially a Microsoft implementation of Java but without the code being executed in a Virtual Machine - this difference is crucial in game design and is the only reason C# can be used for developing Games while still having all the burdens and bulk of Java. C# is mainly used for the Windows Platform and its sister platforms on Xbox 360, Phone and Zune devices. So I would recommend C++. I would also recommend you read this book [1] Game Coding Complete, by Mike McShaffry
  6. Most professional games are done on networks, but if you just want to write games, you should have a compiler with a debugger, a high-end paint program for rendering textures and/or sprites, a profiler to chart memory use. If you are using GCC then an IDE is definitely optional -- you could compile your programs using make, which with makefiles handle projects, and debug it with gdb. Their gprof utility is probably not good enough. But while -- if you are more comfortable with an IDE or are not using GCC I would get an IDE I would definitely get a separate memory profiler. Games can take up a surprising amount of memory. Of course if you are doing this on your own, C++/C whatever is usually used to make the game engine, and the game itself runs on top of that. Blender has a game engine you can use -- the animation program -- which allows you to devote more time to game play and graphics (which are murder period). There are several out there. But all you NEED are a compiler a profiler a debugger -- and a paint program for textures.
Powered by Yahoo! Answers