Sunday, August 2, 2009

What software and code is used to make professional games? Is it really C++?

I browsed on Y! answers for similar topics, and I heard a lot of people say that video games were made with C++. What the hell? How does this work? It takes forever to create even the simplest game with C++; ActionScript or Game Maker Language would take far less time. And what kind of program creates games? Surely they don't use Visual C++ or something like that! Is the software setup similar to Game Maker, where there is a library of graphics, sounds, code, objects, and rooms?

What software and code is used to make professional games? Is it really C++?
Simple games "take forever" because it's likely only you sitting at your screen cranking out code. Any significant project requires several man-hours of requirements analysis and architecture planning, and then you have to code it, and even worse, debug it. If you're talking about a "cool" game, this could take one person alone years. Many professional games are made with C++, but they are made by organizations of hundreds of (professional) people using engineering practices to minimize the amount of effort needed to create something so complex.
Reply:just a comment : my dad knows how to use the C++ thingie but he said that i am too young to learn how to use it. he only teaches me how to use the visual basic thingie. he showed me a super-simple game he made on C++ once and it took him 1 hour to make it so if u are new to things like that, u should start with something easier. EVEN my dad doesn't know much about C++. (my dad sells a program made on C++ in a program-selling site. he set the program's price to 30$ and only 1 person bought it ~_~ (the program is about astrology stuff))(but 1 more thing : U CAN MAKE A VIRTUAL PET GAME ON VISUAL BASIC ^_^ (just ask your parents to help u if u really want to make it. if your parent don't know ANYTHING about that, just yahoo/google search for some codes/info))
Reply:It's all about performance. The languages you are referring to are interpreted script languages. This means they run inherently slower than applications compiled to machine code by C++. Faster code means faster rendering times, better AI, more features, etc.





Also, script languages like ActionScript or tools like Game Maker have not been around for long relative to how long games have been around. Since C and C++ were known to have excellent performance and both were a (relatively) high-level language (making them both much easier to learn than assembly), early games were predominantly written in C and later C++.





Plenty of games have been written using tools such as Visual Basic, BlitzBasic, Game Maker, ActionScript, DarkBasic, Delphi, or one of dozens of other languages. However, none have been as entrenched as C or C++ mostly due to the history of the game industry.
Reply:Yes it's all C++, mostly it's based based on the random generator functions and you need C++ to do that.





Sorry I know it's a pain but that's just the way it works.
Reply:Yes, it's really C++. More specifically, they write their game engines in C++, and those usually include a macro or scripting language that allows them to manipulate game-level objects.





And yes, they do have libraries of graphics, rooms, sounds, etc. They make those, too. 3D models are, for example, build with a 3D design application and are then converted to the game engine's native format with a conversion tool (that the game development company usually writes), which often also performs animation transformations, etc.





When all is said and done, the elements are combined, the game engine starts, reads it's macro scripts and loads all object and game data, and off it goes.





You also forget that ActionScript and Game Maker are just scripting layers set on top of compiled engines, usually written in C++. Almost all desktop software in the Windows is written in either C, C++, or Visual Basic. C/C++ is preferred for things like video games because it is a good balance between hardware abstraction and performance.





And yes, it does take a long time to create game engines. That's why most small development companies usually start by licensing someone else's game engine and building their game with it. For example, the open-source Quake engine. Developing a new game engine can be a multi-million dollar undertaking.


No comments:

Post a Comment