This media is not supported in your browser
      VIEW IN TELEGRAM
    This media is not supported in your browser
      VIEW IN TELEGRAM
    This media is not supported in your browser
      VIEW IN TELEGRAM
    This media is not supported in your browser
      VIEW IN TELEGRAM
    This media is not supported in your browser
      VIEW IN TELEGRAM
    This media is not supported in your browser
      VIEW IN TELEGRAM
    This media is not supported in your browser
      VIEW IN TELEGRAM
    
Dynamics Lab выкатили Mirage2 — вторую версию ИИ движка для создания генеративных миров в реальном времени В новой версии (первая была буквально месяц назад) имеется возможность загружать собственные изображения, по которым генерируется мир
Попробовать можно по ссылке ниже (сервера могут быть перегружены — придётся подождать)
#gamedev #games #ai #mirage #lifeexe #lifeexecode
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥15 6❤4 2 2🦄1
  В эфире рубрика выходного дня: Воскресный C++
Numeric limits в стандарте C++ и в Unreal Engine
На Boosty и Patreon расширенная статья с множеством интерактивных примеров в Compiler Explorer
std::numeric_limits в C++ — это стандартный шаблонный класс, который предоставляет информацию о свойствах числовых типов, например:infinity, quiet_NaN, signaling_NaN и другие.Полная спецификация на cppreference.com
Простейший пример использования:
#include <limits>
#include <print> // C++23
int main()
{
std::println("Max int: {}", std::numeric_limits<int>::max());
std::println("Min double: {}", std::numeric_limits<double>::min());
std::println("Lowest float: {}", std::numeric_limits<float>::lowest());
std::println("Double epsilon: {}", std::numeric_limits<double>::epsilon());
return EXIT_SUCCESS;
}
Ключевые особенности
Безопасность
Вместо «магических чисел» (например,
2147483647 для int), вы используете std::numeric_limits<int>::max(). В итоге код становится более читаемым и переносимым (платформонезависимым).Портируемость
int, float, double, uint64_t, а также с пользовательскими числовыми типами, если для них существует специализация шаблона numeric_limits .Чистота кода
Когда реально нужен
NaN.В Unreal Engine имеется собственный шаблон
TNumericLimits<T> — это аналог std::numeric_limits, реализованный в движке. Заголовочный файл находится по адресу:
Runtime/Core/Public/Limits.hПрименение абсолютно аналогичное, как и в стандартном C++:
#include "Math/NumericLimits.h"
#include "Logging/StructuredLog.h"
DEFINE_LOG_CATEGORY_STATIC(LogNumLimitsTest, All, All);
void NumLimitsTest()
{
const int32 MaxInt = TNumericLimits<int32>::Max();
const int32 MinInt = TNumericLimits<int32>::Min();
const float MaxFloat = TNumericLimits<float>::Max();
const float MinFloat = TNumericLimits<float>::Min();
UE_LOGFMT(LogNumLimitsTest, Display, "Int32: Min={0}, Max={1}", MinInt, MaxInt);
UE_LOGFMT(LogNumLimitsTest, Display, "Float: Min={0}, Max={1}", MinFloat, MaxFloat);
}
std::numeric_limits — читаем раздел Use of standard libraries. Поэтому можно выбирать любой подходящий под вашу конкретную ситуацию шаблон.Всем чистого кода
Patreon | Boosty | PayPal
GitHub | X | LifeEXE School | Itch | Wiki | Курс по UE
#code #cpp #code_hints #lifeexeEDU #unrealengine #ue5 #gamedev #lifeexe #lifeexecode #best_practice #numeric_limits #clean_code
Please open Telegram to view this post
    VIEW IN TELEGRAM
  6🔥24 16❤9 2🦄1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Большой туториал-гайд от Epic Games по физике и оптимизациям Chaos
В основе руководства доклад с прошедшей конференции GDC2025
#chaos #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥29 11❤10🦄2❤🔥1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥19👻8👍6❤2🦄1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  ZibraVDB, инструмент для сжатия и воспроизведения OpenVDB эффектов, теперь доступен бесплатно для инди‑разработчиков. Ваш доход за 12 месяцев не должен превышать
Сжатие позволяет уменьшить файлы до
Плагин на FAB
#zibraVDB #plugin #free #vfx #optimization #openVDB #vdb #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥27 11❤4😱1🦄1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Серия видео-туториалов по созданию механики мотобайка в Unreal Engine по ссылке
#tutorial #free #bike #unrealengine #ue5 #gamedev #lifeexecode #lifeexecode
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥27❤8 6🦄1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  В хоррор играх бывает кое-что максимально леденящее душу ...
... — когда разработчики-зумеры понятия не имеют, как вставляется 📼 VHS-кассета
#gamedev #lifeexe #lifeexecode #humor
Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁63 22🔥4😱2😈2🦄1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  #tips #tips_and_tricks #ue_tips #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤30🔥11 11👍3
  This media is not supported in your browser
    VIEW IN TELEGRAM
  На #Gamescom2025 был показан новый трейлер атмосферного survival‑хоррора от первой лица
