Новое видео по разработке игрового движка на канале
std::source_location LE_LOG по аналогии с UE
/Zc:preprocessor📱 Видео уже доступно на Boosty и Patreon
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki | LifeEXE School
#log #gameengine #cpp #gamedev #lifeexe #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
16.🕹️ Game Engine. Система логирования. Day3: c++ concepts, std::source_location, variadic macros
#gameengine #log #logging #concepts #cpp #lifeexe #lifeexecode #lifeexeengine #unrealengine #gamedev #ue5 #unrealengine5
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
5🔥26 9❤8👍2🦄1
Новая лекция по разработке игрового движка в эту пятницу на канале — активируем пайплайн тестирования
📱 Для желающих видео уже доступно на Boosty и Patreon
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki | LifeEXE School
#tests #gameengine #gameengine17 #cmake #cpp #github #gamedev #lifeexe #lifeexecode #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥23🤩8❤4 2🦄1 1
Новое видео по разработке игрового движка на канале — активируем пайплайн тестирования
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki | LifeEXE School
#tests #gameengine #gameengine17 #cmake #cpp #github #gamedev #lifeexe #lifeexecode #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
17.🕹️ Game Engine. Google test. Базовые юнит тесты. Github workflow отчета по тестированию
#gameengine #unittests #googletest #lifeexe #lifeexecode #lifeexeengine #unrealengine #gamedev #ue5 #unrealengine5
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
🔥23👍11❤🔥8❤3⚡1
Непостоянная рубрика: Воскресный C++
📕 Полноценная статья доступна для подписчиков Boosty и Patreon
Raw String Literals (префикс R) — это необработанные строковые литералы
(raw string literals), появившиеся в C++11.Внутри
R"(...)" все символы интерпретируются буквально — не нужно экранировать специальные символы и переносы строк R"(HelloWorld)" // Базовый синтаксис
R"delimiter(HelloWorld)delimiter" // С delimiter
const std::regex pattern("\\d{3}-\\d{2}-\\d{4}");
const std::regex pattern(R"(\d{3}-\d{2}-\d{4})");const auto config = R"({
"server": {
"host": "localhost",
"port": 8080
},
"debug": true
})"s;const auto path1 = "C:\\Program Files\\MyApp\\config.ini"s;
const auto path2 = R"(C:\Program Files\MyApp\config.ini)"s;
Raw string literals — это compile-time фича. Все три варианта генерируют ИДЕНТИЧНЫЙ машинный код const auto s1 = "hello\\nworld"s;
const auto s2 = R"(hello\nworld)"s;
const auto s3 = std::string("hello\\nworld");
R"(\n)" — это буквально два символа \ и n, а не перенос строки!📕 Больше информации, ньюансов и примеров со ссылками на Compiler Explorer в полноценной статье на Boosty и Patreon
Patreon | Boosty | PayPal
GitHub | LifeEXE School | Itch | X | Wiki | Курс по UE
#cpp #tips_and_tricks #code #lifeexe #lifeexecode #lifeexeEDU
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥31 11🦄7👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Новая лекция по разработке игрового движка на следующей неделе — приступаем к графике — создаем наше первое окно и оконный менеджер
📱 Для желающих видео уже доступно на Boosty и Patreon
std::expected и std::hash<=> spaceshipPatreon | Boosty | PayPal
GitHub | Itch | X | Wiki | LifeEXE School
#glfw #graphics #gameengine #gameengine18 #cpp #github #gamedev #lifeexe #lifeexecode #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥29❤8👍3 1 1
Новая лекция по разработке игрового движка уже завтра на канале (в этот раз в четверг) —
приступаем к графике — создаем наше первое окно https://youtu.be/5EjLzkQchgE
📱 Для желающих видео уже доступно на Boosty и Patreon
std::expected и std::hash<=> spaceshipPatreon | Boosty | PayPal
GitHub | Itch | X | Wiki | LifeEXE School
#glfw #graphics #gameengine #gameengine18 #cpp #github #gamedev #lifeexe #lifeexecode #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
18.🕹️ Программируем Игровой Движок. Создаем GLFW окно. Пишем свой оконный менеджер #gamedev #code
#gameengine #glfw #graphics #lifeexe #lifeexeengine #unrealengine #gamedev #ue5 #unrealengine5 #opengl #directx
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
15🔥26 15❤8🦄2 2👍1
Том Луман выложил отличный гайд по первоначальной настройке Rider для C++ и Unreal Engine
Дополнения
📱 Новое видео по игровому движку уже на канале➡️ https://youtu.be/5EjLzkQchgE
#rider #ide #cpp #unrealengine #ue5 #gamedev #games #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥37 9 8👍2🦄1
Новая лекция по разработке игрового движка на этой неделе на канале — продолжаем работать с оконным
https://youtu.be/ceb7Yoqyfsk
📱 Для желающих поддержать канал — видео уже доступно на Boosty и Patreon
IWindowWinAPI окнаPatreon | Boosty | PayPal
GitHub | Itch | X | Wiki | LifeEXE School
#glfw #graphics #gameengine #gameengine19 #cpp #github #gamedev #lifeexe #lifeexecode #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
10🎉25🔥15🦄6❤2 2 2 1
Новая лекция по разработке игрового уже сегодня вечером
https://youtu.be/ceb7Yoqyfsk
📱 Для желающих поддержать канал — видео уже доступно на Boosty и Patreon
IWindowWinAPI окнаПодключайтесь вечером к чату — буду рад всех видеть💭
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki | LifeEXE School
#glfw #graphics #gameengine #gameengine19 #cpp #github #gamedev #lifeexe #lifeexecode #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
19.🕹️ Game Engine. Интерфейс окна IWindow. Абстракции. Внедрение зависимостей - Dependency Injection
#gameengine #glfw #graphics #lifeexe #lifeexeengine #unrealengine #gamedev #ue5 #unrealengine5 #opengl #directx
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
5🔥17❤8 4 2🦄1 1
Непостоянная рубрика: C++ по понедельникам
std::string_view — легковесный взгляд на строки📕 Полноценная статья доступна для подписчиков Boosty и Patreon
std::string_view — это легковесный неизменяемый объект из C++17, который смотрит на строковые данные, не владея ими. Внутри это просто указатель и размер.Одна функция принимает любые строковые типы без аллокаций
void printLength(std::string_view sv)
{
std::println("Length: {}", sv.size());
}
int main()
{
using namespace std::string_view_literals;
printLength("hello");
printLength("world"s);
printLength("raw string"sv);
}
substr у string_view не копирует строку — просто создаёт новый «вид» с другим указателем и длиной std::string_view text = "one,two,three";
process(text.substr(0, 3)); // 0 аллокаций
process(text.substr(4, 3)); // 0 аллокаций
process(text.substr(8, 5)); // 0 аллокаций
// std::string::substr() — каждый вызов выделяет память!
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki | Курс по UE
#cpp #tips_and_tricks #code #lifeexe #lifeexecode #lifeexeEDU
Please open Telegram to view this post
VIEW IN TELEGRAM
11❤22🔥14👍7🦄2
Новая лекция по разработке игрового движка на следующей неделе на канале — разбираемся
с событиями окна, мыши и клавиатуры!📱 Для желающих поддержать канал — видео уже доступно на Boosty и Patreon
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki
#glfw #graphics #events #gameengine #gameengine20 #cpp #github #gamedev #lifeexe #lifeexecode #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
20🔥19❤6 6👍1🦄1
Новая лекция по разработке игрового движка сегодня вечером на канале
📱 Для желающих поддержать канал — видео уже доступно на Boosty и Patreon
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki
#glfw #graphics #events #gameengine #gameengine20 #cpp #github #gamedev #lifeexe #lifeexecode #lifeexeengine
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
20.🕹️ Game Engine /// GLFW /// События окна, клавиатуры, мыши #gameengine #gamedev
#gameengine #glfw #graphics #lifeexe #lifeexeengine #unrealengine #gamedev #ue5 #unrealengine5 #opengl #directx
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
Мой курс «Unreal Engine — полное руководство по разработке на С++»
https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46…
2🔥25❤10 7 3👍1
Непостоянная рубрика — Воскресный Си
Перед вами один из самых знаменитых и «вирусных» фрагментов кода на
C за всю историю языка На первый взгляд кажется, что это синтаксическая ошибка — ведь здесь
switch буквально переплетён с циклом do-while. Но нет, это абсолютно валидный, стандартный C-код void fastCopy(short* to, short* from, int count)
{
if (count <= 0) return;
int n = (count + 7) / 8;
switch (count % 8)
{
case 0: do { *to++ = *from++;
case 7: *to++ = *from++;
case 6: *to++ = *from++;
case 5: *to++ = *from++;
case 4: *to++ = *from++;
case 3: *to++ = *from++;
case 2: *to++ = *from++;
case 1: *to++ = *from++;
} while (--n > 0);
}
}
Приём назван в честь Тома Даффа, который придумал его в 1983 году, работая в Lucasfilm
Его задача была ускорить копирование данных при работе над программой для анимации и он нашёл элегантное и слегка безумное решение, которое сочетает в себе механизм
switch и раскрутку цикла loop unrolling Секрет в том, что в
C метки case — это обычные метки перехода, и они могут находиться внутри управляющих конструкций (do/while/for/if), лежащих в теле того же switchswitchdo-whilewhile, и цикл продолжает крутиться уже целикомПодробнее с примером Compiler Explorer в моей открытой заметке Duff's Device
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki
#c #duff_device #cpp #code #lifeexe #lifeexecode #lifeexeEDU
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥33 11❤8 2👍1🦄1
Media is too big
VIEW IN TELEGRAM
Вышло большое интервью с Бьёрном Страуструпом — создателем С++
Он неплохо прошелся по AI
AI-generated code isn't ready — it generates more bugs, more bloat, more security holes, and is nearly impossible to validate
senior developers are already retiring rather than deal with it
The problem is that even a small prompt change can shift the entire codebase in unpredictable ways
В комментах кто-то написал, что он просто не умеет в промты
Была ли это пост ирония — история умалчивает
#legend #code #cpp #ai #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥22🔥12 6🦄3👻2👍1😱1
В C++23 стек вызовов можно получить в несколько строк кода с помощью
std::stacktrace::current()Это избавляет от необходимости писать костыли под разные ОС и сильно упрощает сбор логов или написание кастомных систем краш-репортов
#include <print>
#include <stacktrace>
auto printStacktrace() -> void
{
const auto tr = std::stacktrace::current();
for (const auto& e : tr)
{
std::print("Func: {} ", e.description());
std::print("File: {} ", e.source_file());
std::println("Line: {}", e.source_line());
}
}
auto someFunc() -> void
{
printStacktrace();
}
auto main() -> int
{
someFunc();
return EXIT_SUCCESS;
}
#stacktrace #code #cpp #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍18❤17🦄7🔥1 1
Интересные конечно есть примеры на cppreference
Вполне себе хардкорный generative art! В вики имеется подборка инструментов на тему
#include <iostream>
#include <string_view>
int main()
{
#define A "▀"
#define B "▄"
#define C "─"
constexpr std::string_view blocks[]{A B C, B A C, A C B, B C A};
for (int y{}, p{}; y != 8; ++y, p = ((p + 1) / 4))
{
for (char x{}; x != 29; ++x)
std::cout << blocks[p];
std::cout << '\n';
}
}
#code #cpp #rendering #generative #art #procedural #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥10🥰5🤯4👍3🦄1