Рубрика «концепты»

Первое впечатление от концептов - 1

Решил разобраться с новой возможностью С++20 — концептами.

Концепты (или концепции, как пишет русскоязычная Вики) — очень интересная и полезная фича, которой давно не хватало.

По сути это типизация для аргументов шаблонов.

Основная проблема шаблонов до С++20 — в них можно было подставить все что угодно, в том числе то, на что они совершенно не рассчитаны. То есть система шаблонов была совершенно нетипизирована. В результате, при передаче в шаблон неверного параметра возникали невероятно длинные и совершенно нечитаемые сообщения об ошибках. С этим пытались бороться с помощью разных языковых хаков, которые я даже упоминать не хочу (хотя приходилось сталкиваться).

Концепты призваны исправить это недоразумение. Они добавляют в шаблоны систему типизации, причем весьма мощную. И вот, разбираясь с особенностями этой системы, я стал изучать доступные материалы в интернете.

Скажу честно, я немножко в шоке:) С++ и без того сложный язык, но тут хотя-бы есть оправдание: так получилось. Метапрограммирование на шаблонах именно открыли, а не заложили при проектировании языка. А дальше, при разработке следующих версий языка, были вынуждены подстраиваться под это «открытие», так как в мире было написано очень много кода. Концепты же — принципиально новая возможность. И, как мне кажется, в их реализации уже присутствует некоторая непрозрачность. Возможно, это следствие необходимости учесть огромный объем унаследованных возможностей? Попробуем разобраться…
Читать полностью »

Доброго дня!

Статья познакомит вас с очередными обновлениями проекта, посвящённого биомеханическим машинкам, с нотками ностальгии по различным произведениям винтажного игропрома.
В этот раз в игру пришли артефакты, появилась доставка грузов, киберпространство, новые декоративные элементы, редизайн отдельных объектов и участков уровней, а также прочие мелочи и сюрпризы.

Невангеры: Division impossible - 1
Читать полностью »

Чуть больше недели назад завершилась международная выставка Consumer Electronics Show 2020. Для производителей компьютеров и компьютерной техники (то есть и для нас тоже) – это фактически главное мероприятие года. Но так уж вышло, что в России в это время происходит нечто ещё более яркое и интересное – длинные и долгожданные новогодние праздники. В приятной суете многие анонсы остались незамеченными, поэтому мы решили в одной статье собрать всю информацию о ключевых новинках Dell и Alienware на CES 2020.

Новинки Dell и Alienware на CES 2020: коротко о главных анонсах - 1Читать полностью »

Доброго дня! Который к концу декабря так похож на ночь.
Новый год всё приближается, тем временем прототип с приключениями биомашинок продолжает развиваться. С очередными обновлениями в игру добавилось семь новых средств передвижения, автосохранение, новый водный уровень, машинки-боты, возможность плести паутину и говорить Ку.

Невангеры: Feed for speed - 1
Читать полностью »

На открывшемся 12 сентября автосалоне во Франкфурте многие мировые бренды представили свои электрокары и гибриды. Выставка проходит в Германии с 1897 года раз в два года.

image
Здесь и далее источник: Ведомости

Volkswagen представил во Франкфурте первую модель, построенную на специальной платформе MEB для массовых электромобилей. Как пишут «Ведомости», поставки машин начнутся в середине 2020 года. Стоимость автомобиля в Германии — от 30 тыс. евро.

Читать полностью »

Здесь вы найдёте подборку из нескольких разноплановых принципов/механик для использования в играх типа Diablo.

Интересности для жанра ARPG - 1
Читать полностью »

Второй PixJam внутри компании: новые концепты и работа над ошибками - 1

— А мы покажем казуальный PvP-раннер с препятствиями для тех, кто любит унижения.
— Что?
— Что?

Перед одной из презентаций на PixJam Summer'18.

Зимой мы провели первый внутренний PixJam, в котором ребята из всех отделов креативили и придумывали концепты для новых игр (кстати, один из них уже готовится к софт-ланчу). Собрали тонну позитивных отзывов и фидбека, чтобы сделать его еще лучше, и повторили эксперимент. Расскажу, как он проходил на этот раз и что мы изменили.
Читать полностью »

Раннеры для тех, кто любит унижения или как мы меняли и дорабатывали PixJam - 1

— А мы покажем казуальный PvP-раннер с препятствиями для тех, кто любит унижения.
— Что?
— Что?

Перед одной из презентаций на PixJam Summer'18.

Зимой мы провели первый внутренний PixJam, в котором ребята из всех отделов креативили и придумывали концепты для новых игр (кстати, один из них уже готовится к софт-ланчу). Собрали тонну позитивных отзывов и фидбека, чтобы сделать его еще лучше, и повторили эксперимент. Расскажу, как он проходил на этот раз и что мы изменили.
Читать полностью »

Для того, чтобы каждый смог понаблюдать за процессом создания синематика в игровой компании, мы начинаем серию живых включений прямо из Video Production Department в Plarium Kharkiv.

Читать полностью »

Всё началось с того, что мне понадобилось написать функцию, принимающую на себя владение произвольным объектом. Казалось бы, что может быть проще:

template <typename T>
void f (T t)
{
    // Завладели экземпляром `t` типа `T`.
    ...

    // Хочешь — переноси.
    g(std::move(t));

    // Не хочешь — не переноси.
    ...
}

Но есть один нюанс: требуется, чтобы принимаемый объект был строго rvalue. Следовательно, нужно:

  1. Сообщать об ошибке компиляции при попытке передать lvalue.
  2. Избежать лишнего вызова конструктора при создании объекта на стеке.

А вот это уже сложнее сделать.

Поясню.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js