Платформеры на двоих на ПК: лучшие проекты. Лучшие платформеры на пк

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

Жанр, вроде бы, простой, даже примитивный. Скачешь по всяким «балкончикам» (тем самым платформам), собираешь всякие предметы, отбиваешься от противников, и стараешься пройти уровень. Иногда, в процессе прохождения, еще и решаем всякие головоломки. Но затягивает все это не на шутку, куда сильнее, чем более «серьезные» игры. А любителей подобных проектов и сейчас очень много. Как и самих проектов, впрочем. Но, не смотря на многочисленность, мы попытались отобрать лучшие платформеры из тех, что выходили на ПК, и составили из них наш ТОП-10.

10. TowerFall: Ascension

Игра, которая сделана в стиле классических платформеров, выходивших в конце 80-х начале 90-х. Пиксельная графика, отсутствие сетевого мультиплеера и море фана. Здесь есть несколько режимов игры, каждый из которых по-своему хорош. Во-первых, есть возможность играть вчетвером (!) на одной машине – очень веселое и забавное ПвП. Во-вторых, можно проходить уровни на время, уничтожая на них неподвижные чучела (до которых еще надо добраться). И в-третьих – здесь есть режим выживания, в котором вы должны будете раз за разом отбиваться от волн различных монстров. Все режимы весьма интересны и займут вас надолго.

9. SteamWorld Dig

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

8. Shovel Knight

Игра, которая выглядит как привет из прошлого. У геймеров со стажем, которые хорошо знакомы со старыми платформами вроде SNES , этот проект вызовет приступ ностальгии. Та самая графика, тот самый геймплей и те самые ощущения. При этом игра не является бездумным копированием старых идей – она действительно интересна и способна затянуть не на шутку едва ли не любого игрока. Главный герой здесь – , пользующийся почти что легендарным мечом, сделанным в виде лопаты. Им он решает многие головоломки, а также «закапывает» различных монстров. Цель у нашего героя одна – спасти принцессу. И это занятие займет и его, и вас вмести с ним, надолго.

7. Velocity 2X

А здесь у нас – классическая. В будущем на Землю прилетели злые пришельцы, и всех поработили. Но героиня игры категорично не согласна с подобной постановкой вопроса, и считает, что хороший пришелец – мертвый пришелец. И в течении всей игры она будет действовать согласно этому тезису. Геймплей вроде как не сложный – бегаем и прыгаем по платформам, попутно пачками истребляя чужих. Но все настолько интересно и динамично, что игра просто не отпускает. Попробуйте сами, и поймете почему.

6. Spelunky

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

5. Mark of the Ninja

А эта игра привлекает тем, что это один из немногих стелс-платформеров на ПК (да и на любой другой платформе тоже). Наш герой – ниндзя , чей клан был уничтожен, и ему надо отомстить и при этом не погибнуть. Никаких лобовых атак в игре не предусмотрено – пара выстрелов, и наш герой отправляется на встречу с предками. В мир иной. Вместо этого мы тихо обходим или уничтожаем врагов, как тень скользим по самым темным закоулкам и не даем понять, что вообще тут были. Напрягает все это куда сильнее, чем любая схватка с очередным мегабоссом, а удовлетворение от успешного прохождения уровня вообще зашкаливает. Так что, если вам по душе стелс или необычные платформеры (или – и то, и другое) – то Mark of the Ninja просто создана для вас.

4. Limbo

Про эту игру наверняка слышали многие. Один из самых мрачных и необычных платформеров, которые выходили в последние лет десять, как минимум. Наш герой – маленький мальчик, который ищет свою сестру. И занимается поисками он в Лимбо , на редкость неприятном месте. Тут множество страшных врагов, каждый из которых стремиться убить главного героя, причем старается сделать это как можно более… неприятным способом. А так как справиться с противниками в открытом бою невозможно, приходится изыскивать различные нетривиальные способы избежать смертельной участи. Головоломки в игре весьма интересно, и, что самое главное, логичны. Графика тоже хороша, хотя и на свой лад. Все выполнено в черно-белой гамме, только усиливающей общее депрессивное впечатление от игры. Тем не менее, оторваться от игрового процесса просто невозможно.

