Pull to refresh
23
0

Пользователь

Send message

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortex M4

Reading time12 min
Views8.7K


Всем доброго здравия!


В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот каламбур), а также реализацию статической подписки на С++17 и преимущества этого подхода в некоторых приложениях.

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments22

Обзор докладов C++ Russia Piter 2019

Reading time5 min
Views3K
В совместной магистратуре ИТМО и JetBrains мы просим студентов, которые отправляются на конференцию, написать отчёт с обзором докладов.
Публикуем один из таких отчётов о конференции C++ Russia Piter 2019. Автор — студент 2 курса магистратуры Артём Хорошев.


Читать дальше →
Total votes 5: ↑4 and ↓1+5
Comments5

Памятка по борьбе с алкоголем или Как пережить фуршеты

Reading time20 min
Views175K
Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на Хабр. Рассказанное — услышит один человек, а написанное — прочитают сотни!

Меня, если честно, достаточно сильно раздражают всевозможные застолья. Потому что гораздо приятнее посидеть с паяльником или читая книгу, а не "… хорохорясь, ерепенясь и валяясь, как колода..." провести выходные. Но традиции-с, будь они неладны, формировались столетиями и не умея пить — бывает достаточно сложно вписаться в коллектив, найти нужный подход и т.д. Особенно грешат этим делом всевозможные руководящие кадры из старого поколения. Что же делать тем, для кого алкоголь и необходимость его употреблять — это просто лишняя головная боль? Самый простой ответ — НЕ ПИТЬ, но на практике полностью это очень сложно реализовать. Эффективнее в наших реалиях принять тезис «алкоголь — просто инструмент» и учиться с ним правильно работать и использовать для решения своих задач с минимизацией ущерба для здоровья.

Статью кладем в закладки и рассылаем всем друзьям, подчиненным и т.д. и т.п. Есть время подготовиться и встретить новогодние корпоративы во всеоружии. Практически уверен, что многое из описанного активно используют те, кто «не напиваться» обязан по долгу службы. Простой же обыватель чаще про это не думает, полагаясь на удачу и легкую руку. И чаще всего оказывается в проигрыше. Предупрежден = вооружен, поэтому под катом читаем, как победить в битве с алкоголем.

Читать дальше →
Total votes 156: ↑120 and ↓36+119
Comments478

Динамическое рисование по мешу в Unreal Engine 4

Reading time8 min
Views15K

В этом туториале по Unreal Engine 4 вы научитесь рисовать цветами по мешу любого типа.

Рисование по мешу позволяет игрокам раскрашивать внутриигровые объекты. Примеры рисования по мешу: граффити (goop) в Super Mario Sunshine, гели в Portal 2 и чернила в Splatoon. Рисование может использоваться как геймплейний элемент или быть просто графическим оформлением. Как бы то ни было, рисование по мешу открывает новые возможности для дизайнеров геймплея и художников.

Хотя в перечисленных выше примерах этот эффект используется почти одинаково, вы можете применять рисование по мешу и для многих других эффектов. Например, можно рисовать на объектах банками с краской, прорисовывать на персонажах раны или даже позволить игрокам самим нарисовать лицо персонажа!

В этом туториале вы узнаете, как рисовать на скелетном меше. Для этого мы сделаем следующе:

  • Развернём меш в его UV-форму
  • Используем точку пересечения трассировки линии для создания сферической маски меша
  • Отрендерим развёрнутый меш и сферическую маску в render target с помощью захвата сцены (scene capture)
  • Используем маску для смешивания текстур в материале персонажа

Учтите, что этот туториал не посвящён рисованию вершин. Рисование вершин зависит от разрешения меша и его невозможно изменять в процессе игры. Используемый в этом туториале метод, напротив, работает вне зависимости от разрешения меша и его можно применять во время игры.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments2

Another Way — LFS, Multi User и текущий прогресс инди Action/RPG

Reading time5 min
Views6.8K
image

Всем привет! Прошло немногим больше месяца и по традиции я спешу поделиться прогрессом нашей авантюры, серии под названием “Через тернии к игре мечты”. Хочу напомнить, что же тут происходит. Мы разрабатываем игру Another way — Нелинейная Action/RPG от третьего лица с элементами интерактивного кино, выполненная в лучших традициях средневекового Fantasy, на базе собственной вселенной. Разработка ведется на Unreal Engine 4 усилиями небольшой, но очень вдохновленной команды.

