Недавно наши ребята из движковой команды выпустили статью о том, как мы навели, «красивостей» в нашем внутреннем движке. Речь шла о концепциях и том, что было важно для нас при улучшении визуальной составляющей. В этой статье я хочу рассказать, как все работает с технической стороны.
Рубрика «c++» - 33
Движок VSO: Под капотом нашего редактора
2021-10-22 в 8:30, admin, рубрики: c++, VSO, Блог компании Playrix, движок, Программирование, разработка игрУскоряем pow
2021-10-20 в 22:15, admin, рубрики: ASP, C#, c++, java, Алгоритмы, высокая производительность, оптимизация кода, оптимизация программ, приближëнные алгоритмы, приближенное решение, приближённые вычисления, ускорение кодаВ этой статье я хочу поделиться несколькими нестандартными алгоритмами для быстрого возведения числа в степень, а также продемонстрировать их реализацию и сравнить их быстродействие в C++, C# и Java.

Сравнить точность алгоритмов можно прямо сейчас на этой странице.
О чем нельзя забывать при работе с POSIX-сигналами
2021-10-12 в 18:45, admin, рубрики: bsd-системы, C, c++, linux, posix, reentrancy, UNIX, Программирование, Разработка под Linux, системное программированиеКак я портировал игру с VisualBasic 6 на С++, сделав её кросс-платформенной
2021-10-09 в 18:59, admin, рубрики: c++, VB6, VisualBasic 6, Игры и игровые приставки, портирование, разработка игр, разработка игрыВсем доброго времени суток! Это моя история о том, как я портировал исходный код одной фанатской Windows-игры о Марио с VisualBasic 6 на C++, и с какими трудностями я столкнулся в процессе создания.
Немного об оригинальной игре
Super Mario Bros. X (или коротко SMBX) - это фанатская игра по мотивам вселенной Марио, созданная в 2009 году американцем Эндрю Спинксом (который позже прославился как создатель игры Terraria). Эта фанатская игра была его первым опытом в разработке игр. В ней он познавал азы игростроя. Игра создавалась с использованием VisualBasic 6.
Выявляем ошибки в релизе LLVM 13.0.0
2021-10-08 в 19:16, admin, рубрики: c++, clang, clang static analyzer, Clang-Tidy, LLVM, llvm 13, open source, pvs-studio, баги, Блог компании PVS-Studio, информационная безопасность, Компиляторы, обзоры кода, опечатки, открытый исходный код, ошибки в коде, статический анализ кода
Задача коммерческих статических анализаторов выполнять более глубокий и полный анализ кода, чем компиляторы. Давайте посмотрим, что смог обнаружить PVS-Studio в исходном коде проекта LLVM 13.0.0.
Халява с юлы и авито
2021-10-08 в 6:10, admin, рубрики: 1С, c++, html, отдам даром, С++, халява, ЮлаДизайн и эволюция constexpr в C++
2021-10-02 в 16:51, admin, рубрики: c++, clang, constexpr, Компиляторы
constexpr - одно из самых магических ключевых слов в современном C++. Оно дает возможность создать код, который будет выполнен еще до окончания процесса компиляции, что является абсолютным пределом для быстродействия программ.
У constexprЧитать полностью »
Немного уличной магии, либо как статически определить вызывается ли функция
2021-10-02 в 8:58, admin, рубрики: c++, C++20, ненормальное, ненормальное программирование, ненормальные люди, ненормальные материалы, ненормальные решенияНедавно мне задали задачку, в обсуждении всё свелось к следующему: - есть объект, в нём есть методы. Каждый метод/ы требует загрузки какой-то логики в рантайме. Хотим точно знать - какие методы были вызваны, после в рантайме затребовать загрузки только нужной функциональности.
Дисклеймер
Асинхронность в С++20. Доклад в Яндексе
2021-09-21 в 9:54, admin, рубрики: async/await, c++, асинхронное программирование, Блог компании Яндекс, Компиляторы, планировщики, примитивы, Программирование, Совершенный код— О чём я сегодня расскажу? Первое — введение в асинхронность. Далее мы рассмотрим примитивы, которые можно использовать в новом стандарте, и интеграцию с планировщиками. Также немаловажным аспектом будет являться работа со старым кодом, если мы пишем новый код с использованием нового подхода. Затем я покажу бонус, достаточно интересный и необычный. И подведём итоги того, что у нас получилось.
Читать полностью »
Введение в программирование: заготовка игры-платформера на SDL в 300 строк C++
2021-09-19 в 15:21, admin, рубрики: c++, Программирование, программирование для начинающих, разработка игрЭтот текст предназначен для тех, кто только осваивает программирование. Я читаю лекции по C++ на первом курсе местного университета, и в качестве практикума предлагаю запрограммировать любую игру (не выношу проектов типа "софт бронирования книг в местной библиотеке"). Соответственно, чтобы помочь начинающим, я сделал некоторое количество заготовок, с которых можно стартовать свой проект. Например, заготовку олдскульного 3д шутера в 486 строк C++ я уже описывал, а вот тут можно посмотреть, что из неё сделали первокурсники.
В этот раз всё будет ещё проще, я хочу сделать заготовку под простейший платформер, вот так выглядит результат:

На данный момент проект содержит менее трёхсот строчек цпп:
ssloy@khronos:~/sdl2-demo/src$ cat *.cpp *.h | wc -l
296
Мой опыт показывает, что просто выложить код заготовки недостаточно. Нужно детально описать, как именно я пришёл к такому коду, ведь самый главный навык программиста — это суметь разбить сложную задачу на некоторое количество более простых подзадач, каждая из которых решается легко.
Итак, поехали!