3. Super Meat Boy

Проект для тех, кто любит хардкор. Главный герой игры – (да, именно так), который должен проходить самые разные уровни для того, чтобы воссоединиться со своей подружкой. На каждой стадии есть кто-то, кто хочет нарезать нашего персонажа дольками, перемолоть в фарш, посолить (соль тут убивает мнгновенно), поджарить или сделать отбивную. Возможна комбинация нескольких выше названных вариантов. А что может наш герой? Он может убежать, или упрыгать. Никакого оружия, никаких суперспособностей – только хардкор. Адреналин лезет из ушей, руки дрожат как у эпилептика, а вы все пытаетесь понять, как же пройти этот чертов уровень. Игрушка затягивает, что тут сказать.

2. Rayman Legends

Здесь у нас практически образцовый платформер. Отличная графика (дизайнеры и художники сделали максимум возможного), великолепный геймплей и немного безумия во всем происходящем. Игра очень веселая, и она не раздражает даже на самых сложных уровнях. Кроме того, игровой процесс сильно варьируется – иногда он динамичен, иногда вдумчив и нетороплив, а иногда… Впрочем, все сами увидите. Кроме того, здесь много действительно смешных моментов. А для тех, кто любит поиграть с друзьями, есть режим, рассчитанный на нескольких игроков. Правда, только на одном компьютере, но это не особенно напрягает. В общем, если вам нужно средство для повышения настроения – Rayman Legends просто предназначен для вас.

1. Super Mario 3: Mario Forever

Ну и на первом месте у нас ремейк классического Super Mario Bros , сделанный специально для ПК. Оригинальный Марио официально является самой продаваемой игрой всех времен. По этому параметру, а также по популярности с ним не может конкурировать ни одна франшиза, даже такие известные как Герои Меча и Магии или Mass Effect . Геймплей тут… Хм, а его вообще имеет смысл описывать? Бегаем по уровням, собираем грибы и всяческие бонусы, отбиваемся от всяческих противников и стремимся к тому, чтобы спасти принцессу. В общем, классика жанра как она есть. И если вы по какой-либо причине не играли в этот проект – обязательно постарайтесь исправить это упущение.

Википедия утверждает, что платформер – это игра, где нужно много прыгать, лазать и что-то собирать. Добавим от себя – обычно это еще и захватывающая головоломка с интересными локациями, секретными бонусами и непростыми противниками (хотя это совершенно не обязательно).

Неудивительно, что жанр нравится многим, да и достойных представителей у него хватает. В этом списке – только самые интересные платформеры на PC для совместного прохождения. Все игры в подборке вышли не ранее 2015 года.

1. Cuphead – отличное сочетание юмора и абсурда

«Cuphead» – герои с чашками вместо головы, демоны из ада, Люцифер и картинка, будто бы нарисованная Уолтом Диснеем. В этой игре прекрасно все от первого до последнего кадра.

Видео игры Cuphead

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

  • Сайт игры: http://www.cupheadgame.com/

2. Broforce – драйвовое пиксельное рубилово

«Broforce» – не самый классический платформер, но дайте ему шанс. Это отличный бодрый шутер, местами даже значительно более веселый, чем «серьезные» проекты.

Видео игры Broforce

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

  • Сайт игры: http://www.broforcegame.com/

3. Sonic Mania – ностальгия длительностью в 25 лет

«Sonic Mania» – ежик Соник возвращается с HD-графикой и новыми боссами. После нескольких провальных игр серии, эта получилась очень достойной.

Видео игры Sonic Mania

  • Сайт игры: https://www.sonicthehedgehog.com/

4. Trine 3 – атмосферное приключение на троих

«Trine 3» – новая часть приключений Амадея, Понтия и Зои, на этот раз с трехмерной картинкой и все той же узнаваемой сказочной атмосферой.

Видео игры Trine 3

Простая красочная игрушка с незатейливым сюжетом и харизматичными персонажами. Великолепный саундтрек и качественная русская озвучка.

  • Сайт игры: http://www.trine3.com/

