Skip to content

О неизменном: история 9 места Russian AI Cup 2019

О неизменном: история 9 места Russian AI Cup 2019 published on Комментариев к записи О неизменном: история 9 места Russian AI Cup 2019 нет

Меня зовут Андрей Рыбалка, я участвую в Russian AI Cup под ником lama и я снова расскажу вам, как не выиграть макбук. Благо, я в этом человек опытный — вот этими вот руками не выиграл уже целых 7 штук.


Итак, задачей этого года был платформер/2D-шутер, для которого нужно было написать бота.
Выглядела игра вот так:



Бот выглядел так:



Если вам интересно, как картинка #2 играла в картинку #1, прошу под кат.

Читать дальше →

Движок, скриптовый язык и визуальная новелла — за 45 часов

Движок, скриптовый язык и визуальная новелла — за 45 часов published on Комментариев к записи Движок, скриптовый язык и визуальная новелла — за 45 часов нет

visual novel, engine and scripting language for 45 hours


Приветствую. Так получилось, что уже три года подряд в качестве подарка на Новый год определенным людям я делаю игру. В 2018-ом году это был платформер с элементами головоломки, о котором я писал на хабре. В 2019-ом — сетевая RTS для двух игроков, о которой я ничего не писал. И наконец, в 2020-ом — визуальная новелла, о которой далее и пойдет речь, созданная в условиях сильно ограниченного времени.


В этой статье:


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

Интересно? Тогда добро пожаловать под кат.


Осторожно: тут много текста и ~3.5мб изображений

Читать дальше →

[Перевод] Публикация кода VVVVVV показала, насколько грубо устроены игры внутри

[Перевод] Публикация кода VVVVVV показала, насколько грубо устроены игры внутри published on Комментариев к записи [Перевод] Публикация кода VVVVVV показала, насколько грубо устроены игры внутри нет
image

На прошлой неделе создатель Dicey Dungeons Терри Кавана отпраздновал десятую годовщину своей давней игры VVVVVV, by опубликовав её исходный код [перевод на Хабре]. Если объяснять просто, то это значит, что любой человек может теперь посмотреть, как создавалась игра, потому что каждую строку кода можно внимательно изучить.

Такое нечасто случается и поэтому ценность публикации этой информации очень велика. Люди могут учиться по ней или улучшать код. Некоторые отзывы на исходный код VVVVVV были ужасными — исследователи увидели вещи, которые можно было написать лучше. Возможно, Кавана предвидел это — в своём посте, где он объявил о публикации кода, Терри признаёт, что «технически игра VVVVVV не очень хорошо продумана! Даже по стандартам инди-разработчиков-самоучек, код довольно хаотичен».

Существует заблуждение, что написание кода само по себе является изящным и продуманным, ведь в конечном итоге, это своего рода написание логики, не так ли? Не зря ведь это называется компьютерными НАУКАМИ? Но в реальности всё гораздо сложнее. Очень часто истории разработки видеоигр показывают, что поскольку в играх есть так много элементов, от геймдизайна до звука, что часто собираются в единое целое только в последний момент, если вообще когда-нибудь собираются.
Читать дальше →

В «osu!» играй, про ошибки не забывай

В «osu!» играй, про ошибки не забывай published on Комментариев к записи В «osu!» играй, про ошибки не забывай нет

Picture 1

Приветствуем всех любителей экзотических и не очень ошибок в коде. Сегодня на тестовом стенде PVS-Studio достаточно редкий гость – игра на языке C#. А именно – «osu!». Как обычно: ищем ошибки, думаем, играем.
Читать дальше →

[Перевод] Эффект Кулешова в Disco Elysium: как контекст создает смысл

[Перевод] Эффект Кулешова в Disco Elysium: как контекст создает смысл published on Комментариев к записи [Перевод] Эффект Кулешова в Disco Elysium: как контекст создает смысл нет


Прежде чем перейти к Disco Elysium, вернемся на 100 лет назад. В 1910-е и 20-е годы Лев Кулешов продемонстрировал эффект киномонтажа — в зависимости от сопоставления двух кадров, поставленных рядом, появляется новый смысл. Кулешов снял крупным планом лицо актера, а затем еще 3 кадра: тарелку супа, девочку в гробу и девушку на диване.
Читать дальше →

[Из песочницы] Есть ли «GameDev» на Сахалине? 1.V

