Игра, в которых надо использовать сиплекс-метод, геометрию и астрономию

Давным-давно, когда я ещё жила в матушкином доме, в редкие дни, наступавшие исключительно по воскресеньям, я просыпалась и заставала свою маму, играющую в компуктер. Я заглядывала через плечо и наблюдала полноценный летсплей no commentary по Civilization IV: Beyond the sword.

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

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


Главное развлечение моей родительницы
Главное развлечение моей родительницы

Так было, пока однажды она не увидела, как я играю в Sailwind.

Симулятор моряка
Симулятор моряка

В чём прикол? Это достаточно реалистичный симулятор парусных кораблей и их хождения по воде (хотя местами, конечно, реализм делает бррр, но об этом ниже).

Что же делала моя мама в этой игре, отдыхая от своей работы математиком? Конечно же занималась математикой! В игре есть возможность перевозить грузы с острова на остров: покупать дешевле, продавать дороже. Уже этого хватило моей маме для того, чтобы расчехлить Excel и его надстройку «поиск решения», где можно производить вычисления симплекс-методом.

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

Тут происходит страшное
Тут происходит страшное
И тут тоже
И тут тоже

Далее будет раздел, где я объясняю, чем же занималась моя мама в Excel, и как она работала с симплек-методом. Если вы впечатлительный человек — пропускайте данный раздел, там будут расчёты.


Что же тут происходит? Всё просто! Берётся список товаров одного города, переносится в таблицу со всеми атрибутами (цена, вес, количество на складе, продажа в другом городе архипелага), создаётся пустая колонка — это наши переменные X (x1, x2, x3, …, xn), которые показывают количество товара, который мы должны закупить. Эти переменные мы как раз и должны узнать. И чтобы это сделать, необходимо построить целевую функцию, то бишь, математическую модель. В данном случае всё довольно просто, мы умножаем наши иксы на цену в интересующем нас городе и из этого вычитаем общую стоимость товаров, помноженных на коэффициент, указывающий на спрос товара (чем больше мы покупаем —тем дороже товар становится, и тем меньше выгоды мы извлекаем). Затем нам нужно выставить ограничения на наши переменные, очевидно, мы не можем купить половину тунца или пол бутылки вина, а потому иксы должны быть целыми, ну и неотрицательными. Ещё мы не можем купить чего-то чего нет на складе, поэтому каждый икс должен быть меньше или равен количеству товара на складе. А ещё денег мы не можем потратить больше, чем у нас есть, и это мы тоже указываем. Ну и в завершении, если ваш корабль больше похож на шлюпку, чем на фрегат, то вам стоит учесть, что большой вес товаров если и не потопит ваше корыто, то как минимум сильно раскачает его в пути, не давая вам нормально передвигаться, поэтому на вес тоже можно поставить ограничение.

Ну вот и всё, распространяем целевые функции для каждого города, заставляем Excel считать всё это симплекс-методом, и готово, у вас есть самые выгодные маршруты по всему архипелагу.

Конец фрагмента с Excel и расчётами.


И всё ради того, чтобы накопить на новое судно или хронометр. Кстати о хронометре, а что в Sailwind с навигацией? Насколько она интересна, достаточно ли она правдоподобна?

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

Стартовый архипелаг
Стартовый архипелаг
Карта мира
Карта мира
Кажется, моя принцесса на другом острове…
Кажется, моя принцесса на другом острове…

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

Хронометр могут позволить не только лишь все, к сожалению, впрочем, плавали же викинги в Америку и без точных гринвечевских часов. Можно обойтись и квадрантом. Давайте же откроем магию определения широты.

Способ 1: Когда исчезнут все тени, когда солнце окажется ровно на юге, нужно направить квадрант ровно на солнце и посмотреть, что же он показывает. А потом это число вычесть из 90. И тогда мы получим нынешнюю широту.

Способ 2: Ежели квадрант застал нас среди ночи, нужно радоваться! Достаём его из инвентаря, находим местную Полярную звезду (она ровно на севере), наводимся на неё и сразу же получаем нашу широту.

Вот тут показывает около 27
Вот тут показывает около 27
Звезда, зажатая между двумя другими — та, которая нам нужна
Звезда, зажатая между двумя другими та, которая нам нужна

Это база навигации. Остальное уже для домашнего изучения.

А что же в общем по игре? Как она?

На мой лично вкус, игра очень затягивает, я, как любитель парусников и симулятор навигации/Excel-оператора провела в игре довольно долго, впрочем, как и моя матушка, которой только и нужно, что оптимизировать и считать. Но если опустить всё это, то что останется?

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

День на севере
День на севере
Закат на востоке
Закат на востоке
Рассвет на юге
Рассвет на юге

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

Автор текста: Ольга Поташова. Написано при поддержке Timeweb Cloud специально для CatGeek и читателей Хабра.


Разрабатывайте и развивайте свою игру (и не только) с помощью облачного хостинга для GameDev 

Перейти ↩

? Читайте также:

Комментарии (11)


  1. Javian
    07.12.2024 10:06

    Пираты есть?


    1. GeeksCat Автор
      07.12.2024 10:06

      Нет, пиратов не завезли.


  1. LesnoyChelovek
    07.12.2024 10:06

    А можно грабить корованы?


    1. AlexSky
      07.12.2024 10:06

      Нет, только коровеллы.


  1. petrolbomb
    07.12.2024 10:06

    эта женщина может посоревноваться по крутости с калькуляторщиками из вар тандера или сквада


  1. GidraVydra
    07.12.2024 10:06

    Главное не показывайте вашей маме EVE Online...


  1. Smooke_ju
    07.12.2024 10:06

    Там небезызвестные Team17 запилили Dredge - весьма приятный симулятор рыбака с червячками с кракеном собственной персоной.


  1. GospodinKolhoznik
    07.12.2024 10:06

    Игры, в которых надо работать офисным клерком, пока ты отдыхаешь от работы офисным клерком.


    1. elfOnStaipet
      07.12.2024 10:06

      Казалось бы да, но тут игра предоставляет возможность поработать офисным клерком "на себя", открывая профессиональное второе дыхание и позволяя неожиданным образом насладиться своими профессиональными навыками.


  1. JustasZT
    07.12.2024 10:06

    Вот бы ещё формулу к таблице с текстовым описанием приложить, было бы менее страшно)


  1. RR_Zz
    07.12.2024 10:06

    Так а где реалистичность?

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

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