Сказ о том, как я свой мультиплеер для ремейка Gothic 1 пилить пытаюсь.

Всё интереснее, чем искать работу, сидя без оной

Сказ о том, как я свой мультиплеер для ремейка Gothic 1 пилить пытаюсь.

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

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

Сказ о том, как я свой мультиплеер для ремейка Gothic 1 пилить пытаюсь.

В общем, закончив и выложив этот мод на радость инди-разрабу той самой ммо и его немногочисленной аудитории, я принялся думать "чо дальше?"

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

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

1. Захардкоженый мастер-сервер. Его сервер, к которому коннектится и запускаемый сервер, чтобы его видели и клиенты, чтобы увидеть все сервера. Т.е. по сути создавая сервер на основе его проекта, ты отдаёшься на милость пана разраба(он поляк, судя по всему, по крайней мере клод нашёл много польского языка в его моде и ни капли русского) и если он вдруг передумает и бросит проект или просто на тебя обидится, всё - твой сервак по сути тыква и ничего ты с этим не сделаешь.

2. Мод в целом сделан кривовато, ещё и работает только с одной БД, лол. Никакой свободы. Ну не нравится мне MariaDB, я чё сделаю.

В целом я не осуждаю челика и ничего плохого сказать не пытаюсь, его мод и он в праве делать как хочет, но мне такое не подошло, хотелось больше свободы, так что в этот момент решено было просто взять и "писать"своё. На его код просто рефались типа "как сделано тут и можем ли мы сделать лучше"(спойлер: ИЩО КАК!). Ни строчки его кода не было скопировано, если что.

Далее в течение 5 дней шёл очень нудный и долгий процесс раздумий, нейрослопинга, тестирования и фиксов. Я натурально просыпался, смотрел чё мне наслопил клод, тестировал, находил и расписывал косяки, потом продолжал процесс, пока результат меня не удовлетворит.

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

Синк почти всех анимаций: айдлы, движение, боёвка, взаимодействие с миром.

ДАЖЕ СТРЕЛЫ ВТЫКАЮТСЯ ТУДА ЖЕ!

магия и её эффекты(некоторые ещё надо дополишить, но эт фигня, не самое основно)

Ну и мобы.

Мобы, кстати, самое сложное. Заставить их на отдельном сервере вести себя как в игре - задача весьма нетривиальная, над ней бился буквально последние дня 3. И я уже почти сдался, но клод пришёл к очень интересному решению, которое и легло в основу поведения мобов, без него было бы очень куцо и фуфлыжно. К слову, например в G1R-MP у челика такого нет, там прям отупелая упрощёнка...

Сказ о том, как я свой мультиплеер для ремейка Gothic 1 пилить пытаюсь.

Ещё сделан синк времени суток. Ну и кастомные модельки(внимательные могли заметить, что на видосах не Безымянный).

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

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

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

Не знаю, на кой я про это накалякал, но может кому-то будет интересно следить за прогрессом(постараюсь хоть иногда чёт выпукивать по ходу дела)

Спасибо дочитавшим и да пребудет с вами Иннос.

44
44
33