[Из песочницы] Есть ли «GameDev» на Сахалине? 1.V published on Комментариев к записи [Из песочницы] Есть ли «GameDev» на Сахалине? 1.V нет
image

Автор данной статьи решил провести тщательный игровой обзор народной «цифровизации», прямо всё, что связано с Сахалином. Не коснемся умирающего кибер-спорта и пропагандирующих игр как «Путешествуй безопасно!» от клуба «Бумеранг». Турниры по игре «Сеня спасатель» от МЧС России получивший диплом от «Рекламы будущего» Мы поговорим о свободном творчестве без «лохматой руки». Да, на Сахалине странно всё.
Читать дальше →

Возвращение «Эпохи империй»: всё, что известно про Age of Empires IV

Возвращение «Эпохи империй»: всё, что известно про Age of Empires IV published on Комментариев к записи Возвращение «Эпохи империй»: всё, что известно про Age of Empires IV нет

На прошедшей неделе в ночь с четверга на пятницу на конференции X019 в Лондоне произошло долгожданное событие — компания Microsoft показала геймплей продолжения знаменитой стратегической серии Age of Empires IV. На первый взгляд проект, окруженный «туманом войны» на протяжении вот уже нескольких лет, напоминает выполненный в 3D ремейк Age of Empires II — самой популярной части серии, в которую до сих пор играют миллионы любителей RTS и истории. Предупреждаем: «кидать деньги в монитор» пока ещё рано — игровые издания называют ориентировочной датой релиза 2020 год.

Под катом вас ждет рассказ о том, почему выхода новой Age of Empires пришлось ждать целых 15 лет, максимум известных подробностей про четвертую часть легендарной стратегической серии, а также обзор закрытого показа игры, основанный на показаниях свидетелей и игровой прессы.
Читать дальше →

[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти

[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти published on Комментариев к записи [Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти нет
image

Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK).

Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не рассмотрены. Они просты и их можно посмотреть в репозитории GitHub:

  • Vector
  • IShape
  • Collision

Весь код из поста хранится в репозитории GitHub:

https://github.com/jthomperoo/gjk-ts-implementation

Пост написан на основании этой статьи и рекомендованного в ней видео:


Введение


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

[recovery mode] Создание игр и видео на YouTube. Мой эксперимент взаимодействия и доход от этого

[recovery mode] Создание игр и видео на YouTube. Мой эксперимент взаимодействия и доход от этого published on Комментариев к записи [recovery mode] Создание игр и видео на YouTube. Мой эксперимент взаимодействия и доход от этого нет

Привет всем, кто ещё не спит


Возможно ты меня не помнишь, но где-то год назад я писал статью на Хабре, как я использовал свой Ютуб канал с 8К подписчиками и бюджет в 0 рублей, чтобы получить продажи моей с ПК игры. Не скажу, что эксперимент вышел удачный, но некий результат и опыт я все же получил. Если вкратце, то у меня есть канал по-разработке игр "Флатинго", который был создан для получения медийности и облегчения маркетинга моих игр. Стильно, модно, молодежно. Если тебе лень читать прошлую статью, то с простенького 2D платформера за $2 в Steam и пару роликов на Ютубе о ней с 8К подписчиков — я получил тогда где-то $450 за первый месяц. Далее продажи пошли на спад. Я подумал, что это не плохо для первой игры и забил на неё развитие и рекламу. Ни обновлений, ни порта на мобилки я не делал, хоть аудитория очень просила.
Читать дальше →

Новая игра со старой атмосферой на Three.js. Часть 2

Новая игра со старой атмосферой на Three.js. Часть 2 published on Комментариев к записи Новая игра со старой атмосферой на Three.js. Часть 2 нет
В первой части я рассказал о проблемах, с которыми я столкнулся в процессе создания 3D игры под браузер c использованием Three.js. Теперь я хотел бы подробно остановиться на решении некоторых важных задач при написании игры, типа конструирования уровней, определения столкновений и адаптации изображения под любые пропорции окна браузера.


Схемы уровней


Собственно, сами уровни создаются в 3D редакторе, а именно, их геометрия, наложение текстур, запекание теней и т.д. Все это я описал в первой части. Зачем нужны еще какие-то схемы? Дело в том, что Three.js не предлагает какого-то физического движка, и я использую схемы уровней для определения препятствий.
Читать дальше →

Primary Sidebar