38

TerraPath #11⁠⁠

Кратко о содержании сегодняшнего поста:

Примитивный интерфейс.
Обработчик пакетов.
Интерполяция движения.
Чат.

Обработка авторизации.
Фильтры пакетов
.
Рубрика вопросов.


Вот мы и перешли в эру альфы.
Чтобы работать с сетевой частью, я сразу создал очень примитивный интерфейс:

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

Текстовый поля можно редактировать как обычные формы в браузере и тд.
Ну то есть есть поддержка выделения текста, Ctrl+C, Ctrl+V и тд.

Дальше я занялся обработчиком пакетов:

Особенностью получилось, то что я могу передавать пакет обработчик, а он сам попадет в нужную функцию. Получается очень удобно и просто.
Достигается такая фишка за счёт генериков и лямбд.
Код становится чище и понятнее.

Интерполяция движения.
Как долго я закончил написания ядра сервера, я начал переносить логику игры на сервер, начал с движения персонажа, но оказалось не всё так просто.
На клиенте используется предсказание для игрока. Поэтому на большинство своих действий игрок видит сразу, без задержки, а вот остальные игроки нет.
Они двигались рывками и чтобы исправить это я стал интерполировать их положение с прошлого.
Как это работает? Когда от сервера приходит новая позиция для сущности, она смещается с текущий позиции на новую за 100мс.
Получается очень плавно движение, без рывков.

Также сразу решил сделать чат:

Следующим шагом стал система авторизации на сервере.
Я составил протокол передачи данных, и после его успешного завершения игрок появляется на сервере, а на клиенте пропадает плашка "Connecting..."

Это дает защиту от случайных коннектов, а также чтобы игрок не видел не загруженный мир.

Был добавлен Фильтр пакетов.
Сервер и клиент игнорирует сообщения кроме указанных, что предотвращает посылку данных без авторизации. Также в дальнейшем для защиты будет использоваться пароль на сервере. Поэтому читеры не смогут как либо влиять на сервер пока не авторизуется.
Само собой пароль будет передаваться в шифрованном виде.
Также подумываю о том чтобы добавить проверку игроков через стим.

А также по части сети:

Инициализация игрока.

Синхронизация игроков.

Установка тайлов и объектов.

Синхронизация анимации игрока.

Вот как-то так это выглядит:


А на этом всё, спасибо, что дочитали.
Также не пропустите прошлые посты:

https://pikabu.ru/profile/GooDCrafter


Ссылка на группу в вк(есть играбельная демка, но без сети, с сетью скоро будет):

https://vk.com/terrapath

А теперь рубрика вопросов:
1)Как вы считаете, стоит писать большие посты или средние.
И как вы оценивайте этот пост, длинный средний?
2)Я пока решаю куда публиковать игру, в целом то есть два варианта:
Это стим или же поднять собственный сайт.
С одной стороны я думаю про стим, но увы стим уже не приносит столько трафика новым играм.
Что думаете об этом?
3)Тут несколько людей продвигают идею опенсорса, и возникает такой вопрос, стали бы вы донатить на разработку данной игры тем самым делая её бесплатной?
4)Я тут решил отказать от стоковой музыки, и начать кооп с музыкантами, есть кого вы могли бы посоветовать? Сразу оговорюсь что платить много я не смогу, сам свожу тут концы с концами. Можно как вариант 2-3 трека за небольшую плату, а остальные после выхода игры.
Я мало верю что кто-то захочет просто работать со мной за идею, но вера это единственное что у меня есть.
5) Тоже самое и с художниками, само собой пиксельарт.


PS: Во накатил вопросов то :)

Спасибо всем кто ответит хотя бы на часть из них.

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

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

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

2
Автор поста оценил этот комментарий

1)Как вы считаете, стоит писать большие посты или средние.

Средние.


И как вы оценивайте этот пост, длинный средний?

Средний.


2)Я пока решаю куда публиковать игру, в целом то есть два варианта:

На этап разработки - сделать на своем сайте публичную бету. Когда будет не стыдно - можно и в стим.


3)Тут несколько людей продвигают идею опенсорса, и возникает такой вопрос, стали бы вы донатить на разработку данной игры тем самым делая её бесплатной?

Я бы стал, если писать статьи с разбором и публикацией исходников.


Т.е. пишите мультиплеер - вначале реализовываете его в отдельном демо проекте. Только мультиплеер, без остального мусора. По этой теме написали статью с обзором. Опубликовали проект. Когда мультиплеер доведен до блеска - интегрировали его в основную игру. И взялись за новый демо-проект, скажем управление персонажем или AI.


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


Можно их даже в ассет-сторе выкладывать. В том числе платно. Заработать сможете больше чем на игре, если делать хорошо, а не публиковать копипасту.


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



4)Я тут решил отказать от стоковой музыки, и начать кооп с музыкантами, есть кого вы могли бы посоветовать?

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


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


Но вы сами критически гляньте на свой пост. Кому он может быть полезен?


Что это вообще? Этот текст не может никому помочь в своих проектах. И он не интересен как "дневник разработки". Он пока вообще "ни о чем". Зачем там этот кусок кода? Чтоб было что-ли?..


Если вы чего-то достигли в своей разработке - то это само по себе никому не интересно. Я вот сегодня выучил 20 неправильных глаголов. И что? Кому это интересно само по себе?


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


Напишите статью не о том чего вы достигли, а о том как другим этого достичь с наименьшими усилиями. Ну а по ходу и свою игру прорекламируете, где эти все плюшки уже есть.

раскрыть ветку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества