The Code to Blogging 0.3
Tags: beginners, devops, codenewbie
Published: 2020-03-10 22:00:20

I’ve loved video games all my life and wondered, “Which programming languages/support programs are used to develop games?” The short answer is:


-C++
-C#
-Haxe
-Java
-HTML5
-JavaScript
-Lua
-Python


These are some of the most relevant coding languages in the article “Programming Languages for Game Design” (link: https://www.gamedesigning.org/career/programming-languages/). Interestingly enough, It appears that the need for a strict gaming code language is what would be most helpful for game developers; that being mentioned, therein lies the gaming engines that help ease the process of video game production. 

There are dozens of video game engines and many of these video game engines cater to specifics of what that developer wishes to accomplish with their video game--2d, 3d, gameplay style, etc. Some of these engines include:

-Unity
-GameMaker Studio
-Godot
-CryEngine 3
-Frostbite

Moreover, some of these engines you may have heard of such as Frostbite which has helped developed some of the world’s favorite like Fifa, Battlefield, and Madden. Other engines such as the CryEngine include popular games like “Hunt: Showdown”, “Crysis trilogy”, and “Farcry”. It’s absolutely wild for me to think about all the organization, relationships, tools, and so much more that has gone into supporting software development.

Lets go ahead a break down what a game engine does for game developers and how it works. First, the theory behind a game engine is to help provide necessary tools and features in efforts to build games quickly and efficiently. These developers then are able to apply other software assets to this engine in order to modify art, audio, performance, animations, etc.

Graphics: Modern game engines can power stunning graphics and help facilitate the production, as well as importing assets from different platforms, so that developers don’t have to wait a long period of time with every import. Overall, game engines can provide users with architecture with overall high performance rendering capabilities, and with access to fast graphics API, so users can enable the greatest visual fidelity.

Audio: Users can choose to design their own sound from scratch, starting with the musical composition, sound effects, voice acting, and ending with post-production. Users can also choose to purchase a sound assets from asset-focused platforms that can be combined and mixed in various ways. Game engines can help users organize their sound composition that suits their vision.

Networking: On-line gaming has become a high point for video games and require networking capabilities. Gaming engines have workflows built into them in order to optimize however the developer needs for online and multiplayer.

Physics: The physics system in a game engine provides users with the components that handle physical simulation. Game engines enable users to create objects that can behave in a realistic way with just a few lines of code.

Graphical user interfaces (GUI): Most games have their own GUI that fits the games theme and art direction. That’s why a lot of game engines provided creators with tools to build their own graphics user interface, such as buttons and drop-down menus, etc.

Scripting: A crucial part of game engines is represented by scripts which developers can use to define the logic of our game components by adding behaviors. WIth pre-build scripts, a solution provided by some game engines, users can easily control the camera, the relationship between your game elements, and the animation system which can be used to control character animations.

https://unity3d.com/what-is-a-game-engine
	
Overall, game engines are giant software developing tools created to help develop video games. I hope you found this lightly insightful and one day get to explore the uses of game engines.