5. Starbound – большой космический мир

«Starbound» – это сурвайвал-песочница, экшен с открытым миром и платформер в одном лице. А еще – большая интересная инди игрушка, способная затянуть надолго.

Видео игры Starbound

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

  • Страница в Steam: https://store.steampowered.com/app/211820/Starbound/

6. Move or Die – суперскоростные мультяшные поединки

«Move or Die» – игра для тех, кому больше не нужны друзья. Приготовьтесь прощаться, спустя пару таких поединков вполне реально друг друга возненавидеть.

Видео игры Move or Die

Кооперативный платформер с локальной игрой на четырех

1 Бои на четверых , партия длится всего 20 секунд, бой состоит из нескольких партий.
2 Десятки крутых режимов – ракетный забег, пугающий призрак, бомбомет, плюх.
3 За победу дают скины – котики, гамбургеры, вампиры, бутерброды и ниндзя.
4 Стоять на месте запрещается – без движения герой просто взрывается.
5 Есть редактор уровней , персонажей и режимов, а все дополнения бесплатны навсегда.

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

  • Сайт игры: http://www.moveordiegame.com/

7. Roguelands – спасти безумный мир

«Roguelands» – двухмерная RPG с тысячами предметов для крафта, сотнями врагов, перманентной смертью и непростой прокачкой.

Видео игры Roguelands

Большой процедурно генерируемый мир с интересными зонами для изучения – это что-то вроде «Terraria», только без терраформинга.

  • Страница в Steam: http://store.steampowered.com/app/364420/

8. Brawlhalla – быстрые поединки мифических героев

«Brawlhalla» – экшен на 2-8 игроков с неплохим выбором режимов, большинство из которых сводится к попыткам сбросить противника с платформы в пропасть.

Видео игры Brawlhalla

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

  • Страница в Steam: https://store.steampowered.com/app/291550/

9. Duck Game – олдскульный шутер с утками

«Duck Game» – будьте уткой, думайте как утка и сражайтесь с другими утками за вершины уточных рейтингов.

Видео игры Duck Game

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

  • Страница в Steam: https://store.steampowered.com/app/312530/

10. Ultimate Chicken Horse – головоломка с паркуром

«Ultimate Chicken Horse» – игра для тех, кто считает, что в этом списке все еще недостаточно абсурда. Что ж, вот теперь его точно хватает.

Видео игры Ultimate Chicken Horse

Геймплей необычный и залипательный, есть русская локализация, а в онлайне стабильно хватает желающих поиграть. Но в локальном прохождении на 2-4 игроков, как и всегда, веселее.

  • Сайт игры: https://www.cleverendeavourgames.com/

В эту подборку лучших платформеров не вошли одиночные проекты, иначе список пришлось бы увеличивать в несколько раз. Самые яркие представители – «Limbo», «Little nightmares», «Ori and the Blind Forest», «Rayman Origins», «Super Meat Boy». В популярности жанра нет ничего удивительного – платформеры обычно получаются веселыми и не требовательными к железу.

На ПК пользуются популярностью из-за предоставления возможности развлечения и плотного взаимодействия между игроками. Такие проекты появляются в индустрии нечасто, но несколько примечательных шедевров следует отметить. Именно им посвящен данный материал.

Сатира во главе угла

Среди платформеров на двоих на ПК первые позиции рейтинга занимает проект под названием Shank 2. Разработчики сделали упор на игровой процесс, который предусматривает зачистку уровней от противников. Персонажам дан огромный арсенал оружия - от холодных инструментов в виде заточки до взрывных мин. Механика блокирования удалена, а ее заменили уклонения. По сравнению с первой частью доработана визуальная составляющая. Враги обладают достаточным уровнем интеллекта, а потому их уничтожение предусматривает слаженную командную работу. Сюжет здесь является смесью сатиры с противостоянием правоохранительным органам, бандитским группировками анархии. В нем есть места для мести и много черного юмора.

Уникальная история

