Kerbal Space Program / KSP Multiplayer: Ретроспектива / ММОзговед
Многопользовательская игра в KSP. В последние месяцы эта тема продолжает набирать популярность на ММОзговеде. Однако, наиболее активные участники «вкусненьким» делиться не торопятся.
Проект Snowball завершился уже довольно давно. О более свежем MKS новостей от Andre пока нет. Alchemist и компания времени напрасно не теряют, их игра в самом разгаре. Но им там и так хорошо, некогда отвлекаться.
Update: Пока я писал заметку, появился первый отчет от Alchemist . Присоединиться к ним еще не поздно.
Под катом — много болтовни, картинок, видео и спойлеров.
Для тех, кто только что с мороза. Нет, в KSP не ввели мультиплеер, в меню игры искать не стоит. Разумеется, «обычный» мультиплеер в KSP невозможен. По крайней мере — в обозримой перспективе. Механика игры, использующая нелинейное течение времени — серьезная тому преграда. Однако, пытливые умы всегда найдут способ.
Попытки как-то «поделиться» достижениями делались игроками практически сразу, даже в самых ванильных версиях. Кто-то выкладывал скриншоты, кто-то пошел дальше и снял видео. Например, такое:
Учитывая «изобилие» деталей и дату добавления решусь предположить, что это максимум версия 0.11. У Кербина на тот момент не было не то что луны — атмосферы. А вот старая поверхность мне нравится почему-то больше. Ностальгия…
Моды появлялись, как грибы после дождя. Они значительно расширяли (и расширяют) возможности конструкторов и позволяют создавать невиданные корабли.
Исторически первой попыткой semi-мультиплеера в KSP были Challenges на официальном форуме KSP. Ребята делали удивительные вещи. Например, стыковку. В версии 0.14. Без модов.
Кстати, ветка до сих пор жива и желающих бросить вызов окружающим — хватает.
Тем не менее, это сложно назвать настоящим мультиплеером. Однако, есть старый надежный способ в какой-то степени победить вышеуказанные ограничения. Он существовал еще до появления ММО как таковых. Это — пошаговая игра по переписке. Базовые правила очень просты: в начале хода игрок получает от координатора текущую версию «мира» и определенный срок на совершение «хода». Если по истечении срока координатор не получает файл обратно — ход считается пропущенным. Остальные условия оговариваются отдельно, в зависимости игры и играющих. Подобный режим в свое время поддерживали Civilization и (если не ошибаюсь) Heroes of Might and Magic.
Собственно говоря, с этого все и началось. Вначале игроки обменивались моделями кораблей, а все полеты производил координатор.
Возможность обмениваться сохраненными «мирами» появилась несколько позже, и понеслось…
mmozg.net
Kerbal Space Program обзавелся мультиплеером / Песочница / Хабр
В то время пока разработчики KSP (космический симулятор, песочница аля Minecraft, но с почти реальной физикой, планетами и моделями частей ракет и самолетов от NASA с характеристиками близкими к реальной жизни) на века застолбили в тред «Not To Suggest» (раздел правил «не предлагать») — свою коронную фразу «не предлагать Multiplayer»,некоторые игроки не выдержали и решили сложнейшую задачу, мучающую всех столько лет — как сделать мультиплеерный WARP (ускорение внутриигрового времени с целью быстрейшего достижения других планет при перелете)?
Ответ — здесь.
И видео:
Причем здесь хабр?
Итак, представим алгоритмическую задачу:
2. Игрок В устал летать с А и решил отправиться на Марс. Ему лететь — более 350 игровых (и реальных) дней! Но в игре есть WARP — ускорение времени,
путем включения которого планеты двигаются быстрее, стрелки на часах крутятся шустрее и мы за 30 минут долетаем до марса.
3. А что делал в течении этих 30 минут игрок А? Ведь он не включал WARP! У него самолет улетел в небытие за эти 30 минут (350 дней?), луна и планеты слетели с орбиты?
4. Вроде бы ничего сложного, ведь можно просто игнорировать смещение временных зон, но! У игрока В марс находится на миллионы км в другой точке чем у А! Луна сделала 50 витков вокруг земли, да и вообще, на земле уже много чего произошло.
5. Прилетев они одновременно на марс — здесь проблем нет. Но вот решил игрок А на 5 день полета догнать игрока В и состыковаться с ним в полете! Ведь это же для симулятора физики в KSP и нашем мире — вполне реально.
Теперь вопрос: что будет с кораблем игрока В? Он увидит его прибывшим после WARP-а на марс? Плохая стыковка уничтожит корабль и он удивится увидев как корабль испарился в полете, или что?
Автор плагина решил создать временные зоны (параллельные вселенные) с возможностью перехода из нижнего в верхнее (синхронизация). При этом нижняя вселенная находится в прошлом от верхней, но при этом в ней видны все действия игроков в верхних вселенных, только отсутствует возможность контактировать с ними, как в зазеркальном мире. Это обеспечивает и функционирование WARP-а и одновременную игру на одной космической станции и т.д…
Однако, моей идеей решения этой задачи была идея телепортации во время WARP-а. Когда игрок В включает WARP, для игрока А он уходит в «гиперпространство» и становится невидим внутри игры, однако видим на станции отслеживания перемещения кораблей, физика для игрока В в реальности А не пересчитывается. При выходе из «гиперпространства» — корабль игрока В «появляется» там, где он отключил варп. Однако, если в это время кто-то был на марсе и варп не включал, то для него игрок В появился из «гиперпространства», во время которого никто не может оперировать с кораблем игрока В. Но здесь есть одна проблема: планеты во время перелета в WARP-е тоже меняют свое положение, и для того кто был на марсе — он должен был увидеть как солнце с большой скоростью внезапно само побежало по небосклону, чего быть не может, так как он не включал WARP…
Другой автор предложил записывать все действия игрока В на сервере и «проигрывать» их для игрока А. Здесь WARP выглядит уже не как гиперпрыжок, а как реальный перелет: если мы не включаем WARP у себя, то видим перелет в реальном времени, а точнее его запись. Однако, накопленное количество записей может быть слишком большим для игрока А, который никогда не пользовался WARP-ом, в то время пока все игроки варпятся для перелетов на другие планеты и что-то там делают при посадке или на орбите, ведь каждое действие должно записываться (логироваться)!..
А какое решение для этой задачи выбрали (придумали) бы вы?
habr.com
Multiplayer/ru — Kerbal Space Program Wiki
В настоящее время официальная поддержка режима сетевой игры (англ. «multiplayer») недоступна. Разработчики указали готовность начать разработку многопользовательского режима в 2014 г. и завершить разработку после того, как будет выпущена базовая игра для одного игрока. Однако, до «Proof of Concept», многопользовательский режим представляла альфа «KMP», ветки форума относительно многопользовательского режима, в основном, заблокированы (отмечены «недоступно»).
На данный момент самой распространенным решением является разрабатываемый сообществом «Dark Multi Player» (ссылка на ветку форума) или «DMP» — плагин мультиплеера, разрабатываемый пользователем godarklight. Плагин доступен в альфа-версии. Он основан на Kerbal Multi Player, разработка которого прекращена.
Основной проблемой при создании мультиплеера в KSP является перемотка времени. Данная страница содержит список основных идей, которые были предложены на форуме для решения этой проблемы. Некоторые из них уже реализованы. В основном, все варианты базируются на следующих 5 категориях:
Master Controlled Warp
Master Warp: Only certain players or all players have the power to advance time at the lowest available common warp factor. This idea requires communication between players prior to warping. This is great for small network games where the multiplayer focus is usually on close quarters or EVA/IVA operations. Either designated warp admins have the power alone to advance the time warp, or all players do. The amount of maximum warp is limited to the lowest warp factor available to all players (so if a player is landing, the max factor is lower than if all player ships/evas were in interplanetary space or in an observer mode). Communication between all players would be essential to avoid collision or physics catastrophes. «Battening down the hatches» would be a regular occurrence in such games, but EVAs would certainly be a lot more fun! This seems the most logically doable of all ideas.
«Solutions to warping problems *IF* multiplayer gets added» (inaccessible)
«The Multiplayer Project?»
Relative Synch
Time warp only is allowed relative to the player initiating it, or whenever a player’s ship or EVA is within a certain distance max time warp availability slows down for both players using it in increments until time is x1 in close quarters, or whenever a player logs off the server advances the shared game state to the most advanced time stamp relative to the most chronologically advanced player. Least realistic of all options since it introduces warping of planets and/or other objects that require sometimes illogical reconciliation, paradox-inducing abnormalities, or unforeseen physics consequences unless players share the same time frame; yet this idea has brought forth the most successful implementation of multiplayer to date.
- Dark Multi Player (DMP)(recommended!) — Also supports master controlled warp and no warp:
Dark Multi Player
- Kerbal Multi Player (KMP)(Dead, Not updating) :
KMP
«Some ideas for solving the logistics issues for multiplayer»
- L.O.G Multiplayer System:
«Idea the LOG Multiplayer System» (inaccessible)
- Not Your Average Multiplayer Discussion:
«Not your average multiplayer discussion» (inaccessible)
«Multiplayer I know but bear with me»
Turn Based
Pass the savegame file to the next person in line, or a shared savegame file that is asychronously updated by various players. Successfully doable with current game mechanics.
- Kessler — asynchronous shared save file
«asynchronous, shared-world multiplayer (+ save editor)»
«RPG Multiplayer Ideas»
«KSP Multiplayer How To»
Information Sharing
Not multiplayer but a shared social gaming experience. Think of friends playing individual games of solitare while all at the same table, able to share strategies, view each other’s work, or even pass cards (ships) to each other.
- Telemachus Mod — Mission Control style game control where a single player flies the craft, but data is shared with mission control participants who can call out values and course corrections.
«Mission Control Multiplayer kind of»
«Telemetry and Flight Control in the Web Browser»
- Kerbal LiveFeed — view live game information from other players playing KSP, and share craft files.
«Kerbal LiveFeed Passive Multiplayer Plugin Client Server»
- Kermageddon- view other player ship orbits in your game.
«Kermageddon-Multiplayer»
No Time Warp
Just as it says. No Time Warp. Games are loaded from a KSP gamesave file to a server, which is then played in by game clients without any time warp option available to them. Games can be exported from the server (or client) to a new KSP compatible savegame file format which
wiki.kerbalspaceprogram.com
Попробуем в мультиплеер? / ММОзговед
Конечно, реальный мультиплеер с возможностью одновременного пилотирования несколькими игроками разных кораблей в КСП в данный момент отсутствует (да и некоторые аспекты его реализации могут быть не совсем реализуемы, например, что делать с ускорением времени), но это не мешает игрокам устраивать самодельный мультиплеер некоторых форматов ещё со времён версии 0.14.
Предлагаю попробовать поиграть вместе!
В своё время на форумах был мультиплеер в формате строительства Мунной базы — игроки по очереди запускали корабли, создавая базы на Муне и Минмусе. Но с появлением новых планет и стыковки количество возможностей и сложностей их реализации резко возросло.
Предлагаю следующие правила:
- Игра ведётся в походовом режиме с обменом файлами сохранения.
- Организацией игрового процесса занимается гейммастер (ГМ) — он объявляет следующий ход, проверяет сейвы, в определённых ситуациях может осуществлять отдельные маневры с кораблями других игроков (например, небольшие коррекции траектории). Также может участвовать в качестве игрока на общих условиях.
- Ходы делятся на 2 категории: основные и специальные
- Основные ходы:
- осуществляются в порядке очереди
- Разрешается запуск новых кораблей, начало новых миссий
- длительность по внутриигровому времени — до 5 суток (желательно не злоупотреблять, для большинства операций вблизи Кербина достаточно и гораздо меньшего времени)
- Специальные ходы
- Осуществляются по предварительной записи и имеют повышенный приоритет
- Используются в пределах уже запущенных миссий для операций, для которых требуется соблюдение времени совершения манёвра: отправка кораблей к другим планетам, коррекции межпланетной траектории, выход на орбиту планеты/прямая посадка и т. п.
- Для не слишком сложных операций желательно попросить ГМ совершить манёвр за игрока, чтобы не задерживать процесс.
- Если не перекрывается с другими запланированными манёврами, ход передаётся игроку, пилотирующему корабль. Внутриигровая длительность зависит от сложности манёвра (вход в сферу влияния Джула с выходом на орбиту одного из его спутников может занять и больше недели)
- В случае практически одновременного совершения нескольких сложных манёвров (например, целая флотилия прибывает к Джулу) ГМ попытается справится сам, возможна также краткосрочная передача управления игрокам для отдельных операций
- Использование модов: попрошу избегать крупных паков (к сожалению, огромное количество деталей часто приводит к вылетам игры), но использование различных плагинов не возбраняется. Поскольку требуется, чтобы все игроки имели одинаковый набор модов, для внесения в список новых модов необходимо предварительное согласование.
- На осуществление хода игроку даются сутки реального времени. Если ответ не получен, ход передаётся следующему игроку. Можно попросить продлить ход ещё на сутки в случае сложной операции. К тому же сборку на орбите Кербина не обязательно совершать за 1 ход.
- Пилотировать или удалять чужие корабли нельзя. В случае совместных миссий нескольких игроков, любой из них может пилотировать любой корабль данной миссии. Также при проведении совместных миссий игроки могут многократно передавать сейв друг другу в пределах одного хода.
- Если заявок на стандартные ходы до прибытия кораблей к планетам нет, время перематывается до следующего события (окна отлёта, прибытия кораблей к планетам и т. д.)
- Дополнительное ограничение — на орбите Кербина в ожидании окна для отправки к планетам у каждого игрока могут находиться одновременно не больше двух собственных миссий (но миссия может состоять и из нескольких одновременно отправляемых кораблей) и не больше двух совместных миссий, в которых он участвует. Иначе мы до прибытия кораблей к планетам можем и не дожить.
Кто-нибудь хочет поучаствовать?
mmozg.net
Оставить комментарий