Since this is a development blog, I will talk quite a bit about technical issues.
Game development began from the choice of a game engine. I didn’t use any engines before and I had no idea how they work. After reading several overviews of game engines, I realized that now the most popular are Unity and Unreal Engine.The main difference between these engines is that Unreal is completely based on the C++ programming language, and Unity, although written in C++ itself, uses the C# language for user code and scripts. I programmed in both languages before, but much more in C#. The first part of the game is 95% implemented in C# and only 5% in C++. I also looked the list of games developed on these engines and noticed that games created with the Unreal Engine look more beautiful and modern. Also in the list of Unreal games there are many really big and high-quality AAA projects, such as ARK, Fortnite, PUBG, Batman, Gears of War, Street Fighter, Tekken, Warhammer and other.
Therefore, initially I chose Unreal Engine for Force of Nature 2. It seemed to me that Unreal is for good and high-quality games, and Unity is for beginners.
Unreal engine
It is very good that modern engines use such a financial model that you can start using them absolutely for free.
I spent a month and a half learning the basics of the engine and creating a test project. It is really easy to achieve beautiful graphics in it. The just created project has by default good settings for graphics, lighting and high-quality screen effects. It makes almost any scene look good. In addition, the engine by default offers a number of beautiful particle effects, such as fire, smoke, sparks and explosions. A good shader is also included for grass and plants, giving the vegetation nice wind animation.
Then I went into programming script and map generation. It turned out that writing your own code for Unreal is very inconvenient. C++ is a very powerful language, but the mechanisms it uses for integrating with external development environment are outdated. But it is precisely the interaction of user code with the engine that takes up the bulk of programming. You have to constantly decorate your code with macros, which greatly reduces its readability. Unreal Engine uses its own garbage collection, which is not provided by the C++ language itself. This requires the developer to use special arrays and lists. As the result you are not using pure C++, but a modification of the language - Unreal C++, which has lots of features and nuances that you need to know and understand.
I was also surprised that the standard terrain tool does not support real-time creation and modification from code. It was a big problem for me, because my
game uses procedural level generation. Of course, Unreal provides complete freedom to create your own tools, and you can make your own terrain with blackjack and ho with all the necessary functions. And you can also get used to the
language. But I decided to spend another month and a half and figure out the Unity engine.
Write a comment
JW (Sunday, 11 August 2019 00:03)
I enjoyed FON 1, despite some of it's shortcomings. I'm really looking forward to your new FON 2 with all the upgrades and changes.
AvillivA@i.ua (Monday, 12 August 2019 15:46)
У меня преобретена ваша первая версия игры и для меня приятно слышать что новая часть будет реализована на движке именно Анриловском, спасибо вам за ваши старания. Ожидаю выхода игры!)
RT (Friday, 16 August 2019 08:37)
Hey, me and my friend bought Force Of Nature and had a lot of fun on it, crafting new tools and finding new resources to defend ourselves from the goblins and bears. we even made a walled off town with various houses only to find that npcs and villagers didn't exist. this made us kinda sad but I am really looking forward to the updates for the new Force Of Nature game!
Dave (Wednesday, 21 August 2019 03:46)
Oh God,
Please let there be terrain with blackjack and hookers in FoN 2!!!
Just want to throw some love your way Artem! I adored the first game, and still go back to it often. I'm very excited for this new project. Thanks for all the hard work!!