Платформеры на двоих на ПК способны подарить незабываемый игровой и эмоциональный опыт. Это подтверждает проект под названием Never Alone. Удивительное приключение, созданное на основе мифов коренных народов Аляски. Начинается все с того, что заснеженный регион страдает от постоянных мощных порывов ветра. Они никак не закончатся, а потому решить проблему берется маленькая девушка. Ее путешествие начинается неудачно, ведь огромный белый медведь решил сделать героиню своей добычей. В последний момент ей на выручку бросается необычайный песец. Это умное животное становится верным компаньоном в будущих приключениях. Сюжет поражает, удивляет и вызывает много эмоций. Игровой процесс завязан на взаимодействии двух персонажей. Это сильнее способствует погружению в атмосферу. Именно потому среди платформеров на двоих для ПК этот проект заслуживает огромной похвалы. Графика выполнена в блеклых тонах, но стилистика четко подчеркивает морозную погоду в регионе. Большим плюсом является разнообразие загадок в игровом процессе, в меру сложных и интересных.

Повествование от необычного рассказчика

Среди платформеров на двоих на ПК иногда попадаются настоящие бриллианты, которые хочется проходить заново несколько раз. Таковой игрой является The Cave. В переводе «Пещера». Разработчики выполнили игру в интересном юмористическом стиле, который не приедается. Суть сюжета в том, что семь типичных, стереотипных персонажей ждут очереди на вход в пещеру. Она представляет собой волшебный лабиринт, после его прохождения можно узнать о возможностях прошлого и будущего. Человек познает себя, и этим локация манит к себе. На старте игроки выбирают трех персонажей, каждый из которых обладает уникальным навыком. Они применяются в локациях, посвященных жизни героев. В ходе прохождения территория пещеры формируется под избранных персонажей, есть также общие места для всех. Игра отлично справляется с задачей заинтересовать пользователей. Интересные головоломки с волшебной подачей увлекают на десяток часов.

Долг героев

Игры-платформеры на ПК про героев редко удивляют интересным сюжетом. В Trine 2 он также не блещет феноменальными поворотами и интересными моментами. История рассказывает, как артефакт «Триединство» снова призывает героев встать на защиту сказочного королевства. Из-за конфликта между сестрами Изабель и Розабель. Вторая девушка затаила зло на то, что трон достанется ее родственнице. Она смогла погрузить сестру в вечный сон, но получить желаемое не удалось. Земли государства пленили гоблины. Героям предстоит освободить от них королевство и спасти Изабель. Игровой процесс предусматривает управление тремя героями с возможностью смены в любом месте персонажа. Каждый обладает уникальными способностями. Например, маг создает специальные блоки. Некоторые головоломки поражают сложностью и заставляют долго думать игроков. Отдельно следует выделить яркий визуальный стиль. Общая пародия на произведения фэнтези-жанра часто вызывает улыбку.

Представитель известной вселенной

Последний достойный претендент на место в рейтинге платформеров на ПК на двоих - Sacred Citadel. Проект является частью известной вселенной ролевых произведений, которые пользовались популярностью в начале века. Сюжет рассказывает об угрозе миру Анкарии. Она исходит от лорда Зейна, который хочет поработить все земли. Свою власть он распространяет через огромное войско орков, оснащенных разными модификациями. Герои стандартно делятся на классы, они используют свое оружие и обладают интересными способностями. Благодаря этому игровой процесс более разнообразен. Разработчики реализовали кооператив на одном экране с возможностью подключения трех людей. В одну игровую сессию участники могут входить в любой момент. Плюсом проекта является визуальное оформление с низкополигональной графикой.

На этой странице портала "сайт" собран обширный список игр на ПК жанра платформер. Каждая игра на ПК из данного каталога отобрана нами тщательным образом, и мы уверены, что все собранные здесь игры стоят вашего внимания! Пересмотрев игры этой категории, вы точно найдете подходящую игру для себя. Наш список игр на ПК жанра платформер сочетает в себе самые лучшие и запоминающиеся компьютерные игры всех времен. Игры удобно разбиты по датам с 2017 - 2016, и ранних годов. Также стоит уделить внимание нашему ТОП 10 игр на ПК, для него мы отобрали только лучшие игры жанра.

сайт