Предыдущие части этого длинного, но безумно интересного пути вы можете найти у меня в профиле.

Если во время написания первого поста нас было всего двое, мы горели идеей, но в целом понимали, что на тот объем на который замахнулись нас элементарно не хватит, то сейчас в команде уже 20 человек из самых разных областей, и я безумно рад, что у нас получается объединять усилия, для того чтобы сделать что-то действительно крутое. В общем, добро пожаловать под кат.
Total votes 31: ↑30 and ↓1+29
Comments2

Как «научиться учиться» — улучшаем внимательность

Reading time5 min
Views61K
Ранее мы рассказали, какие исследования стоят за популярными советами о том, как «научиться учиться». Затем обсудили метакогнитивные процессы и полезность «каракулей на полях».

В третьей части — рассказали, как тренировать память «по науке». Кстати, про память — говорили отдельно тут и тут, еще — разбирались с тем, как «учиться по карточкам».

Сегодня — обсудим концентрацию, «многозадачность» и прокачку внимания.

Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments21

Где брать аудио для разработки игр и других коммерческих проектов? Библиотеки со звуками природы

Reading time4 min
Views11K
Существует множество сервисов и приложений для релаксации, в которых можно послушать звуки природы. Но что если вы хотите использовать такие аудиозаписи в рамках собственного проекта?

В подборке расскажем о пяти библиотеках, откуда можно скачать реальные звуки природы и использовать их в коммерческих целях.

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments2

Как рендерит кадр движок Unreal Engine

Reading time23 min
Views56K


Однажды я искал исходный код Unreal и, вдохновлённый отличным анализом того, как популярные игры рендерят кадр (перевод статьи на Хабре), я решил тоже сделать с ним что-то подобное, чтобы изучить, как движок рендерит кадр (с параметрами и настройками сцены по умолчанию).

Поскольку у нас есть доступ к исходному коду, мы можем изучить исходники рендерера, чтобы понять, что он делает, однако это довольно объёмная часть движка, а пути рендеринга сильно зависят от контекста, поэтому проще будет исследовать чистый низкоуровневный API (иногда заглядывая в код, чтобы заполнить пробелы).
Читать дальше →
Total votes 64: ↑62 and ↓2+60
Comments14

Симулируем реалистичную реку в Houdini и Unreal Engine 4

Reading time6 min
Views38K


Когда только начался переход с DX9 на DX10 стало появляться много игр с круто смоделированной водой с правильными эффектами. Тогда разница была очень заметной, особенно если сравнивать игры прошлых поколений и тот же Crysis. Поэтому когда наткнулся на гайд, как сделать простую, но реалистичную симуляцию реки через плагин Houdini для UE4, то даже не стал задумываться и быстро перевел.
Total votes 46: ↑46 and ↓0+46
Comments3

SMS-мониторинг веса трех ульев за 35$

Reading time12 min
Views24K

NewBee


Прошло совсем немного времени с предыдущей публикации о системе за 30$.


Что-же изменилось за прошедший лунный месяц?


  1. Добавлена солнечная батарейка — время работы практически неограниченно.
  2. Добавлена отправка информации по звонку.
  3. Возможность работы со всеми видами модулей связи, попавших в поле моего зрения — AiThinker, Goouu tech, SIM800/900, Neoway M590 *

Но самое главное, что теперь физически разнесены модуль связи и микроконтроллер, что исключает помехи в его работе с HX711.


И все это благодаря конструктивной критике хабровчан и пчеловодов, подключившихся к обсуждению системы.


Остальные ТТХ остались прежними — максимальный вес ульев — 200кг, после заката выполняется измерение, и отправка показателей.


Предвосхищая критику по поводу неиспользования режимов сна и дополнительных сигнальных линий GSM-модулей скажу следующее:


У каждого модуля связи есть своя специфика — кто засыпает по низкому уровню сигнала, кто по высокому, некоторые — по двойному нажатию.


Специфика "сделай сам" подразумевает некую творческую часть вот как раз в тут ее и стоит проявить.


Я-же делал систему с прицелом на дальнейшее развитие мониторинга других параметров улья, где сон не особо и нужен.


