-2
\$\begingroup\$

I have never done any sort of game development in my life, the only time i have looked into it is with Cocos 2D for iPhone apps, i saw the effort involved just to get a half decent map game with one png character walking around. Could someone summarise the programming languages and graphic packages someone would use to make a game on the scale of something like Halo or Call of Duty!? I wouldnt even know where to begin...!?

EDIT:

Just to clarify i'm not even dreaming of making the next Call of Duty or Halo i was just curious about what goes into it!

\$\endgroup\$
4
  • \$\begingroup\$ If you did want to get started learning how to put together a game like that yourself, you might check out Ogre 3D on one end, or making a mod for a game on the game logic end. \$\endgroup\$
    – JAL
    Nov 27, 2010 at 18:09
  • 5
    \$\begingroup\$ Sooo... Halo of Duty? \$\endgroup\$ Nov 28, 2010 at 20:21
  • \$\begingroup\$ Imagine! What a game... \$\endgroup\$ Nov 28, 2010 at 20:22
  • \$\begingroup\$ Interesting to see how times chance. Most of the answers immediately went to the cost of Game Engine... which is these days not a huge problem anymore (while expensive at scale, anyone can pick up uUnity/unreal etc and start working with it). \$\endgroup\$
    – NPSF3000
    Sep 12, 2017 at 15:42

4 Answers 4

9
\$\begingroup\$

In summary:

  1. Spend tens, if not hundreds of thousands of dollars (if not more) buying the rights to use an existing game engine, songs and sounds for a sound track, and art assets.
  2. Spend hundreds, if not thousands of man-hours developing a game using said engine, as well as developing music, sound and art assets not secured in point 1.
  3. ????
  4. Profit

In detail:

C++ using OpenGL is a popular choice for cross-platform stuff; C# and DirectX is a popular choice for games targeted specifically for windows or XBox platforms. PS3 and Wii have their own methodologies; I'm not familiar with PS3; but I know Wii is similar to GameCube; which in turn is similar to OpenGL. Most stuff outside of the sphere of "Microsoft Platforms Exclusively" is done in C++.

Edit; to clarify: What you really need with a project of that scale is a near-unlimited amount of man-hours to throw at it.

\$\endgroup\$
2
  • 13
    \$\begingroup\$ 1. Try millions... \$\endgroup\$
    – Tor Valamo
    Nov 27, 2010 at 5:41
  • \$\begingroup\$ Yes, professional game developers that want to take over the world before I do (Bungie) can spend millions on a game (Halo). All the salaries of programmers, artists, musicians, testers, etc would be huge. Imagine that the average salary is $35k/year, and there's about 30 developers (probably more, really), and they work for 2 years on a game. $35k/year x 30 x 2 years is $2.1 million... And that's only the developers. What about the advertisements, that Halo Reach thing that was going around in major cities, etc? That's another million. \$\endgroup\$ Nov 29, 2010 at 20:23
7
\$\begingroup\$

Could someone summarise the programming languages and graphic packages someone would use to make a game on the scale of something like Halo or Call of Duty!?

One important thing to remember is that software development is not a production line where you feed stuff into a program or tool and get a game out of the other side. It's a constant construction and modification process where a team of people are continually adding more and more to the software and refining the behaviour until it finally does something close to what they hoped for. It's important to realise this because some people think that they could make these AAA games themselves if only they had the correct program for it - but the programs are only the tools. You still need the team of experienced and knowledgeable craftsmen to work those tools and there's no getting around that.

But, you asked about the tools. There are very few standard tools, which might be surprising:

  • Microsoft Visual C++, or some other C++ compiler if the platform requires it. Programmers use this to write the game logic. I'm not going to claim that you need to use the C++ language to make a AAA game these days, but for the most part, that is what is chosen. Much of that is because the 'knowledgeable craftsmen' I mentioned above have this as their language of choice, but probably more of it is because the AAA development studios have a large body of existing C++ code that they need to reuse to have any chance of making large games in short timescales.
  • Adobe Photoshop. This is pretty much the be-all and end-all of 2D graphics. There are other, more creative tools artists may use, but they'll probably still need Photoshop anyway.
  • 3DS Max or Maya. These are advanced 3D modelling tools that allow you to construct characters, vehicles, environments, etc. Artists work with this to sculpt the visuals for the game.