Действие ROUTINE разворачивается на заброшенной лунной базе, стилизованной под ретрофутуризм в духе 80‑х.
#gamedev #games #lifeexe #lifeexecode #coolgame #horror #unrealengine #ue3 #ue4 #ue5
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤15😱10🦄5🔥4👍2❤🔥1 1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Новый видео-туториал от инженера Epic Games по использованию GPU-генерации с PCG
Исходники проекта на Github
#pcg #procedural #gpu #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
    VIEW IN TELEGRAM
  1🔥20 8❤3👍1🦄1
  И такое бывает в коде движка
Engine\Source\Runtime\Core\Public\Delegates\MulticastDelegateBase.h
Почему const важен? Читаем по ссылкам
Const serves several purposes which I believe too many programmers ignore. My rule is "everything should always be const unless it can't be". I wish all variables in C++ were const by default.
#пятничное #const #friday #unrealengine #ue5 #gamedev #lifeexe #lifeexecode #meme #humor
Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁22🔥16❤5🫡1🦄1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Пятничная видео-игра сегодня
Мочилово в заброшенном парк развлечений 🎢
#gamedev #games #lifeexe #lifeexecode #fridaygame #coolgame
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥12👍10❤6🤯1🦄1
  Epic Games выкатили ежемесячную подборку бесплатных курсов
#learn #course #tutorial #free #epic #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥17❤6 5👍2⚡1🦄1
  В эфире рубрика выходного дня: Воскресный C++
Написал большую статью на тему:
«Asserts в стандарте C++ и в Unreal Engine»
❗️ На Boosty и Patreon полная версия с множеством примеров!
По традиции сначала разбираем как все работает на чистом
C++, а потом смотрим, что происходит в Unreal Engine.
Assertions — это утверждения, проверяющие предположения программиста о корректности кода. Они помогают выявлять ошибки и документировать инварианты.
Инвариант — это условие, которое должно быть истинным всегда в определённом контексте.
Зачем нужны assertions?
Виды assertions
В стандартном C++ основной инструмент для реализации утверждений — это макрос препроцессора
assert, определенный в заголовочном файле <cassert> :stderr и немедленно завершает программу путем вызова функции std::abort() double div(double numerator, double denominator)
{
assert(denominator != 0.0);
return numerator / denominator;
}
Стандартный макрос
assert не имеет встроенного параметра для пользовательских сообщений. Однако существуют две распространенные идиомы для добавления диагностики, которая будет выведена в диагностическом сообщении в случае сбоя assert(divisor != 0 && "Divisor cannot be 0");
assert(("Divisor cannot be 0", divisor != 0));
Распространенная ошибка при использовании
assert — это включение в проверяемое выражение кода с побочными эффектами. Проблема в том, что когда определен макрос
NDEBUG, все выражение внутри assert удаляется из кода. Это может привести к тому, что логика программы в отладочной и релизной сборках будет отличаться. assert(InitializeSubsystem());
[[maybe_unused]] const bool bSuccess = InitializeSubsystem();
assert(bSuccess);
Unreal Engine расширяет стандартный макрос
assert , добавляя дополнительные  возможности к рантайм проверкам, Имеются следующие семейства: check, verify, ensure.Семейство
check является прямым эквивалентом стандартного assert в Unreal Engine. Сбой check указывает на критическую ошибку в программе, и выполнение немедленно останавливается void AMyActor::CalculateJumpVelocity(AActor* JumpTarget, FVector& JumpVelocity)
{
check(JumpTarget != nullptr);
}
Остальные макросы данного семейства:
check, checkf, checkSlow, checkfSlow, checkCode, checkNoEntry, checkNoReentry, checkNoRecursion, unimplementedСледующее семейство макросов является решением проблемы побочных эффектов. Выражение внутри макроса
verify выполняется всегда, независимо от конфигурации сборки.Полный список макросов:
verify, verifyf, verifySlowДанное семейство макросов используется для сообщения о нефатальных ошибках. Программа не завершает работу, а отправляет отчет со стеком вызовов в Crash Reporter и продолжает выполнение:
ensure, ensureAlways, ensureMsgf, ensureAlwaysMsgf static_assertcheckverifycheckSlowensurecheckNoEntry или unimplementedcheckNoRecursioncheckNoReentryВ статье на Boosty и Patreon подробнее про каждый из макросов и static_assert
Всем чистого кода
Patreon | Boosty | PayPal
GitHub | X | LifeEXE School | Itch | Wiki | Курс по UE
#code #cpp #code_hints #lifeexeEDU #unrealengine #ue5 #gamedev #lifeexe #lifeexecode #best_practice #assert #clean_code
Please open Telegram to view this post
    VIEW IN TELEGRAM
  21🔥40 10👍9❤5🦄1 1
  Поздравляю с началом нового учебного года!
Забирайте бесплатный купон на 100 мест на мой курс «Unreal Engine — полное руководство по разработке на С++»
Статистика по курсу на сегодня следующая
Студенты из
Всем спасибо за отзывы и прохождение!
Patreon | Boosty | PayPal
GitHub | X | LifeEXE School | Itch | Wiki | Курс по UE
#code #cpp #lifeexeEDU #unrealengine #ue5 #gamedev #lifeexe #lifeexecode #udemy #course #shooter #free #coupon
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Udemy
  
  Unreal Engine — полное руководство по разработке на С++
  Раскройте возможности C++ для разработки игр в Unreal Engine
🔥76❤22 6❤🔥3⚡2🦄1 1