В общем, на заглавной схеме — чистый андроид базовая система, от которой можно плясать куда угодно с конструкцией и количеством/набором датчиков, модулей ии т.д.


Данная-же статья — о весах, а под катом — мое персональное видение и исполнение системы.


Одним словом — WELCOME! ПОЕХАЛИ!

Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments24

Семь книг для тех, кто хочет стать гейм-дизайнером

Reading time11 min
Views82K
image

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

Эта статья не является маркетингом описываемых материалов, а предоставляет информацию о том, где и чему учиться.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments1

Установка OpenCV + CUDA на Windows

Reading time7 min
Views38K

Введение


В данной статье речь пойдет о сборке и установке OpenCV 4 для C/C++, Python 2 и Python 3 из исходных файлов с дополнительными модулями CUDA 10 на ОС Windows.

Я постарался включить сюда все тонкости и нюансы, с которыми можно столкнуться в ходе установки, и про которые не написано в официальном мануале.

Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments3

Курс Молодого Геймдизайнера: как считать баланс персонажей и снаряжения без математики

Reading time6 min
Views54K


По опыту, многие начинающие геймдизайнеры избегают работы с балансом, словно это черная магия или нужно иметь серьезное математическое образование. Специалисты поопытней уже авторитетно заявляют, что математика не нужна.

В первую очередь надо разбираться в самих играх, а потом уже уметь что-то считать. Поэтому я расскажу о работе с балансом без использования математики — на палках урона посмотрим, как уравновесить силу оружия, чем танк отличается от разбойника, и как точки спавна влияют на винрейт.

Статья будет полезна тем, кому надо заняться балансом, но не знает с чего начать, а также начинающим геймдизайнерам, которые будут выбирать специализацию. Ну и всем, кто просто интересуется, чем занимаются ГД, когда не придумывают новые виды лутбоксов.
Читать дальше →
Total votes 69: ↑67 and ↓2+65
Comments38

Зачем нам UML? Или как сохранить себе нервы и время

Reading time5 min
Views269K
Многие программисты, столкнувшись со сложной задачей, пренебрегают этапом проектирования, ссылаясь на то, что проектирование — это потеря времени, и в данном случае оно будет мне только мешать.


Зачастую это утверждение оказывается верным, если задача и правда небольшая и квалификации программиста достаточно для определения наиболее оптимального решения.

Программисты, не использующие UML, делятся на несколько групп:

  • начну писать код, а в процессе пойму, что да как;
  • почитаю форумы, хабр, medium, stack overflow, книгу, записи на стенах, знаки свыше…;
  • поспрашиваю у коллег, может, кто-то знает, как решить подобную задачу;
  • начну рисовать квадратики и схематично покажу, какое видение задачи сформировалось у меня в сознании.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments67

Генерируем тайловые уровни и прячем квадраты от игрока

Reading time8 min
Views18K

Генерация уровней в Unexplored 2


Мы очень гордимся генератором уровней игры Unexplored 2, это программа, отвечающая всем современным требованиям. В посте я расскажу о том, как создаются уровни игры.

Нам не пришлось заново изобретать велосипед. В Unexplored 1 мы уже создали техники, которые сильно повлияли на успех первой игры. Unexplored 2 просто продолжила начатое. Фундамент нашей технологии состоит из двух частей: мы применяем многоэтапную генерацию, которая почти имитирует процесс, очень похожий на работу живого дизайнера уровней. Поверх него мы используем технику под названием "циклическая генерация подземелий", которая гораздо лучше справляется с генерацией естественно выглядящих уровней, чем большинство стандартных приложений генеративного создания контента. В этом посте я расскажу о первом аспекте. Адаптация циклической генерации подземелий к Unexplored 2 будет темой будущего поста.

Имитация «человеческого» дизайна уровней


Генератор уровней разбивает процесс генерации уровня на целое множество управляемых этапов. Он проходит путь от высокоуровневого планирования до низкоуровневой детальной карты уровня. По сути, он сначала создаёт набросок уровня, а затем начинает добавлять детали, пока уровень не станет завершённым и заполненным.
Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments7

Как устроена изнутри ролевая игра в реальном мире для гостей Армении с поездками по половине страны

Reading time14 min
Views20K


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