Количество информации по играм может запутать вас, но мы максимально проработали ее, и вы со всеми удобствами сможете выбрать нужную Вам игру посмотрев видео и скриншоты, или же подробно ознакомившись с информацией на соответствующей странице игры. Сайт OnyxGame собрал большое количество разнообразных игровых жанров и отсортировал их по играм на PC и другим платформам. Теперь вы точно найдете для себя только лучшие компьютерные игры!

  • Перевод

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

Моей целью было создать исчерпывающий и понятный путеводитель по реализации 2Д платформеров.

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

Четыре решения

Мне приходит на ум четыре основных варианта решений при создании платформера. В рамках этой статьи будут рассмотрены все четыре, но из-за большого объема статья поделена на 2 части (прим. пер).

От простого к наиболее сложному это:

Тип №1: Тайловый (чистый)

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


Flashback, сетка тайлов
Примеры: Prince of Persia, Toki Tori, Lode Runner, Flashback

Как оно работает
Карта - это сетка тайлов, каждый из которых содержит информацию о свойствах тайла: препятствие это или нет, какое изображение использовать, какие проигрывать звуки шагов и так далее. А игрок и другие персонажи представлены набором из одного или нескольких тайлов, движущихся вместе. Например, в Lode Runner игрок является одним тайлом. В Toki Tori же игрок 2х2 тайла. А в игре Flashback, которая довольно необычна из-за небольшого размера сетки тайлов, игрок имеет габариты в два тайла в ширину и пять в высоту (см. изображение выше) когда стоит, но всего три тайла в высоту, когда пригибается.
В играх такого типа, персонаж обычно не двигается по диагонали, а если и двигается, то, движение можно разложить на два отдельных шага. Движение на несколько тайлов можно сделать множественными сдвигами одиночных тайлов, если нужно (во Flashback игрок всегда движется по два тайла за раз). Складывается следующий алгоритм:

  1. Создать копию персонажа там, где он должен оказаться (т.е. если нужно сдвинуться на 1 тайл вправо, нужно сделать копию, где каждый тайл персонажа сдвинут на один тайл вправо)
  2. Проверить эту копию на пересечение с фоном и другими персонажами
  3. Если найдено пересечение, то передвижение персонажа заблокировано. Нужно отреагировать соответствующим образом.
  4. В противном случае путь чист. Передвигайте персонажа сюда, воспроизводя анимацию, если необходимо, чтобы перемещение выглядело плавным.

Этот тип движения совершенно непригоден для обычных прыжков «по дуге», поэтому игры такого жанра вовсе лишены прыжков (Toki Tori, Lode Runner) или разрешают только горизонтальные или только вертикальные прыжки фиксированной длины (Prince of Persia, Flashback), которые есть ни что иное как обычное линейное движение. Преимущества этой системы - простота и точность. Такие игры более детерминированы, что ведет к меньшей вероятности появления глюков и более контролируемому геймплею, не требующему слишком часто подстраивать значения в зависимости от обстоятельств. Фиксированные расстояния для взаимодействия дают возможность сделать красивую бесшовную анимацию. Значительно упрощается реализация некоторых игровых механик (таких как ухват за выступ и односторонние платформы) - всё что нужно сделать, это проверить, удовлетворяют ли тайлы фона в нужной позиции необходимым условиям.
Конечно, эта система не даёт делать шаги менее чем на один тайл, но шаги можно уменьшать разными способами. Например, тайлы могут быть чуть меньше, чем игрок (скажем, игрок 2х6 тайлов), или можно разрешить «только визуальное» движение, чтобы перемещаться внутри выбранного тайла без изменения логики (я полагаю, что это решение применено в «Lode Runner – The Legend Returns»)

Тип №2: Тайловый (Плавный)

Столкновения по прежнему определяются сеткой тайлов, но персонажи могут двигаться в мире свободно (обычно с разрешением в 1 пиксель. см. замечание в конце статьи относительно плавности движения). Это наиболее частая форма реализации платформеров на 8-ми и 16-ти битных консолях, остающаяся популярной и сегодня, так как крайне легка в реализации и позволяет редактировать уровень намного проще чем с применением более сложных техник. Также она позволяет делать уклоны и плавные прыжки по дуге.
Если вы не уверены какой именно платформер хотите сделать, но точно экшн, то я предлагаю остановиться на этом типе. Неудивительно, что подавляющее большинство лучших экшн-платформеров всех времён основываются именно на этом методе.


