Вобщем то тут описан тока способ передачи данных между игроками в сингле, и некоторые идеи по реализации.
Сразу говорю, будет не легко, но результат может выйти хороший.
Мелкая поправка, не ТЧ\ЧН а ЧН\ЗП.
Собственно это просто идея по передаче данных между игроками и их "переваривании" игрой. Суть в том что начиная с ЧН разрабы обновили Lua движок и добавили туда новые функции, не знаю есть ли там функции по работе с сетью, но там есть функции по работе с текстовыми фаилами. Так вот идея проста, на любом приличном языке делается простая программа которая соединяет два(или больше, в зависимости от кол-ва игроков) текстовых фаила и при каждом апдейте\коротком промежутке времени она передаёт текст из этих текстовых фаилов между компьютерами (о подробностях я пока не думал, это просто бредовая идея которая пришла ко мне как то), а сам игра уже постояно читает данные из этих фаилов (их можно менять в реальном времени, никаких проблем с перезагрузкой игры нету) и с помощью полученной информации передвигает "бота"
Более подробней:
Есть клиент и есть сервер, у обоих запущен сингл ЗП\ЧН и кустарная программа по передаче данных через интернет. У сервера есть НПС-Бот который симулирует игрока-клиента,этому боту через интернет передаются действия совершаемые игроком-клиентом и наоборот у клиента есть НПС-Бот который симулирует игрока-сервера (как то так, это трудно объяснить) Тоесть клиент например сменил позицию, в текстовый фаил игра-клиент записала инфу о том что позиция клиента изменилась, эта строка сразу же пересылается через кустарную программу на компьютер сервера и там другая копия программы записывает этот текст в текстовый фаил на компе у сервера, а игра из него считывает инфу из этого фаила и двигает у сервера бота туда куду стал клиент...
И так со всеми действиями. Это конечно мутороно но в целом реально сделать, хотя конечно это будет труднее чем запустить кооператив в билде, зато над процесом будет полный контроль и можно будет придумать что угодно, чисто теоретически можно будет передавать всё что тока можно, лишь бы можно было через скрипты достать.
Но вот что реально проблема это такие вещи как например прыжки и приседания, корректировка направления оружия (хотя это вроде делали уже). Отловить их момент скриптами вроде как нельзя, хотя на форуме GSC Kstn выложил свою программу (для ТЧ правда) которая ловит нажатия клавишь в игре, тоесть как бы тоже можно внедрить её, и когда игрок например жмёт на пробел, прога это ловит и передаёт другому игроку, у которого бот начинает прыгать.
Тоесть как видно это довольно муторно и тяжело но в принципе вполне реально сделать.
Из минусов: придётся потрудится и надо будет разобратся как ловить момент когда игрок прыгает\присядает. Множество подводных камней и т.п
Из плюсов: полный контроль над процесом. Кооператив идёт через Сингл со всеми вытикающими, чисто теоретически можно вобще таким способом сделать полноценный кооператив, но опять таки работа не на пару дней и тут нужны настоящие спецы, которых сейчас мало.
Надеюсь понятно объяснил свою идею, у меня всегда плохо с объяснениями ))
Если что то ещё раз:
В ЗП\ЧН есть функция, которая работает с текстовыми фаилами в реальном времени. Есть способ по передаче данных через интернет из игры в игру, путём перемещения информации из этих текстовых фаилов между компами. Главное лишь научить игру их корректно переваривать в действия, которые будет совершать бот-нпс.
PSS Всё что я написал это чисто мои домыслы, в LUA я любитель и вполне возможно что это может не получится. Что касается программы по передаче данных, то вобщем то сделать её точно можно так как сам видел ручной чат на C+ сделанный моим знакомым. Учитывая то что информация в основном будет исчеслятся в байтах, трафик и скорость доставки должна быть вполне приемлимой...>
Я не понял, это набор теорий или ты можешь сделать самое главное: передачу клиенту необходимого минимума информации о положении и состоянии аи и физ. объектов на карте и "офлайновой" деятельности алайфа?
>
Я предлагаю сам
способ передачи данных между игроками в синглплеере, частично это теория, но вполне реальная. Alife идёт через скрипты так что его теоретически тоже можно передать клиенту, что касается AI то в принципе это зависит от возможностей нпс в сталкере, в принципе они умеют всё тоже что и игрок тока с прыжками разобраться надо и отловом нажатия клавишь. Что касается физ. объектов то тут сложнее будет, с другой стороны в ЗП тоже можно брать их позицию и поворот и тоже передавать её клиенту, так что в принципе всё это решаемо, местами правда через *опу, но думаю это лучше чем то что можно выйти щас, учитывая что модинговый потенциал билдов в качестве скриптов ужасно низок, и ничего лучше очередной стрелялки + монстры не выйдет...
>
Фактически, игре хватило бы, просто возможности выполнения стандартных действий синглплеера, но выполняемых не в одиночку а с несколькими живыми людьми, + голосовой чат типа Тимспика - спринт и опция "всегда бежать", что бы от врагов надо было отбиваться а не убегать.
>
Чат сделать легче всего, будет подобие сталкерской сети. Голосовой чат лучше через Skype делать, он в любой игре работает.
Спринт можно реализовать через анимку, лишь бы отловить момент когда игрок начинает бежать и останавливается, это самое сложно, но можно попробовать сделать через отлов нажатий на клавиши.
фух надеюсь вы что нибудь поняли из того что я накалякал...
ЗЫ: Сам я этим заниматься врятле буду так как знаний мне не хватит да и работы много + я не особо заинтересовано в кооперативе, врятле тут или где то ещё найдутся люди которые захотят это делать, но вобщем то я способ написал, теоретически вполне рабочий, если кто заинтересовался может попробовать, но тут надо хорошо знать Lua и сталкерские скрипты. Таких людей щас очень мало.