Я хотел бы знать, знаете ли вы, ребята, какие-либо библиотеки, движки или даже просто шаблоны проектирования, которые значительно упрощают задачу обмена информацией и отправки сообщений между сетевыми программами, поэтому можно сосредоточиться на настройке игрового процесса вместо переписывания сетевого кода, в то время как прототипирование сетевых игр. Поскольку это предназначено для прототипов, простота использования и гибкость гораздо важнее, чем скорость и безопасность.
networking
prototyping
Панда Пижама
источник
источник
Ответы:
Самый простой способ создать прототип онлайн-игры, который позволяет быстро изменить практически все в игре (даже такие факторы, как в режиме реального времени или пошаговый), - реализовать прототип как физическую игру. Соберите вместе всех дизайнеров в комнате, возьмите кучу карт, кубиков или компонентов для настольной игры, или все, что необходимо для прототипирования общих игровых взаимодействий. Тогда играйте в игру.
Вы можете сделать это без необходимости платить программистам или художникам. Испытание различных вариантов правил игры занимает всего минуту или две, вместо того, чтобы затрачивать часы или дни (или недели!) На программирование, и вы можете знать, работает ли ваша игра на самом деле, вместо того, чтобы разрабатывать ее раньше, чем раньше. реализации и угадать, что будет или не будет работать. Кроме того, ваши программисты все равно будут вам нравиться в конце процесса. :)
Ручка, бумага, игральные кости, открытки, доски, жетоны. Это действительно все, что вам нужно. И для создания прототипа игрового дизайна это лучше, чем что-либо еще.
источник
relatively simple rule changes such as "let's try this in real time instead of turn-based"
Это звучит как довольно фундаментальное изменение для меня, а не простое изменение правила. Я думаю, что такой фундаментальный выбор дизайна должен быть сделан еще до того, как вы начнете писать какой-либо сетевой код, будь то автономные прототипы или даже бумажные прототипы.То есть прототип игрового процесса без каких-либо сетей. Это будет означать написание многопользовательской игры локально (т.е. оба игрока находятся на одном компьютере), чтобы проверить идеи игрового процесса.
Я имею в виду, что когда-то на моей работе мы взяли игру, которая уже наполовину разрабатывалась пошагово, и конвертировали ее в реальное время, и да, это было связано с массовым переписыванием сетевого кода. Оглядываясь назад, это был действительно неэффективный способ приблизиться к вещам, и мы в значительной степени решили «никогда больше».
источник
Я не могу представить потребность в таком инструменте, потому что я считаю, что сетевая логика лучше всего делается через тщательный анализ того, какая информация должна идти и куда.
Но, если бы я был вынужден создать такую вещь для кого-то, кто хотел, я бы использовал:
Это охватывает все проблемы надежного транспорта, разграничения сообщений и сериализации / десериализации. (Pickle небезопасен ни для чего, кроме использования в интранете.)
Вам все равно нужно будет настроить логику, чтобы решить, что делать с данными, принять и реализовать решение о том, какие компьютеры подключаться к каким другим компьютерам и т. Д. И он не поддерживает ненадежный обмен сообщениями, или удаленные вызовы процедур, или автоматическую репликацию состояний и т. Д. И т. Д. Поэтому обычно лучше просто спланировать то, что вы хотите, и написать это таким образом.
источник