Beyond that, you'll probably have a game engine. This is not necessarily an off-the-shelf piece of software like Unity, Unreal, or the latest Id Tech engine, but basically refers to whatever lump of code you have at your disposal that has been used to previously make a game and which can be re-purposed to make your future game. Often it's a bit of a hybrid, as you might have licensed some 3rd party code for certain features but written much of your own around it. If you haven't done a big game before, this is where you have to make some choices about what external code to bring in, otherwise you'll spend far too much of your time developing technology and not much on the actual game.

There are various bespoke tools that sometimes come with specific game engines, or which are developed in-house. Level editors, particle effect viewers, archive creation tools, conversation tree designers, etc etc. All depends on what sort of games you make, what engine you're using, and whether you got around to making these tools in the past or whether you just stuck with hand-editing text files...

If all this sounds sadly vague then unfortunately that is the nature of the beast. There is no magical tool to automatically make AAA games (although UDK and Unity are getting close!) but there is a lot of experience in doing it, and a lot of prior code used for the purpose. Today's massive games are built on the games of 5 years ago. And they were built on the games of 10 years ago. And so on. But the good news is that going from small games to big games is just a series of incremental steps - as you understand the procedures better, the route to the top becomes a lot clearer.

\$\endgroup\$
3
\$\begingroup\$

For Call Of Duty, it uses an OpenGL-engine powered by either C or C++. There are a number of free 3d engines available, but most AAA game companies either create their own or buy one, which is very, very expensive. Then you would have to hire coders to make the game unique, and hundreds of artists to make all the graphics. Don't forget about the story, multiplayer level designer, etc. Call Of Duty: Black Ops was produced in two years (with an already functioning engine) with about 250 employees working full time. If you think about it, you better have a lot of skill and a lot of money to make a game like that.

\$\endgroup\$
11
  • 3
    \$\begingroup\$ Call of Duty uses DirectX on Xbox 360 and PC, and custom platform APIs elsewhere. \$\endgroup\$
    – user744
    Nov 26, 2010 at 23:30
  • \$\begingroup\$ I always assumed the IWEngine used OpenGL-based engine everywhere. I forgot about the Microsoft platforms. However, since IWEngine is based off idTech 3, doesn't it run on OpenGL on PC? \$\endgroup\$
    – DMan
    Nov 27, 2010 at 0:25
  • \$\begingroup\$ I've always heard that almost all AAA games run on DirectX on Windows. \$\endgroup\$ Nov 27, 2010 at 18:13
  • \$\begingroup\$ @The Communist Duck - I've confirmed that MW2/Black Ops both run on DirectX on Windows. It just seems a little counter-intuitive to me since IWEngine is based off of idTech 3, an OpenGL engine. I guess they just directly ported an Xbox version back to PC. \$\endgroup\$
    – DMan
    Nov 27, 2010 at 18:34
  • 2
    \$\begingroup\$ id Tech 3 is 11 years old. That means it predates programmable graphics pipelines, skeletal animation, and modern shadowing techniques. I'd be surprised if much of it remains in IWEngine. \$\endgroup\$
    – user744
    Nov 28, 2010 at 16:15
-5
\$\begingroup\$

You can always use blender to make it. It will program it for you. The only programming you have to do is binding the things together. That uses like they said C#, C, or C++. If you want blender go to blender3d.org . Your welcome. You should see what people did in blender. You can deferentially make Halo or COD in it. If you don't want to do any work they have a demo that basically covers COD.

\$\endgroup\$
2
  • \$\begingroup\$ Hi, welcome to GDSE. You don't need to add signatures to your posts here, as every post is automatically signed with your name and avatar. Jim has edited yours out -- for more information, check out the FAQ. \$\endgroup\$
    – user1430
    Mar 8, 2012 at 6:54
  • 2
    \$\begingroup\$ -1. This answer is so full of false information, it can only be a troll-post. \$\endgroup\$
    – bummzack
    Mar 8, 2012 at 7:13

Not the answer you're looking for? Browse other questions tagged .