4 answers
Asked
637 views
What type of software is used to develop all games?
#software-engineering #development #software-development
Login to comment
4 answers
Updated
Leo’s Answer
There is no single type of Software that is used to develop _all_ games.
Depending on the type of game, you're probably going to end up using a number of different tools:
* Development (Coding) software.
* Game Engine software.
* 3D modelling software.
* Art/Design software.
* Audio/Recording software.
* Motion Capture software.
* Animation software.
* Other...
Each category in turn has a number of possibilities. Like I said, depending on the type of game you may not need all of them.
For instance, development software is usually a combination of a compiler and an IDE. In this area, you'll probably going to see languages like C/C++, Python, HLSL, GLSL, etc and IDEs like Visual Studio, Eclipse, etc.
Game engine software also has a few options. There are a few companies that create game engines and then sell you the license to use their engine so that the process of creating your game is easier. There's the CryEngine, Unreal Engine, Unity, etc.
There's even more types of tools you might need (that's why I put the "Other" category). For instance, you may need to debug your game, so you'll have to capture traces to analyze later, RenderDoc and Pix are used for that. Then there's support tools you'll need too. For instance if you're writing a VR game, you'll most likely need some software that helps you talk to the headset, like SteamVR, or OpenXR. There's software layers that you may need to talk to the videocard, like DirectX, OpenGL or Vulkan.
So, really, it depends on what you want to do.
If you Google "Game Engines" you'll see a lot more information, take a look here, for instance:
https://gamedevacademy.org/best-game-engines/
Get more information about game engines like Unity, Unreal Engine and CryEngine
Depending on the type of game, you're probably going to end up using a number of different tools:
* Development (Coding) software.
* Game Engine software.
* 3D modelling software.
* Art/Design software.
* Audio/Recording software.
* Motion Capture software.
* Animation software.
* Other...
Each category in turn has a number of possibilities. Like I said, depending on the type of game you may not need all of them.
For instance, development software is usually a combination of a compiler and an IDE. In this area, you'll probably going to see languages like C/C++, Python, HLSL, GLSL, etc and IDEs like Visual Studio, Eclipse, etc.
Game engine software also has a few options. There are a few companies that create game engines and then sell you the license to use their engine so that the process of creating your game is easier. There's the CryEngine, Unreal Engine, Unity, etc.
There's even more types of tools you might need (that's why I put the "Other" category). For instance, you may need to debug your game, so you'll have to capture traces to analyze later, RenderDoc and Pix are used for that. Then there's support tools you'll need too. For instance if you're writing a VR game, you'll most likely need some software that helps you talk to the headset, like SteamVR, or OpenXR. There's software layers that you may need to talk to the videocard, like DirectX, OpenGL or Vulkan.
So, really, it depends on what you want to do.
If you Google "Game Engines" you'll see a lot more information, take a look here, for instance:
https://gamedevacademy.org/best-game-engines/
Leo recommends the following next steps:
Quite complete answer for this site. Like Leo said "Other" can contain more details based on the type of game you are writing. One that can be added is database software and there are so many out there that I am not going to list them all. Another will be web software if your game is a browser based game
Mickael Rosenberg
Updated
Mickael’s Answer
Short answer: Leo's first sentence: There is no single type of Software that is used to develop **all** games. Every game requires some tools depending on where it runs, its design and so on. Web browser games in html5 will require different tools than Flash games than Unity games for just citing the online games.
A games that must work on both Linux and Windows will have very different tools and language than one that will run on Play Station 4 . When you are targeting specific platform, you will usually use their Software Development Kit to better interact with the Operating System and Hardware (depending how much the Operating System abstracts the hardware). There have been games that bypassed the Operating System completely to go directly on the Graphical Power Unit (a.k.a the video card).
A games that must work on both Linux and Windows will have very different tools and language than one that will run on Play Station 4 . When you are targeting specific platform, you will usually use their Software Development Kit to better interact with the Operating System and Hardware (depending how much the Operating System abstracts the hardware). There have been games that bypassed the Operating System completely to go directly on the Graphical Power Unit (a.k.a the video card).
Updated
Hector’s Answer
Well, as Leo already said, there is no single software or computer language to develop all games, as it depends on which platform the game is executed.
It depends if the game is stand alone or network based. If the game is stand alone, then depending on the platform: Windows, Linux, Mac, etc, or a dedicated gaming device: XBox, Nintendo Switch, Playstation, etc, you may need to use the developer kit for that particular platform plus the IDE. Depending on the platform and the programming language some IDE are more used than others.
Then if the game is network based, then there are more complexities. You need the client software or a front end, as well as the business logic or backend. The programming language for each component will be different, as some languages are better for UI vs other languages are better for the backend. Also you may need databases to store all the game data for each player.
It depends if the game is stand alone or network based. If the game is stand alone, then depending on the platform: Windows, Linux, Mac, etc, or a dedicated gaming device: XBox, Nintendo Switch, Playstation, etc, you may need to use the developer kit for that particular platform plus the IDE. Depending on the platform and the programming language some IDE are more used than others.
Then if the game is network based, then there are more complexities. You need the client software or a front end, as well as the business logic or backend. The programming language for each component will be different, as some languages are better for UI vs other languages are better for the backend. Also you may need databases to store all the game data for each player.
Updated
Erik’s Answer
Leo's answer is spot on.
Depending on the platform (Windows/Mac/Linux, mobile, web, console, etc.) you will be using different languages and tools. Although many games are written in C/C++, there's also Python, JavaScript, and others. Is there a particular platform that you're interested in?
Depending on the platform (Windows/Mac/Linux, mobile, web, console, etc.) you will be using different languages and tools. Although many games are written in C/C++, there's also Python, JavaScript, and others. Is there a particular platform that you're interested in?