Игромеханически это выглядит так:

  1. Есть 10 точек: достопримечательности и места ночёвок.
  2. На каждой точке добавляется театрально-игровой блок: условно, место подготовлено для мини-представления, актёры что-то вам показывают, вы делаете пару выборов действиями или бездействием.
  3. Потом вам достаётся головоломка квестового типа, для решения которой надо побегать, например, пособирать куски плитки по лабиринту пещер или расшифровать координаты и доехать (лучше на лошади) до точки.
  4. На выходе вас ждёт второй сюжетный блок, чаще всего — встреча с актёром, который даёт новую информацию, видеопослание или что-то ещё.
  5. Плюс «случайные встречи» по дороге, как в классике RPG.

Чтобы превратить целую поездку в спектакль — чуваки сделали очень крутую работу. Особенно офигенные моменты старта следующего переезда, когда звучит что-то вроде: «мы знаем, где они — это пещерный город!» — и вы садитесь в машины, чтобы поехать атаковать чужую базу через 200 километров.

Сейчас расскажу, как это было у нас, и как это бывает у адекватных людей. Плюс добавлю игромеханический анализ. Забегая вперёд: это очень хорошая обёртка вокруг классического туризма, и это повторяемо в любом регионе. В теории.
Читать дальше →
Total votes 94: ↑89 and ↓5+84
Comments29

Как использовать запятые в английском: 15 правил и примеры ошибок

Reading time5 min
Views73K


Пунктуация очень важна, если вы хотите донести свою мысль четко, и получить ожидаемую реакцию. Однако в английском языке пунктуация серьезно отличается от того, к чему мы привыкли в русском языке. Более того, она отличается и в различных разновидностях английского.

В общем, здесь немало трудных моментов, разобраться с которыми самостоятельно может быть нелегко. Я нашла интересный пост с правилами использования запятых в английском языке и примерами ошибок. Представляю вашему вниманию его адаптированный перевод.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments12

Подарок к 9 мая

Reading time3 min
Views9.8K
Близится 9 мая. (Тот кто будет читать этот текст позже — сегодня 8 мая 2019 года). И в этой связи я хочу сделать нам всем вот какой подарок.

Совсем недавно я обнаружил у себя в стопке заброшенных CD-дисков игру Return to castle Wolfenstein. Смутно припоминая, что «кажется, игра была неплохая», я решил запустить ее под Linux. Ну так, не сколько чтобы поиграть, а больше покопаться. Тем более, что начались майские праздники, появилось свободное время.

image

Total votes 41: ↑28 and ↓13+15
Comments10

Thinking with Portals: создаём порталы в Unreal Engine 4

Reading time32 min
Views19K
image

В этой статье я расскажу, как создавать порталы в Unreal Engine 4. Я не нашёл никаких источников, подробно описывающих такую систему (наблюдение сквозь порталы и проход через них), поэтому решил написать собственную.

Что такое портал?


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

Примеры порталов в играх (GIF)


Antichamber (2013 год) и Portal (2007 год)


Prey, 2006 год

Из трёх игр самой известной, вероятно, является Portal, однако лично меня всегда восхищала Prey и именно её я мечтал скопировать. Однажды я попробовал реализовать собственную версию в Unreal Engine 4, но не особо преуспел, потому что в движке не хватало функционала. Тем не менее, мне удалось провести вот такие эксперименты:


Однако только в новых версиях Unreal Engine мне наконец-то удалось добиться нужного эффекта:

Total votes 33: ↑31 and ↓2+29
Comments13

Если есть в кармане пачка сигарет…

Reading time8 min
Views132K
Но если есть в кармане пачка сигарет,
Значит всё не так уж плохо на сегодняшний день.
Это – знаменитая фраза из знаменитой песни Виктора Цоя. Песня, вроде, вообще не о курении, но не так давно я понял – так мог написать только курильщик. Не знаю и, наверное, никогда уже не узнаю, что имел в виду Виктор Цой, но до меня смысл этой фразы дошел примерно год назад.

В этой фразе заключена одна из главных особенностей курения и его влияния на психику и ценности человека. Можно эту особенность игнорировать, или отвергать, а я предлагаю присмотреться к ней поподробнее и использовать в своих целях. Я пристально наблюдал за влиянием курения на свой мозг на протяжении года, спешу поделиться результатами.
Читать дальше →
Total votes 235: ↑203 and ↓32+171
Comments542

Information

Rating
Does not participate
Registered
Activity