Как стать автором
Обновить
121
0
Юрий @Kempston

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

Отправить сообщение

Как мы решили поддерживать ретроигрострой и что у нас получилось

Время на прочтение4 мин
Количество просмотров8.3K

Где-то году в 2014 меня внезапно накрыла идея поиграть в старые игры для ZX Spectrum, в которые мы с друзьями шпилили в школе после (и вместо) уроков, менялись кассетами, переписывали их и создавали свои сборники. А также посмотреть и поиграть во все остальные игры, на которые не хватило времени или они вообще не заезжали на нашу «тучу» и даже в Россию. Но эта статья не про мемуары, а про то, что есть сейчас и что будет в будущем.

Читать далее
Всего голосов 42: ↑42 и ↓0+42
Комментарии27

Барселона: как спасти наследие Ильдефонса Серды

Время на прочтение21 мин
Количество просмотров10K

Бьюсь об заклад, что имя этого человека малоизвестно за пределами сферы архитектуры, градостроительства и, возможно, истории искусств. А ведь Серда заложил основы современной урбанистики с междисциплинарным подходом. Именно он разработал знаменитый L'Eixample (Эшампле) — план расширения Барселоны в середине XIX в. на основе широких проспектов и улиц с восьмиугольными кварталами, давший имя всему центральному району и ставший первым примером масштабной городской трансформации. Сегодня Барселона пытается организовать её вторую серию — через программу суперкварталов вновь сделать центр пешеходным, зелёным, удобным для жизни и общения. Но вернуться к идеалам Серды, будучи центром крупнейшей на Средиземном море агломерации и туристической столицей, крайне непросто. Давайте разбираться!
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии22

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Время на прочтение9 мин
Количество просмотров65K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

Мы попытались учесть все эти пункты и представить комьюнити свое открытое некоммерческое решение, удовлетворяющее этим критериям. По причине его публичности мы не заостряем внимание на архитектуре и не фокусируемся на каких-то cherry picked примерах — вы можете оценить все сами, пройдя по ссылке.

Всего голосов 205: ↑205 и ↓0+205
Комментарии229

3D-аркада в браузере: как мы сделали игру на React + Redux

Время на прочтение16 мин
Количество просмотров14K

Привет, Хабр! В не такие уж далёкие годы, на первом курсе «программистского» факультета, мне нравилось задавать товарищам по учёбе вопрос: «Зачем вы вообще пошли сюда учиться?» Точной статистики ответов я, конечно, не вёл, но доподлинно помню: больше половины хотели делать игры. Большинство тех, кто так отвечал, оказались не готовы к обилию разных видов «математик» и «физик», которыми нас завалили в первые два года учёбы. Выдерживали не все — уже к концу второго курса из пяти переполненных групп осталось три неполных.


Не так давно нашей фронтенд-команде предоставилась возможность попробовать себя в роли gamedev. Очень коротко, задача такая: сделать самую настоящую 3D-игру, да так, чтобы можно было поиграть, просто открыв браузер. Даже мобильный. Даже в WebView.



В этом посте я постараюсь рассказать о том, как мы спроектировали архитектуру игры, с какими проблемами столкнулись, используя один из самых популярных и актуальных технологических стеков — React + Redux, и какими «хорошими практиками», вероятнее всего, придётся пожертвовать, если вы для схожих задач выберете этот же стек.

Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии10

Собираем лазерный проектор из доступных деталей

Время на прочтение7 мин
Количество просмотров87K
UPD: Добавлены файлы платы с ЦАП на GitHub

