This media is not supported in your browser
VIEW IN TELEGRAM
Новая лекция в эту пятницу.
DoodleJump с помощью RaylibCMAKEPCH в CMAKEпаттерн стратегияdependency injectionВидео уже доступно на Boosty и Patreon
Увидимся в конце недели
#conan #cpp #gamedev #lifeexe #gameengine #lifeexeengine #cmake
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍10❤3 3 1 1
Поздравляю всех с днём числа π!
А новая лекция в сети:
https://youtu.be/mz7a0XIwhZc
Patreon | Boosty | PayPal
GitHub | LifeEXE School | Itch | X | Wiki
#cmake #raylib #cpp #gamedev #lifeexe #gameengine #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🔥25❤11🏆2❤🔥1
Вышла beta версия
NOESIS studio:https://www.noesisengine.com/studio
Noesis Studio — это WYSIWYG-редактор, который позволяет создавать, управлять и просматривать XAML-интерфейсы без необходимости писать код вручную.Имеется отдельный плагин для
Unreal Engine и Unity:https://www.noesisengine.com/developers/downloads.php
Можно попробовать онлайн в XAMLtoy
В примерах есть упрощенный интерфейс Detroit: Become Human
Документация
C помощью
NOESIS были сделаны интерфейсы для Senua’s Saga: Hellblade II и Baldur's Gate 3#ui #noesis #cpp #gamedev #lifeexe #unrealengine #ue5 #unity
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥13 9❤6🤯2
Новая жирная лекция по серии игрового движка в эту пятницу.
Автоматизируем буквально ВСЁ
Conan и CMAKElinux и windows conan профилиlinux и windows билды на githubgithub actionsmatrix strategyclang-formatgithub и публикуем отчет по тестированию в виде таблицыVS CodePCH в CMAKE с помощью target_precompile_headersВидео уже доступно на Boosty и Patreon
Это заключительная лекция перед стартом кода самого движка.
Увидимся в конце недели
#cmake #conan #cpp #github #gamedev #lifeexe #gameengine #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥83❤🔥9❤6👍6⚡2🐳1
Новая лекция в сети:
https://youtu.be/lc61fQQKnkE
Автоматизируем процессы с помощью
Github ActionsБесплатным аккаунтам
GitHub предоставляется 2000 минут работы облачных машин в месяц. Для персонального использования (как мы сегодня убедимся) этого вполне достаточно.Репозиторий текущего проекта:
👉 https://github.com/life-exe/FIghtClubCppCMAKE
Кстати, поскольку
VS Code иcпользует стек Typescript/Electron, то VS Code можно запустить напрямую в браузере и серфить код там. Меняем com на dev:👉 https://github.dev/life-exe/FIghtClubCppCMAKE
Дополнительно:
👉 https://vscode.dev
👉 https://github.com/features/codespaces
Patreon | Boosty | PayPal
GitHub | LifeEXE School | Itch | X | Wiki
#cmake #conan #cpp #github #gamedev #lifeexe #gameengine #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36❤6 4👍3❤🔥2
Непостоянная рубрика: Субботний C++
Сегодня в меню очевидный, но не всегда применяемый подход:
Immediately Invoked Lambda Expression (IILE)
Почему const — это важно?
Неизменяемость (immutability) — залог надежного и понятного кода. Использование const там, где это возможно, помогает компилятору отлавливать ошибки и показывает намерения программиста яснее. Когда другой человек читает ваш код и видит const, снижается когнитивная нагрузка на мозг — «запоминать изменения данного значения не надо — расслабься». Const correctness является важной практикой в C++.
Проблематика
В простых случаях инициализация констант не вызывает проблем:
const int c_maxPlayers = 100;
const double c_scale = getScaleFactor() * 1.5;
const bool c_enabled = check() || FORCE_ENABLE;
const int c_healthModifier = bHealing ? 20 : 0;
Но что делать, если для вычисления значения константы требуется несколько шагов, временные переменные, циклы или условия?
float c_calculatedDamage = getBaseDamageValue();
if (targetAimed(calculatedDamage)) {
for (int i = 0; i < c_effectCount; ++i) {
calculatedDamage += getBonusDamage(i);
}
}
Традиционные подходы — вынести логику в отдельную именованную функцию или отказаться от const — не всегда идеальны. Создание отдельной функции может быть избыточным, если логика используется только один раз. Отказ от const снижает безопасность и выразительность кода.
Immediately Invoked Lambda Expression (IILE)
Здесь на помощь приходит использование немедленно вызываемого лямбда-выражения (IILE). Мы определяем лямбда-функцию, которая инкапсулирует всю сложную логику инициализации, и тут же вызываем её. Результат этого вызова и присваивается нашей константе.
Как это выглядит:
const auto myLambda = [](){ return 13; }();Скобочки форева
const auto c_calculatedDamage = [&]() {
float tempDamage = getBaseDamageValue();
if (targetAimed(tempDamage)) {
for (int i = 0; i < c_effectCount; ++i) {
tempDamage += getBonusDamage(i);
}
}
return tempDamage;
}();Преимущества IILE для инициализации
const (или даже constexpr, если лямбда соответствует требованиям), даже если её вычисление многоэтапное.Альтернативный синтаксис (C++17)
В C++17 можно использовать
std::invoke, хотя для IILE прямой вызов () обычно предпочтительнее и понятнее:#include <functional>
// ...
const auto c_anotherConstant = std::invoke([] {
// ...
return 13;
});
Ссылки
Patreon | Boosty | PayPal
GitHub | LifeEXE School | Itch | X | Wiki | Курс по UE
#cpp #tipsandtricks #code #fun #lifeexe #lifeexecode #lifeexeEDU
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83❤16👍9❤🔥2
Зацените чувство юмора авторов книги по C++ 1997 года от Bell Labs
Слово
ruminate в английском языке имеет два значения:— жевать жвачку, буквально, как делают коровы
— размышлять глубоко и вдумчиво
Фамилия Барбары — Му
Обложка рекурсивная: женщина на обложке (походу Барбара) читает книгу, на которой изображена она сама.
#code #book #cpp #gamedev #lifeexe #lifeexecode #humor
Please open Telegram to view this post
VIEW IN TELEGRAM
😁38👍8❤🔥5⚡2❤1🤯1👌1👾1 1
Media is too big
VIEW IN TELEGRAM
Бывший разработчик Unity продемонстрировал собственную анимационную систему, которая эффективнее Unity в 14 раз
С демо:
Unity демо:
Credits:
В вики имеется подборка книг по разным топикам программирования и компьютерной графике.
Рекомендуется к изучению.
#unity #animation #gamedev #cpp #lifeexexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
1 22👏13😁8🔥2 2❤1🏆1
Хорошая бесплатная книга по стандартным алгоритмам. Идеально подходит как справочник:
PDF-версия доступна в README или в релизах:
TArray, TMap, TSet, TList. Это проприетарные контейнеры, оптимизированные под систему памяти, Garbage Collector и рефлексию UE.В статье на примерах рассматриваем предикаты и проекции (способ указать алгоритму, по какому полю объекта нужно выполнять операцию).
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki | LifeEXE School
#lifeexe #lifeexecode #unrealengine #ue5 #cpp #stl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29 12 5❤2👍2🦄1
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшая статья по созданию симуляции океана на основе модели Тессендорфа
Автор пошагово разбирает весь процесс — от теории до практической реализации:
C++/HLSL#learn #ocean #theory #cpp #hlsl #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35❤7 6👍3🦄1 1