Mega Man X, с сеткой и прямоугольником персонажа.

Примеры: Super Mario World, Sonic the Hedgehog, Mega Man, Super Metroid, Contra, Metal Slug, и практически любой платформер 16-битной эры

Как это работает
Информация о карте хранится также, как и в чисто тайловом методе. Разница только в том, как персонаж взаимодействует с фоном. Теперь у персонажа есть описывающий его прямоугольник для просчета столкновений (AABB, который не может вращаться), и, обычно, по размеру является кратным размеру тайла. Стандартные размеры вроде одного тайла в ширину и один (маленький Mario, пригнувшаяся Samus), два (большой Mario, Mega Man, пригнувшаяся Samus) или три (стоящая Samus) тайла в высоту. Во многих случаях визуально спрайт персонажа больше, чем логический прямоугольник, так как это делает внешний вид игры более приятным и геймплей - более честным (согласитесь, что для игрока лучше избежать попадания, когда он должен его получить, чем получить когда не должен).
На изображении выше, можно заметить, что спрайт с персонажем «X» квадратный (два тайла шириной), однако описывающий его прямоугольник шириной только в один тайл.
При условии, что нет уклонов и односторонних платформ, алгоритм прост:

  1. Разложить движение на оси X и Y, делать одно перемещение за раз. Если планируется позже добавить уклоны, тогда сначала по X, затем по Y. В противном случае порядок абсолютно не важен. Затем для каждой оси:
    Получить координату грани в направлении движения. Например: если двигаться влево, X координата левой грани описывающего прямоугольника. Если вправо, X координата правой стороны. Если верх, Y координата верха и так далее.
  2. Определить какие линии тайлов пересекаются с описывающим прямоугольником - это даст минимальное и максимальное значение тайла на ДРУГОЙ оси. Например, если мы движемся влево, предположим игрок пересекается с горизонтальными линиями 32, 33 и 34 (вот оно, тайлы с Y = 32 * TS, Y = 33 * TS и Y = 34 * TS, где TS = размер тайла).
  3. Изучите эти линии с тайлами в направлении движения, пока не найдете ближайшее препятствие. Затем в цикле смотрите на каждое движущееся препятствие и определите, какое из всех наиболее близкое на вашем пути.
  4. Результирующее движение игрока вдоль этого направления это минимум между расстоянием до ближайшего препятствия и дальностью хода игрока.
  5. Передвинуть игрока на новую позицию. С этой позиции обрабатывайте другую координату, если еще не обработали.

Уклоны



Mega Man X, с комментариями к уклонам

Уклоны (тайлы, на которые указывают зеленые стрелки) слегка мудрёная штука, так как они и препятствия и в то же время позволяют персонажу заходить на их тайл. Также они вызывают изменение Y координаты при простом перемещении вдоль оси Х. Простой способ сделать их - это позволить тайлу хранить информацию о «высоте пола» с каждой стороны. Допустим система координат с нулём в левом верхнем углу, тогда тайл слева от X (героя), первый тайл уклона, будет содержать высоты {0, 3}. Тот, на котором он стоит будет содержать {4, 7}, затем {8, 11}, потом {12, 15}. После чего всё повториться снова с {0, 3} и так далее. После мы видим уклон с большим углом, собранный из двух тайлов {0, 7} и {8, 15}.

Детальный вид тайла {4, 7}

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

  • Убедитесь, что передвижение по оси X происходит раньше чем по Y.
  • Во время проверки столкновений (4 пункт выше по тексту) уклон считается столкновением только если его ближайшая грань наивысшая (меньше Y координаты). Это предотвратит ситуацию с подёргиванием персонажа при движении с другой стороны.
  • Возможно вы захотите запретить персонажу останавливаться на полпути уклона (например на {4, 7} тайле). Эти ограничения приняты в Mega Man X и многих других играх. Если не захотите, то вам придется разбираться с еще более сложным случаем, когда игрок пытается забраться с нижней стороны тайла с уклоном. Один вариант побороть это - обработать уровень и пометить все подобные тайлы. Тогда при обнаружении столкновений нужно также считать это столкновением от нижней части игрока, если наименьшая Y координата игрока ниже выпирающей части тайла (координата тайла * размер тайла + уровень пола y).
  • Целый тайл с препятствием, смежный с уклоном, если на нем стоит игрок, не должен считаться будто он прикреплен к уклону. Тоесть если персонаж (его нижний центральный пиксель) на уклоне {0, *}, нужно игнорировать левый тайл, а если на улоне {*, 0} - игнорировать правый. Можно делать так для большего числа тайлов, если персонаж шире, чем два тайла - просто скидывать проверку всего ряда, если игрок двигается навстречу верхней части уклона. Причина, для того чтобы это делать, в том, чтобы предотвратить застревание персонажа в этих тайлах (подсвечены желтым на скриншоте выше), пока он забирается на уклон и его ступни будут ниже «уровня поверхности» до тех пор. пока он не поднимется до уровня прямых тайлов.

И для вертикального передвижения:

  • Если позволить гравитации делать свою работу для спуска по склону, убедитесь, что минимальное смещение гравитацией совместимо с уклоном и горизонтальной скоростью. Например, на 4:1 уклоне (на скриншоте {4, 7} выше) гравитационный сдвиг должен быть как минимум 1\4 горизонтальной скорости округленной вверх. На склоне 2:1 (таком как {0, 7}) минимально 1\2. Если это не учесть, игрок будет двигаться горизонтально до конца рампы в течении времени, пока гравитация не поймает и не бросит его вниз, заставляя его скакать на наклонной плоскости вместо плавного спуска по ней.
  • Альтернативой использования гравитации можно взять расчет разницы количества пикселей между высотой игрока до начала и после окончания движения (использую формулу ниже) и менять его позицию, чтобы всё совпадало.
  • Когда движетесь вниз возьмите для расчета не наивысшую грань уклона для просчета столкновений, а текущую точку на вертикали с позицией игрока. Чтобы это сделать найдите значение, которое определит расположение игрока на тайле (0 = лево, 1 = право) и используйте линейную интерполяцию floorY значений. Код будет выглядеть как-то так:
    float t = float(centerX - tileX) / tileSize; float floorY = (1-t) * leftFloorY + t * rightFloorY;
  • При движении вниз, если несколько тайлов с препятствиями находится на одной Y координате и одна на X координате центра игрока - тайл уклона, то используйте именно его, игнорируйте остальные, даже если они, технически, ближе. Это обеспечит более верное поведение на краях уклонов и не позволит персонажу «съезжать» на совершенно ровном тайле только потому, что рядом есть уклон.

Односторонние платформы



Super Mario World, где Mario сваливается сквозь (слева) и стоит на (справа) одной и той же односторонней платформе

Односторонние платформы - это обычные платформы на которые можно встать, но при этом можно запрыгнуть сквозь них снизу. Другими словами, они считаются препятствием если вы стоите на них, и не считаются, если вы прыгаете снизу. Это полностью описывает их поведение. Алгоритм немного меняется:

  • по X координате этот тайл никогда не бывает препятствием
  • По Y координате этот тайл препятствие только при движении сверху вниз и только при координате игрока больше (хотя бы на 1 пиксель, когда он стоит), чем верхняя грань тайла.
Довольно заманчиво завязать поведение на позитивное значение вертикальный скорости игрока (если игрок падает), но это будет не верно: игрок может, при прыжке, пересечь платформу, но затем начать падать вниз снова, не успев поставить ноги на платформу. В этом случае он должен по прежнему проваливаться сквозь неё.
Некоторые игры позволяют игроку спрыгивать вниз с таких платформ. Есть несколько путей решения, но они все относительно простые. Например, можно отключить односторонние платформы на один кадр и убедиться, что вертикальная скорость как минимум в один пиксель (так, что персонаж будет ниже платформы на следующем кадре), или можно проверить стоит ли он на односторонней платформе, и если стоит, то сдвинуть персонажа на один пиксель вниз.