Изначально я планировал сделать Лазерную арфу, но пока получился промежуточный результат — устройство, которое можно использовать как лазерный проектор — рисовать лазером различные фигуры, записанные в файлах формата ILDA. Я в курсе, что многие, кто берется за сборку лазерного проектора, в качестве устройства, управляющего гальванометрами (так и не понял как лучше перевести на русский сочетание “galvo scanner"), используют дешевые слегка модифицированные звуковые платы для компьютера. Я пошел иным путем, так как в конечном счете мне нужно будет полностью автономное устройство, которое может работать без компьютера.



Посмотрим из чего состоит мой лазерный проектор. Стоимость всех деталей составила около 8000 руб, из которых больше половины — это 70mW лазерный модуль.
  1. Гальванометры и драйверы к ним для отклонения луча лазера по осям X/Y
  2. 532нм 70mW лазерный модуль с питанием от 5В Dragon Lasers SGLM70
  3. Texas Instruments Stellaris Launchpad
  4. Самодельная плата с ЦАП AD7249BRZ
  5. Блок питания

Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии10

Симуляция физического мира

Время на прочтение9 мин
Количество просмотров29K


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

Симуляцию, будь это дождь, поток воздуха над крылом самолёта или же падающий по ступенькам слинки (помните игрушку-пружинку радугу из детства?), можно представить, если знать следующее:

  1. Состояние всего в момент начала симуляции.
  2. Как это состояние меняется из одного момента времени в другой?
Всего голосов 33: ↑32 и ↓1+31
Комментарии31

Разработка браузерной онлайн игры без фреймворков и движков

Время на прочтение15 мин
Количество просмотров36K

Привет, Хабр!

В этом посте будет описан процесс разработки онлайн игры на чистом javascript и WebGL (без фреймворков и движков). Будут рассмотрены некоторые алгоритмы, техники рендеринга, искусственный интеллект ботов и сетевая игра. Проект является полностью опенсорсным, в конце поста будет ссылка на репозиторий.
Много картинок и гифок
Всего голосов 88: ↑88 и ↓0+88
Комментарии42

Разработка 2D песочницы на JavaScript с нуля

Время на прочтение5 мин
Количество просмотров16K
Как-то для своих некоторых планов мне потребовалось сделать небольшую песочницу в 2D пространстве с базовыми возможностями:

1. Передвижение по игровому миру
2. Физика при движении, столкновения
3. Создание блоков
4. Удаление блоков

Графическое исполнение меня не беспокоило, поэтому я решил оформить все в серых тонах, выглядит это так:

image
Всего голосов 16: ↑10 и ↓6+4
Комментарии10

Как я слил 1000$ в продвижение игры и что из этого получилось

Время на прочтение6 мин
Количество просмотров60K


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

Для многих знакома ситуация, делал-делал, а кроме друзей так и никто и не увидел игру, а ведь так старался! Под катом не будет расплывчатых формулировок или предположений по продвижению. Конкретно ссылки — конкретно результат. Поехали!
Читать дальше →
Всего голосов 82: ↑81 и ↓1+80
Комментарии79

Создаем своих криптокотиков (Часть 1)

Время на прочтение7 мин
Количество просмотров26K
В первых числах декабря 2017 года, пользователи блокчейн-проекта Ethereum столкнулись с неприятным открытием — любые их транзакции просто перестали подтверждаться. Фактически, вся сеть перестала функционировать из-за неожиданно разросшегося в размерах мемпула.

Совсем скоро стало понятно в чем же дело — во всем виноват оказался проект CryptoKitties. Это забавная игрушка, работающая на блокчейне Ethereum и позволяющая пользователям разводить «котят», скрещивать их и продавать как обычные критовалютные токены. В какой-то момент 15% всех транзакций в Ethereum приходились на криптокотят! А к моменту написания этой статьи, игроки потратили на котят уже 23 миллиона долларов!

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

cryptocat
Хочу криптокотика
Всего голосов 28: ↑27 и ↓1+26
Комментарии13

Кто на новенького? Мой первый опыт в разработке игры – от идеи до публикации

Время на прочтение5 мин
Количество просмотров14K
image

Всем привет! Меня зовут Алексей, я из Санкт-Петербурга. В этой статье расскажу про свой первый опыт разработки мобильной игры под Android на Unity3d.

Если Вам близка идея создания собственной игры или приложения, но Вы находитесь в раздумьях или не уверены в своих силах — читайте мою статью. Надеюсь, она поможет Вам принять решение!

Также интересно мнение опытных и успешных инди-разработчиков!

Итак, вот моя история.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии63

Доделал игру, работающую на видеокарте

Время на прочтение3 мин
Количество просмотров87K
Наконец-то я доделал игру, которая работает на видеокарте. Она несколько месяцев повисела в раннем доступе на стиме, и теперь я её окончательно выпустил. Основная фишка игры в том, что она представляет собой физическую симуляцию, которая выполняется на графическом процессоре. Основной код игры — это огромный compute shader, 6 тысяч строк на HLSL. Десятки тысяч взаимодействующих частиц обрабатываются параллельно, и выходит довольно быстро. Всё в игре сделано из этих частиц. Вот несколько гифок о том, как это работает:

image
Читать дальше →
Всего голосов 287: ↑276 и ↓11+265
Комментарии187

Станут ли воксели новой прорывной технологией?

Время на прочтение10 мин
Количество просмотров72K
Мы пообщались с потрясающими разработчиками Atomontage, пытаясь разобраться, смогут ли воксели вернуться и победить пиксели.


Воксельная разработка


Бранислав: в 2000-2002 годах я участвовал в соревнованиях европейской демосцены. Я написал несколько 256-байтных демо (также называемых intro) под ником Silique/Bizzare Devs (см. «Njufnjuf», «Oxlpka», «I like ya, Tweety» и «Comatose»). Каждое из интро генерировало в реальном времени воксели или графику из облака точек. И воксели, и облака точек являются примерами сэмплированной геометрии.

Интро выполняли свою задачу всего в 100 инструкциях процессора, таких как ADD, MUL, STOSB, PUSH и им подобных. Однако из-за самой природы такого типа программ на самом деле десятки инструкций использовались просто для правильной настройки, а не для генерации самой графики. Тем не менее этих 50 с лишним инструкций, которые по сути являлись элементарными математическими операциями или операциями с памятью, оказалось достаточно для генерации довольно красивой подвижной 3D-графики в реальном времени. Все эти 256-байтные интро выигрывали с первого по третье места. Это заставило меня осознать, что если такую 3D-графику возможно создавать без полигонов, то в играх и других приложениях можно достичь гораздо большего с помощью того же принципа: использования сэмплированной геометрии вместо полигональных мешей. Решение заключается в простоте. Я понял, что доминировавшая тогда парадигма, основанная на сложных и фундаментально ограниченном (необъёмном) представлении данных, уже готова была упереться в потолок возможностей. То есть настало подходящее время испробовать эту «новую», более простую парадигму: объёмную сэмплируемую геометрию.

image

Всего голосов 101: ↑98 и ↓3+95
Комментарии75

Я написал кроссбраузерное расширение для вкладок, но вы так не делайте

Время на прочтение11 мин
Количество просмотров12K

Длинное, нудное вступление с претензией на манию величия


Однажды я обнаружил, что меня, как всегда, что-то сильно не устраивает в этом мире. А именно, введя какой-то длинный запрос в поисковике на настольном компьютере и затем перейдя на планшет, я никак не мог вспомнить дословно текст запроса, чтобы выйти ровно на те же результаты. А начиналось все так хорошо. Я увидел в поисковике ссылку на ответ на свой вопрос и понял, что она сулит долгое чтиво. Тогда я выключил комп и плюхнулся на диван с планшетом с мыслью о том, что вот сейчас я просто заново вобью все это в поисковик, открою ту ссылку теперь уже на планшете и лежа, спокойно, в более удобной позе прочитаю… Но не тут-то было. Какие-то мелкие разночтения в тексте — и моей ссылки уже нет в выдаче поисковика. Воспроизвести саму ссылку — тоже не вариант: она слишком длинная. Ломая голову над вариантами текста запроса, я чуть было в ярости не сломал планшет. Черт побери, пришлось вставать, снова включать компьютер, запускать браузер и копаться в истории, чтобы найти точный текст своего запроса.


Расширение, установленное в Chrome и Firefox
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии33

Попытки сделать изучение алгоритмов поиска пути проще

Время на прочтение8 мин
Количество просмотров25K
Алгоритмы поиска пути — неотъемлемая часть разработки игр. А также различных систем навигации, ориентации и много чего ещё. Но мы сосредоточимся на именно игровой индустрии и алгоритмах, которые в ней применяются.

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

image
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии18

Браузерная 3D WebGL игра с возможностью установки в IndexedDB

Время на прочтение11 мин
Количество просмотров20K


Запаситесь попкорном — я поведаю вам интересную историю… В общем, это будет одно из тысячи сочинений на тему «Как я написал свою игру». Сначала я планировал осветить как можно больше технических деталей, но потом понял, что их слишком много для одной статьи и она получится огромной. Поэтому «первая серия» будет, скорее, обзорной. Если будет интересно, то продолжу. Итак.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии6

Карточная игра на JavaScript и Canvas, или персональный Лас-Вегас. Часть 1

Время на прочтение11 мин
Количество просмотров30K
Однажды на досуге я придумал карточную игру и, недолго думая, создал ее электронную версию. А потом добавил еще четыре игры, включая покер Техасский Холдем. А чтобы было еще интереснее, я встроил некое подобие прогресса: выигрываешь в одной игре – открывается новая. Запланировал я разместить свою игру в двух социальных сетях и в магазине Windows Store как html5-js приложение. А также, возможно, создать еще сборки под Android и iOs. Можно играть чрез сервер с другими людьми, а можно – офф-лайн с ИИ.

Для работы я, как всегда, не использовал никакие сторонние движки и библиотеки, даже jQuery мне не понадобилось. Только функции ванильного JavaScript, включая средства работы с холстом (canvas). Холст в игре – основа для вывода всей игровой графики. В WebGL, на этот раз, не было необходимости, поэтому зоопарк поддерживаемых браузеров расширился. Средой программирования, как обычно, стал продвинутый блокнот. Игра получилась объемом 3,8 Мб, из которых 3 Мб — это семь карт спрайтов в формате png. Запускается игра по html-файлу. Сервер на PHP. В случае выбора однопользовательской игры (то есть, с ИИ), запросы к серверу не отправляются и все расчеты ведутся на клиенте. Диздок не писал – он не нужен хипстерам.


Далее – занимательная геометрия и программирование, а во второй части будет рассказ о размещении игры в социальных сетях и в магазине.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии45

Писать веб-сайты на ассемблере полезно и приятно

Время на прочтение5 мин
Количество просмотров138K

Конечно, многие скажут, что это ни-ни и писать для веба нужно только на PHP, ну или на один из модерных языках Питон, Руби, Node.js и т.д.


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


Вообще-то, это утверждение было лишь гипотезой. Чтобы доказать или отвергнуть ее, этой весной я занялся писать форум на ассемблере.


Раньше у меня уже было веб-приложение на ассемблере — CMS для малого сайта. Только оно работает в режиме "один пишет, многие читают". При том, использует CGI интерфейс и поэтому "многие" читать одновременно тоже не получается.

Читать дальше →
Всего голосов 156: ↑126 и ↓30+96
Комментарии429

Змейка. Развитие жанра

Время на прочтение5 мин
Количество просмотров19K
Brave Train

Все началось с того, что я получил тестовое задание на вакансию Unity-разработчика: написать игру «Змейка». Чуть позже от вакансии по субъективным причинам пришлось отказаться, но к тому времени я уже начал делать проект и, чтобы не пропадать работе, решил его развить, закончить и выпустить. Так я обзавёлся своей «Змейкой», которую никогда до этого делать не собирался.
Читать дальше →
Всего голосов 54: ↑49 и ↓5+44
Комментарии77

Как я писал игру на конкурс, или чудесное превращение «Линий» в «Морской бой»

Время на прочтение8 мин
Количество просмотров14K


Эта история о том, как я делал очередную 3D веб-игру. История терзаний и сомнений, история недосыпаний и лени. История о том, как все сделать в самый последний момент. В общем, чего тянуть кота за рога – перейду к рассказу. Но сперва – еще кое-что, чтобы покончить со всеми формальностями. «Мадам, вам кофе в постель?» «Нет, лучше в чашку». Кофе был моим ежедневным спасением из лап Морфея, особенно когда я хотел поработать над игрой с утра, перед всеми остальными дневными заботами. Надо отдать ему должное. Я просто не могу не упомянуть о нем, так как для меня это стало воистину одной из составляющих успеха, под коим я понимаю доведение игры до релиза. (Здесь могла быть ваша реклама кофе).

Конкурс


На самом деле, я вписался не в тот конкурс, для которого мог бы что-то сделать. По его условиям требовалось создать игру под Windows, скачиваемую и запускаемую по exe-файлу. Я же люблю программировать под браузеры. Я не знаю C++ и C#, у меня даже нет Visual Studio. Но тут внезапно у меня появилась отличная идея игры, и я подумал – а какого черта! Буду просто делать игру. А получится ли соблюсти все условия конкурса или нет – не так важно. В конце концов, просто запущу ее в социальных сетях.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии27

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность