What Is A Game Engine On General?
So what is a game engine? A game engine is a software (library) that provides game creators tools & features they need to create a game efficiently. Powerful engines like Unreal engine, Cryengine and Unity are examples of great tools that will make games bigger and better.
You can refer to a game engine as the framework for building and creating video games. It gives you the features starting from animation to AI. Game engine is the one that is responsible for core game development area, such as graphics, audio, logic, physics etc.
Sometimes people confuses a game engine as a whole game. It’s like confusing a car engine as a whole car. A car engine is what makes a car run, but a car is a whole representation of its engine and body (visual look). This concept goes the same for games and game engine.
A game engine is oftenly reusable for creating other different games. As I mention before, you can imagine a game engine as an engine of a car. Just take the engine of one car and put it into the body of another to create a brand new car.
Fortunately game engine doesn’t do all the hardwork by itself, game developers usually import art and assets whether its 2d or 3d for the game development from another software (rendering software). Most popular rendering software are Maya, Blender, 3s Max, and Photoshop. Therefore, With the help of these rendering sofwares, the game engine can assemble those assets into a human, animal, plants, scenery or even the whole environment. Finally, Combined with some intense graphics you can make a pretty decent game out of these game engine.
What Are The Components Of A Game Engine
Based on Wikipedia, average game engines contain these components :
- Main game program: The actual game logic.
- Rendering engine: Renders images and game visual.
- Audio engine: Output sound to the player’s speaker.
- Physics: Emulating the laws of physics inside the game.
- AI (Artificial Intelligence)
The programming language that I specialize in is Java, because I think Java programming language is more universal and of course because I like it regardless of any reason.