PlayPendium
Contemporaries · Пища для размышлений

Могли ли они встретиться?

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

Da Vinci ∩ Michelangelo 45 лет оба были живы, с 1475 по 1519
против
Da Vinci ∩ Shakespeare 0 общих лет; Leonardo умер в 1519, Shakespeare родился в 1564

Написано и отредактировано на английском языке. Эта русская версия создана машинным переводом; там, где важна точность, авторитетным остаётся английский оригинал. Читать оригинал на английском →

01 · Два целых числа, одна жизнь

Жизнь — это отрезок

Сведите историческую фигуру к тому, что нужно игре, и не останется почти ничего. Ни трудов, ни славы — только два числа: год рождения и год смерти. Leonardo da Vinci (Леонардо да Винчи) превращается в 1452–1519, William Shakespeare (Уильям Шекспир) — в 1564–1616. В исходном коде самой игры каждая жизнь — это «замкнутый целочисленный интервал», идущий от года рождения к году смерти. 1

Слово замкнутый здесь работает всерьёз. Замкнутый интервал включает оба своих конца, поэтому и год рождения, и год смерти считаются годами, когда человек был жив. Решение маленькое, а последствие видимое: двое могут «встретиться», даже если один умер ровно в тот год, когда родился другой. Игра закладывает это намеренно: когда она проходит по рождениям и смертям в руке в порядке лет, отыскивая самую большую группу, «рождения обрабатываются раньше смертей в один и тот же год», и потому жизнь, завершившаяся в 1519-м, всё ещё задевает жизнь, начавшуюся в 1519-м. 1

02 · Проверка рукопожатием

Две жизни либо пересекаются, либо нет

Спросить, могли ли двое встретиться, — значит спросить, есть ли у их отрезков хоть один общий год. Есть чистый способ это проверить. Две жизни пересекаются ровно тогда, когда каждая начинается не позже, чем заканчивается другая. В коде это одна строка: рождение A ≤ смерть B и рождение B ≤ смерть A. 1

Примените это к поединку выше. Da Vinci (1452–1519) и Michelangelo (Микеланджело, 1475–1564): Michelangelo родился в 1475-м, задолго до смерти Leonardo в 1519-м, а Leonardo родился задолго до смерти Michelangelo, — пересечение подтверждено, окно в 45 общих лет, с 1475 по 1519. А Da Vinci и Shakespeare? Leonardo умирает в 1519-м; Shakespeare рождается только в 1564-м. Отрезки не соприкасаются никогда. Два исполинских имени истории — и простая арифметика рождений и смертей отвечает начисто: встретиться они не могли. 1

Слава живёт в дымке «давным-давно». Игра эту дымку отвергает. Всё решают две даты, а датам всё равно, насколько вы знамениты.

03 · От пары к толпе

Скачок, который делает из этого головоломку

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

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

Игра вычисляет ровно это. Она ищет во множестве наибольший год рождения и наименьший год смерти и проверяет, выполняется ли «самое позднее рождение ≤ самая ранняя смерть». 1 Одно сравнение удостоверяет целую толпу. А почему этот короткий путь вообще имеет право работать — маленькое математическое чудо, у которого есть имя и дата; ему посвящён отдельный очерк этой серии. 2

04 · Разбор примера

Как найти общий год

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

Пример руки: кто когда был жив
ФигураРодилсяУмерВ группе?
Sandro Botticelli (Сандро Боттичелли)14451510да, и он задаёт конец окна
Leonardo da Vinci (Леонардо да Винчи)14521519да
Albrecht Dürer (Альбрехт Дюрер)14711528да
Michelangelo (Микеланджело)14751564да
Titian (Тициан)14881576да, и он задаёт его начало

Среди da Vinci, Dürer, Michelangelo и Titian самое позднее рождение — 1488 год у Titian, а самая ранняя смерть — 1519 год у da Vinci. Поскольку 1488 ≤ 1519, все четверо делят каждый год с 1488 по 1519 — общее окно с запасом. Добавьте Botticelli, и окно сузится, но устоит: его смерть в 1510-м становится самой ранней смертью, и, поскольку 1488 ≤ 1510, все пятеро делят годы с 1488 по 1510. А вот добавьте кого-нибудь, родившегося после 1510-го, — и самое позднее рождение поднимется выше самой ранней смерти, и группа рассыплется. Искусство игры в том, чтобы знать, какое имя оставить за бортом. 1

Годы жизни выше взяты прямо из собственного списка фигур в игре. 1

05 · Почему эта механика поёт

Правило, которое умещается в одной руке

Лучшие игровые механики — те, что излагаются одним предложением, а потом целый час не даются. Contemporaries — из таких. Правило — не более чем «разделить общий год», а проверка — не более чем сравнение максимума с минимумом. Подсчёт очков столь же прост: чем больше верная группа и чем быстрее она найдена, тем больше очков, а за совпадение с наибольшей возможной группой полагается бонус. Группу, у которой никогда не было общего года, игра не примет: она просит поправить состав перед отправкой. А когда группа зафиксирована, карточка результата переводит проверку обратно на язык дат: она сообщает, что все выбранные вами были живы между самым поздним рождением и самой ранней смертью среди них, и, если вы не дотянули до наибольшей группы, называет, сколько человек было в ней и в какие годы все её участники были живы. Нет ни словаря, который надо зубрить, ни скрытого состояния. Всё нужное напечатано на карточках: имя, поприще, два года и промежуток между ними. 1

А вот то, что это правило порождает, — настоящее напряжение между размахом и действительностью. Хочется взять группу побольше, и потому тянет смести со стола все карточки разом. Однако каждый новый человек способен лишь отодвинуть самое позднее рождение позже или приблизить самую раннюю смерть — и никогда наоборот. Каждое добавление — ставка, сужающая общее окно. Это единственное честное ограничение и есть вся игра, и вырастает оно целиком из самой скромной возможной модели человеческой жизни: года, когда она началась, и года, когда она кончилась. 1

Sources & notes
  1. Contemporaries game engine, the overlap rule, the closed-interval convention, the "latest birth ≤ earliest death" group test, and the figure dataset (birth/death years) are all read from the game's own source.
  2. On why pairwise overlap guarantees a common year for intervals, see the companion piece in this series, “The One-Dimensional Miracle,” and Wikipedia's Helly's theorem article.
Was this worth reading?
Play Contemporaries
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026