Рубрика «c++» - 20
Вы точно хотите пойти программистом в gamedev?
2023-11-19 в 20:49, admin, рубрики: c++, разработка, разработка игр, управление, управление проектамиНе Unity единым…
2023-11-04 в 0:12, admin, рубрики: c++, game engines, open source, игровые движки, разработка игрКак и почему я писал для Флиппера на Си-с-классами
2023-10-24 в 9:00, admin, рубрики: C, c++, flipper zero, ruvds_статьи, си-с-классамиА для написания кода я решил использовать всё же не C, а C++ — точнее, даже «Си-с-классами». На мой взгляд, затуманенный языками более высокого уровня, такой подход получился удобнее, чем писать на чистом C. Результат можно увидеть в моём репозитории, а в этой статье я попытаюсь описать, какие конкретные фичи языка я использовал, и как именно они мне помогли.

В свободное время я восстанавливаю старенькую, но довольно известную игру Pharaoh. Это ситибилдер, выпущенный в прошлом веке и разработанный Impressions Games. Технология рендеринга в этой игре была значительным достижением для своего времени и способствовала созданию впечатляющей атмосферы Древнего Египта, которая погружает игрока в проработанное окружение, удивляет вниманием к мелким деталям и передает богатство и разнообразие древнеегипетских пейзажей. В этой статье я опишу алгоритм отрисовки города, зданий, объектов, анимации и формат карты оригинальной игры.
Форматирование текста на C++ старым и новым способом
2023-09-22 в 13:00, admin, рубрики: c++, ruvds_перевод, Программирование, форматирование строк
Форматирование текста на C++ можно реализовать несколькими способами:
- потоками ввода-вывода. В частности, через
std::stringstreamс помощью потоковых операций (таких какoperator <<); - функциями
printf, в частностиsprintf; - с помощью библиотеки форматирования C++20, в частности
std::format/std::format_to; - с помощью сторонней библиотеки, в частности
{fmt}(основа новой стандартной библиотеки форматирования).
Первые два варианта представляют старые способы. Библиотека форматирования, очевидно, является новым. Но какой из них лучше в плане производительности? Это я и решил выяснить.Читать полностью »
userver 1.0 — релиз фреймворка для IO-bound программ
2023-09-21 в 9:00, admin, рубрики: c++, c++17, coroutine, coroutines, dynamic changes, github, json, logs, mongo, mongodb, mysql, postgres, postgresql, prometheus, prometheus grafana, python, python3, redis, sql, synchronization, userver, yaml, Yandex, открытый код
Поэтому мы вышли из беты и сделали релиз!
Что нового в релизе? Зачем вообще нужен userver и какие существуют технологии для обеспечения надёжной работы серверных приложений? Можно ли воспользоваться крутыми C++ классами из userver, не используя при этом корутины? Какие дальнейшие планы? Ответы на все эти вопросы ждут вас под катом.
Читать полностью »
Недостатки корутин в C++
2023-08-18 в 13:00, admin, рубрики: c++, ruvds_перевод, корутины, Программирование
Эта статья написана с целью подчеркнуть некоторые риски, связанные с переносом базы кода на использование корутин. Я считаю, что продолжающееся неграмотное использование этой функциональности может привести к уменьшению безопасности и замедлению программ.
Даже при отсутствии многопоточности корутины следует рассматривать с той же подозрительностью, что и в случае написания многопоточного кода, так как они всё равно работают асинхронно.Читать полностью »
Первые новинки C++26: итоги летней встречи ISO
2023-08-17 в 10:24, admin, рубрики: c++, c++26, constexpr, file, float, floating point, function, functions, hazard pointers, iso, native api, numeric, rcu, span, Программирование, С++, с++26
На недавней встрече комитет C++ активно взялся за C++26. Уже есть первые новинки, которые нас будут ждать в готовящемся стандарте C++:
- улучшенный
static_assert, - переменная
_, - оптимизация и улучшение для
std::to_string, - Hazard Pointer,
- Read-Copy-Update (так же известное как RCU),
native_handle(),- целая вереница классов
*function*, - множество доработок по
constexpr, std::submdspan,- и прочие приятные мелочи.
Определение области коллизии
2023-08-10 в 10:30, admin, рубрики: c++, Алгоритмы, игровой движок, математика, разработка игр, столкновенияПоиск контактных точек коллизии

Введение
В процессе разработки своего собственного 3D движка в определённый момент я наткнулся на следующую проблему: как можно вычислить точки контакта между двумя объектами для правильного расчёта центра приложенных сил.
Выжимаем ATtiny10, практическое применение
2023-08-08 в 6:43, admin, рубрики: attiny10, C, c++, diy или сделай сам, гирлянда, программирование микроконтроллеров, Сезон DIY, Электроника для начинающихЭто ещё один маленький домашний DIY (апгрейд гирлянды) на, практически, самом младшем из младших микроконтроллеров из линейки ATtiny - на ATtiny10. Эти МК уже прошли пик своей популярности, лучшие характеристики можно найти за те же деньги в других МК... да что там характеристики, уже ядра в штуках раздают! (ESP32, например).