Лестницы



Mega Man 7, с сеткой тайлов, подсвеченными тайлами лестницы, и прямоугольник игрока.

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

  • Описывающий персонажа прямоугольник пересекается с лестницей, неважно в воздухе или на земле и нажатием кнопки «вверх» (некоторые игры позволяют нажимать «вниз»)
  • Персонаж стоит на вершине тайла лестницы (который часто является тайлом односторонней платформы, так что по нему можно ходить) и жмет «вниз».
Это немедленно вызывает эффект привязывания координаты Х игрока к тайлам лестницы, и если двигаться сверху лестницы вниз, нужно просто менять У координату, поскольку игрок уже находится внутри реальной лестницы. Начиная с этого момента некоторые игры начинают использовать другой описывающий прямоугольник, чтобы определять находится ли игрок до сих пор на лестнице. Mega Man, например, видимо использует одиночный тайл (эквивалент верхнего тайла обычного персонажа, обведенный красным на картинке выше).
Чтобы покинуть лестницу есть несколько вариантов:
  • Достигнуть верха лестницы. Обычно это оканчивает анимацию и перемещает игрока на несколько пикселей вверх по У, чтобы он теперь просто стоял на верху лестницы.
  • Достигнуть низа висящей лестницы. Это приведёт к тому, что игрок просто упадёт, хотя некоторые игры просто не дадут покинуть лестницу таким путём.
  • Сдвинуться влево или вправо. Если сбоку нет препятствий, игроку может быть позволено сбежать таким путём.
  • Спрыгнуть. Некоторые игры позволяют освободить лестницу даже так.
Пока игрок находится на лестнице, поведение персонажа меняется так, что обычно он может двигаться вверх и вниз и иногда атаковать.

Ступеньки



Castlevania: Dracula X, с сеткой тайлов

Ступеньки это разновидность лестниц, как замечено в некоторых играх, но особенно в серии Castlevania. Реализация очень похожа на лестницы с некоторыми оговорками:

  • Игрок двигается тайл за тайлом или по половинке тайла (как в Dracula X)
  • Каждый «шаг» сдвигает игрока одновременно и по Х и по У координатам на фиксированную величину.
  • Определение стартового соприкосновения с лестницей при начале подъема должно смотреть на тайл вперёд вместо того, с которым идёт пересечение сейчас.
Другие игры могут реализовывать лестницы как уклоны. В этом случае лестницы несут больше декоративных характер.

Двигающиеся платформы



Super Mario World

Двигающиеся платформы могут показаться хитрыми, но на самом деле крайне просты. В отличие от нормальных платформ их нельзя представить фиксированными тайлами (по очевидным причинам), а необходимо описать их AABB прямоугольником. Это обычное препятствие для всех видов столкновений. Если останоиться на этом, то это будут очень скользкие платформы (они будут работать, но как и задумано, за исключением того, что персонаж не будет двигаться вместе с ними).
Есть несколько вариантов решения. Разберём один алгоритм:

  • До того как в сцене что-то сдвинетcя, надо определить стоит ли персонаж на подвижной платформе. Этого можно добиться проверкой, например, находится ли центральный пиксель игрока на один пиксель выше поверхности платформы. Если да, сохраним указатель на платформу где-нибудь внутри персонажа.
  • Сдвигаем все подвижные платформы. Убедимся что сделали это до того как начали двигать персонажей.
  • Для каждого персонажа, который стоит на платформе, посчитаем дельту смещения платформы (насколько сдвинулась по каждой оси). Теперь сдвинем персонажа на тоже самое значение.
  • Теперь двигаем персонажей, как и обычно.

Другие фичи

Sonic the Hedgehog 2

Есть игры, которые располагают сложными и эксклюзивными фичами. Например серия Sonic the Hedgehog. Эти фичи выходят за рамки этой статьи (и моих знаний, что очень важно!), но могут стать темой будущей статьи.

Статьи по теме: