Making a video game today is a vastly different experience from trying to do the same a few years ago. This is largely in due part to the introduction of game engines, but what exactly does that mean? A video game engine serves as a framework for creating almost everything that you would expect to be in your game. This includes things like animation, artificial intelligence, movement, physics, etc. These helpers can be broken down into five components: main game logic, graphics rendering, audio engine, physics engine, and AI.
The main game logic is going to be, as the title implies, the main component when creating your own game. This is going to be the part of the engine that helps you create things like player health and damage system. When creating core features, you must remember all of the events that must happen when certain conditions are met. These include things like, when a players health reaches 0, they should die, or if their character is in the air, pressing the jump button again shouldn't allow them to jump again, unless it was your intention to have a double jump.
Next most important is the graphics rendering component, which takes any visual assets you have made and make them quick and easy to implement. This includes pairing specific animations to player movement, battle systems, or any other types of animations, or simply setting a standard resolution. Most of the time this cuts down the amount of actual programming to a bare minimum.
Audio is something most will believe to be simple to implement, but it's quite the opposite. There can be a lot of synchronization one has to consider when adding audio to their game. Using a game engines audio offers a lot of extra features as well, specifically for 3D games, like surround sound or reflective sound. There are even systems for creating dynamic sounds that trigger on specific events like when entering into a more tense location.
Creating your own physics engine from scratch will take you as much time as creating the rest of your whole game if you aren't careful. After all, what goes up, must come down and making that happen in your virtual space is, most of the time, as easy as moving a few sliders. A good physics engine is often times good enough to make a game interesting on its own, so to be able to easily use one in your own game is very appealing.
Finally you have AI, or artificial intelligence. What good game doesn't have a challenge? That's a developers goal when using AI, to have a program that learns from a players actions and respond accordingly. This will force players to think about their actions before doing them, leading to more interesting gameplay, which makes a good game.
In conclusion, game engines are standard today in the gaming industry, and if you are interested in becoming a game developer it's extremely important to understand. Accessing a game engine today is also really easy, many of them being free! These include engines like Unit, Unreal Engine, and Game Engine Studio, which are responsible for games like Borderlands 2, Dishonored, and Street Fighter 5. So get out there and dip your toes, you never know, maybe you'll make the next Mario!