Development Diary of EVILEG - TD Strategy - 001

TD, TowerDefense, EVILEG, RTS

Finally got around to do what I wanted to try for a very long time. Namely, the development on the Unreal Engine 4. I will try to throw the site and highlight the evenings to finalize the site itself. But nevertheless I will try my hand at GameDev.

Several conditions came together at once:

  • The professional level in programming already allows you to quickly understand even unfamiliar libraries.
  • There is sufficient technical equipment and the ability to buy some devices.
  • Appeared free time and desire.

Well, now closer to the idea of the game. Personally, I prefer RPG games. But it seems to me that such a game is quite difficult to implement, at least in my view. Therefore, the first project will be a game in the style of Tower Defense, the only question is that the conceived game does not become a classic RTS. Although it may even be for the better?

First steps

Development and development of the project will be at the moment chaotic, without any far-reaching plan. That is, it will be a common hobby, as the site was originally for me, but it still remains.

Therefore, I will not write documentation for the future idea, although all adult Game Studios usually write dizdok. And I will solve minor tasks that in my opinion need to be solved at the moment, and I will talk about the results. I also think that the result of such research will be articles by Unreal Enigne 4 .

So, the result of four evenings of studying UE4 and Blender (Who does not know, this is a 3D modeling program that is a free analogue of 3DMax) has become:

  • Two prototype buildings:
    • Main building to be protected
    • Battle Tower, which will destroy opponents
  • RTS camera, which is responsible for moving around the map. It implements the following:
    • Camera movement left, right, forward, backward along the keys W, A, S, D
    • Zoom
    • Rotate with the mouse
  • Health bar over buildings and hiding it with the Alt key
  • Grid

I think that the camera is available in a separate article, as well as the Health Bar.

As for the chosen technology, I have so far focused on using BluePrints in UE4, and if optimization is needed, I will be writing classes in C ++. Well, or if I am very tired of the verbosity of BluePrints. In fact, indeed, some things in C ++ can be written in one clear line, which describes everything with the help of a block diagram.

Also, as I noted, BluePrints easily uses inheritance, which is good, because the same HealthBar can be added to the base class, while in other classes you can only adjust its location above objects, or under objects. This is for your taste.

Work done

Main building

One of the tasks at each level will be that it will be necessary to protect the main building so that the hordes cannot be destroyed by the enemy. Otherwise, the game will end. This building is a prototype and the final version will change. Moreover, it was my first full attempt to make a 3D model in Blender, as well as draw a texture for it.

Defensive tower

And here it was a little easier. I modeled the tower faster, and the texture worked in more detail. However, quite simple textures would be suitable for the prototype. But I wanted to try out the Wacom graphics tablet.

Health Bar

For him, I did not paint anything specially, although it is possible that it would be worth it. But this will be worked out much later, when the enemy’s model and combat logic will appear.


The grid you have already seen on the images above is the blue square under the cursor.


It has long been no rest. Sometimes a change of activity is required. And it seems I have found a way to distract even from the development of the site, although the site itself is a way for me to escape from the main work.

It turns out a funny situation.

  • The main work - development of a CAD system - using Qt/C ++
  • Site - hobby project - use Django/Python - rest from work
  • GameDev - a hobby project - using UE4/Blueprints/C++/Blender - rest from all other projects.

ВI ask, do I get into the thick of it? In general, time will tell?

Also, Friends, this is the first article in the development diaries section, and you can also talk about your projects on the EVILEG pages. And I hope that you will find your audience here that will support your initiatives!

Thank you for your attention to the project EVILEG !!!

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
Support the author Donate


Only authorized users can post comments.
Please, Log in or Sign up
Looking for a Job?
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

Sept. 18, 2019, 5:19 p.m.

C++ - Test 002. Constants

  • Result:33points,
  • Rating points-10
Sept. 18, 2019, 5:12 p.m.

C++ - Test 001. The first program and data types

  • Result:80points,
  • Rating points4
Sept. 18, 2019, 7:34 a.m.

C++ - Test 001. The first program and data types

  • Result:33points,
  • Rating points-10
Last comments
Sept. 20, 2019, 11:25 a.m.

вызываю метод get у m_downloader в другом методе и приложение начинает вылетать. В чем ошибка?
Sept. 19, 2019, 5:45 a.m.

А вот как выгрузить файл на сервер по http протоколу? Допустим на regRu. И как получить путь файла, которой отображается в файловом менеджере regRu, чтобы загрузить его.
Sept. 17, 2019, 6:07 a.m.
Misha Lebedev

Кстати интересные темы нашёл тут Может что полезного тоже Евгений найдёте
Sept. 17, 2019, 4:50 a.m.
Misha Lebedev

Доброго времени суток. Спасибо за хороший ответ, У меня ситуация така что в галлереи будет несколько миллионов фотографий с фильтрами и тегами , и я опасаюсь за производительност . Это ос…
Sept. 17, 2019, 3:23 a.m.
Evgenij Legotskoj

Добрый день. Да, я тоже читал ту статью в своё время и согласен с тем, что внешние ключи гораздо лучше, чем GenericForeignKey. Выборки в ряде случае работают быстрее. Но лично мне про…
Now discuss on the forum
Sept. 20, 2019, 4:56 a.m.
Pavel K.

Привет , подскажите кто-нибудь , как сделать драг н дроп , не нарушая при этом логику работы зума? import QtQuick 2.6 import QtGraphicalEffects 1.0 Page { id:win property string fi…
Sept. 19, 2019, 8:03 a.m.

Скопировал базу в папку пользователей и тогда получилось записывать в нее
Sept. 19, 2019, 5:32 a.m.

Но мне же нужно еще получить этот id и вернуть его пользователю, а при таком запросе ничего не вернется.
Sept. 18, 2019, 5:35 p.m.

Понятно Тогда можно ли достать только параметры файла? Например только дату его изменения
Sept. 17, 2019, 5:02 a.m.

Да, действительно нужно дебажить, по другому не словить исключение. Уже решил проблему, был выход за предел массива, не правильные входные данные, так что всегда проверяйте размер массива.
© EVILEG 2015-2019
Recommend hosting TIMEWEB