Table of contents
Both large companies and small game development studios often use UNITY in their work. In fact, this is not even an engine, but a ready-made environment designed for the development of computer toys. As part of this software environment, various software products are assembled, for example, a debugger, a compiler, which will be required to create toys.
UNITY, can run more than twenty operating systems, ease of use, all this allows game masters to create applications for a wide range of operating systems and gaming platforms, thereby expanding the circle of players.
Firstly, the Unity3D engine provides the ability to develop game programs without special knowledge.
This environment uses a component-oriented approach, with its help the game developer can create an object, for example, the main character. In addition, he can add different elements. This can be an image of the main character and methods of controlling it.
UNITY3D uses a Drag & Drop interface, a functionally developed graphical editor, a programmer can create maps, place objects in predetermined places and immediately check the result.
Secondly, one of the indisputable advantages of UNITY3D is that it is equipped with a large library of assets and plug-ins that can significantly speed up the development of a game program. The programmer can import and export them, embed ready-made blanks - levels, heroes, enemies. Some assets can be obtained for free, some can be purchased for quite a symbolic price.
Thirdly, Unity 3D is supported by a large number of platforms, APIs, etc. Games created in this environment can be easily transferred from OS Windows to Linux and game consoles such as PlayStation, Xbox, Nintendo. Unity 3D can work with DirectX and OpenGL.
UNITY3D allows you to create complex animations. Collisions between game objects.
Some users are genuinely convinced that UNITY3D can be used for fairly simple indie-type gaming programs. You can verify this by looking at the demo of The Blacksmith and Book of the Dead.
Ultimately UNITY3D is available for free and opens the door to the gaming industry. Undoubtedly, there are some limitations, in particular, the free version shows the UNITY3D logo to the player. A product produced with its help should not bring developers more than $100,000 per year.
It's worth noting that subscription rates won't bankrupt a rookie team - the pro version can be purchased for $125 per month. It is important to remember that the basic version has the same features as the professional one.
What are the problems with UNITY3D
For all its positives and strengths, UNITY3D also has its weaknesses.
Let's list them:
- If developers are developing complex software products, then most likely they will need a highly professional C # specialist. His task will be to write scripts and implement them into the product.
- The next weakness is slowness. The formation of complex game scenes can have a negative impact on the effectiveness of the product. As a result, developers must bear the cost of both time and resources to improve individual elements, and possibly remove them.
- Products developed on UNITY3D are distinguished by a large "weight", even a simple game can take up several hundred megabytes of space. If this is not so important for a desktop computer, but if the product is being prepared for mobile devices, then developers should pay attention to optimizing its volume.
Who is UNITY3D primarily for?
Based on the foregoing, it is quite acceptable to draw a simple conclusion - UNITY3D is the best solution for beginner developers. On the one hand, they are not satisfied with the functionality of simpler packages, for example, RPG Maker. On the other hand, they do not want to bear the cost of acquiring more advanced and correspondingly expensive engines.
UNITY3D provides the ability to quickly form objects, set them in place, build links between them, use content of our own design or third-party elements.
Beginning developers will be able to solve a problem of any complexity using official and unofficial information resources available on the world wide web.
Large companies will find certain advantages in UNITY3D. So, the potential of this environment allows you to create large-scale products, such as Firewatch, Inside, Superhot or complex browser games.
In any case, UNITY3D provides a wide range of functionality for developing high quality products.
To get a quality product on UNITY3D latest versions, in particular 2019.2, you will need a personal computer with the following properties:
Windows 7 operating system and older, including 64-bit versions.
In total, UNITY3D can be used to create applications on more than 20 OS, including macOS 10.12+. It should be noted that versions for operation on servers have not been tested.
The processor must support the SSE2 instruction set.
Your computer must have a graphics card that supports DX10.
UNREAL Engine is the basic set of software used to support the creation of a computer game.
This engine is developed and supported by Epic Games. It was this engine that became the basis for creating the legendary first-person shooter Unreal.
When creating this engine, it was assumed that it would be used to create similar toys, but over time, later versions began to be used to develop games of other genres, including multiplayer.
Not so long ago, this product was replicated on the condition of paying a monthly subscription.
Starting in 2015, the product is replicated free of charge, but users must deduct 5% of the profits from the sale of their products to it.
UNREAL Engine Elements
All parts of the engine elements are divided into objects that have certain parameters and a class that defines some characteristics. The class is a child class - object. Of the main classes and objects, the following are distinguished:
ACTOR is a class that contains objects related to gameplay and associated with spatial credits.
Pawn is a model of a player or an object that is controlled by artificial intelligence. Control method. The control technique is described using a special object called a controller. It should be noted that the controller controls such a parameter as the amount of damage received, after which the pawn stops functioning, or the distance at which it can pay attention to the sounds created for each department separately.
To work with stationary parts of the playing space, such a division is used, in which the space is divided into filled and empty. The list of objects looks impressive and requires detailed study.
Game engines specialize within a certain style of computer game.
It should be noted that the engine created for a two-dimensional boxing match will be radically different from the one used to create strategies. But despite the differences, all engines have some common parts. In particular, all 3D games, regardless of play style, require user interaction with peripherals to affect a certain form of 3D rendering.
Historical shooters are among the most technologically complex. This is due to the fact that these games should present the user with the most complete illusion of the environment.
Unity or Unreal? What to choose?
First of all, you need to understand what game programs the engine will be used for. In principle, both engines are able to cope with any of the tasks, in one case Unity can be the optimal solution, in the other Unreal.
Let's just say that if you want to deal with applications for mobile devices, then Unity is indispensable. Unity is great at creating 2D game programs.
But lately, Unreal has been making promises to developers when building apps for mobile devices.
If we're talking about 3D game development, Unity is a pretty powerful tool for creating 3D games. Its graphics are nothing compared to what Unreal provides. By the way, the best solution would be to use Unreal when using next-gen graphics.
Number of assets
Each engine has its own asset store. That is, the user, using the capabilities of these stores, can use ready-made objects and this can significantly speed up the development of the product.
Both systems are considered shareware, for example, the maximum version of Unreal will be free for users until the moment when the income received from the developer's products does not exceed $ 300,000 per year, after exceeding this limit, the developer will have to share 5% of their income.
Unity3d is a little more complicated, if the developer's income is less than $100,000 per year, then the free version is allowed, but it does not have all the functionality.
For the professional version, you will have to pay $1,500 or purchase a license for $75 per month.
But if developers are busy developing mobile applications, then they will need to pay for a license for iOS or for Android.
Probably, there is no clear answer to the question of which is better. It all depends on the tasks that will be solved with the help of these engines and, of course, on the preferences of the developers.