powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выбор технологии (ий) для создания простейшей онлайновой игры
18 сообщений из 43, страница 2 из 2
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37355747
BlackMirror
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AbstractionBlackMirror,
1) А зачем нам статус online сам по себе? Он обновится в следующий раз, когда состояние этого игрока кого-то заинтересует (или его текущего оппонента, или же интересующегося готовыми к игре игроками).


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


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


Можно для простоты считать что способности в целом сходны с MtG. Т.е. могут задаваться формулой <Условие применения> : <Результирующий эффект>. В обеих частях формулы могут использоваться составные выражения (составленные из элементарных крипичиков). Кол-во таких кирпичиков ограничено - порядка 30-40, но их комбинаций большре кол-во. Т.е. в коде реализуется логика каждого кирпичика, а не состаная логика выражения для каждого из объектов. Собствено и опрос - какие варианты по релизации такой логики могут быть? Скриптовый язык а-ля Питон?
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37355838
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackMirrorAbstractionBlackMirror,
1) А зачем нам статус online сам по себе? Он обновится в следующий раз, когда состояние этого игрока кого-то заинтересует (или его текущего оппонента, или же интересующегося готовыми к игре игроками).

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

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


Можно для простоты считать что способности в целом сходны с MtG. Т.е. могут задаваться формулой <Условие применения> : <Результирующий эффект>. В обеих частях формулы могут использоваться составные выражения (составленные из элементарных крипичиков). Кол-во таких кирпичиков ограничено - порядка 30-40, но их комбинаций большре кол-во. Т.е. в коде реализуется логика каждого кирпичика, а не состаная логика выражения для каждого из объектов. Собствено и опрос - какие варианты по релизации такой логики могут быть? Скриптовый язык а-ля Питон?
Если количество элементов ограничено, то можно использовать самодельный интерпретируемый язык, описывающий их комбинации и создать структуру "способность", в которую такую способность можно прочитать. Дальнейшее - уже вопрос логики игры, не архитектуры решения в целом. Проблема с M:tG именно в том, что прихотливость способностей ограничена только возможностями естественного языка.
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37355845
BlackMirror
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AbstractionBlackMirror,

3) А в чём проблема при организации партии создавать на сервере объект "партия", хранить в основном обработчике указания на то, какие игроки участвуют в каких партиях и партии передавать информацию о принятых игроками решениях.

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

Abstraction4) И мне не кажется нужным отражать ход партии в БД - зачем? Объекты "партия" что, в память не влезут? В БД пишется только итог партии; опционально ещё события логина/логаута.

Не пренципиально, но лог скорее всего понадобится хотя бы для анализа корректности ходов игроков...
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37355896
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackMirror,

Чё-то Вы, точно, намудрили.
Шахматы реализуются совершенно элементарно. С шашками немного посложнее, но тоже довольно просто.
Сейчас делаю онлайн-игру, где фигуры разборные (состоят из 3-х частей) и могут ходить по частям.
Реализация, понятно, что на клиенте - HTML+CSS+Javascript, а на сервере - CGI (Паскаль)+PHP+MySQL.
Можете посмотреть эскизную клиентскую часть (код яваскрипт там прямо на странице, никаких фреймворков нет, только оригинальный код). Тынц .
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37358419
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проехали... .
Теперь ссылочка не будет работать.
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37358626
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeПроехали... .
Теперь ссылочка не будет работать.
провайдер не выдержал миллион хитов?
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37358722
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k,

Неа. Я сам себе провайдер. Просто папку переместил. Тынц .
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37358880
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

А то, что центральные части можно складывать по двадцать штук в одну клетку - это бага или фича?
Или смещение частей в верхний левый угол клетки по двойному клику?
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37358944
BlackMirror
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeBlackMirror,

Чё-то Вы, точно, намудрили.
Шахматы реализуются совершенно элементарно. С шашками немного посложнее, но тоже довольно просто.
Сейчас делаю онлайн-игру, где фигуры разборные (состоят из 3-х частей) и могут ходить по частям.
Реализация, понятно, что на клиенте - HTML+CSS+Javascript, а на сервере - CGI (Паскаль)+PHP+MySQL.
Можете посмотреть эскизную клиентскую часть (код яваскрипт там прямо на странице, никаких фреймворков нет, только оригинальный код). Тынц .

Клиент любопытный. Роль сервера будет сводится к передаче ходов между игроками? Плюс не очень понятно как применить эти технологии к исходной задаче... Зашивать в javascript логику всех объектов? и как вы определяете висит ли кто нибудь на другом конце провода? Есть ли таймер?
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37359054
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionShSerge,

А то, что центральные части можно складывать по двадцать штук в одну клетку - это бага или фича?
Или смещение частей в верхний левый угол клетки по двойному клику?
Второе - бага, ясен помидор, а насчёт "двадцать штук" не понял, это как?
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37359061
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

Возьмите среднюю часть фигуры и вынесите её на пустую клетку. Теперь можно взять центральную часть другой фигуры и переместить её (за два шага) в ту же среднюю часть (в ней получится две центральных). Firefox 3.6.9.
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37359076
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackMirror,

Роль сервера следующая:
Перед самым завершением каждого хода, отправляем состояние доски в виде JSON на сервер, где проверяем валидность. Если всё ОК, записываем данные в JSONе в базу MySQL и возвращаем на клиента признак, что всё ОК, что сюда можно фигуру поместить.
На клиенте - только минимально проверяется валидность, то есть, совершенно элементарные вещи, чтобы при каждом мышедвижении не лазать на сервер. Конечно, основная проверка - на сервере.
Висит или не висит не определяю никак. Да, таймер конечно будет. Так что завершение игры по таймеру тоже будет иметь место.
В базе данных лежит таблица игр с мемберами со ссылкой на таблицу мемберов и таблица ходов со ссылкой на таблицу игр.
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37359090
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionShSerge,

Возьмите среднюю часть фигуры и вынесите её на пустую клетку. Теперь можно взять центральную часть другой фигуры и переместить её (за два шага) в ту же среднюю часть (в ней получится две центральных). Firefox 3.6.9.
Хе, точно, недосмотрел. В принципе это всё равно серверный валидатор обрубит, спасибки.
А с двойным кликом надо точно разбираться.
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37363579
BlackMirror
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо, тогда более конкретный вопрос - может ли кто-то оценить эффективность использования Python для решения описанной задачи? Насколько он сможет покрыть сформулированные требования и насколько разработка на нем в данном случае будет проще/сложнее чем с использование других вариантов?
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37363712
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackMirror,

Вопрос не в питоне, а в клиенте и сервере. Серверная часть - SQL (в бòльшей степени, а питон, или сишарп, или пхп - совершенно мелкая штука, которая только и делает, что проверяет айди юзера в базе и айди хода в игре, ну и некоторые другие мелкие штучки делает).
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37364696
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeBlackMirror,

Вопрос не в питоне, а в клиенте и сервере. Серверная часть - SQL (в бòльшей степени, а питон, или сишарп, или пхп - совершенно мелкая штука, которая только и делает, что проверяет айди юзера в базе и айди хода в игре, ну и некоторые другие мелкие штучки делает).Уверены? По описанию, могут быть нетривиальные условия выполнимости заявленного хода. Если там может быть что-нибудь вроде 2* Opalescence + Humility , это мало не покажется, на чём ни кодируй.
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37364762
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abstraction,

Я ж писàл уже, не всё так просто. На клиенте (яваскрипт) - ну да, типа, минимальная проверка, вся логика на паскале в виде CGI (там ещё и ИИ имеется, который сам ходы делает) + пхп для сохранения уже точно валидных ходов в базе MySQL. К базе "ждущий" юзер обращается раз в 3 секунды (polling) через яваскрипт+пхп, чтобы посмотреть не добавилась-ли последняя запись.
Я о том говорю, что хоть питон, хоть ещё что - один хрен. Не сложнее и не проще, а сколько надо, столько и получится. Хотя, конечно, можно всё через одно место сделать. Тогда простой телефонный справочник, или даже хелловорлд, превратится в "серьёзную задачу". Там ещё чат, кстати запланирован.
ПС. А за ошибки - спасибо. У меня всё воспроизвелось. Поправил, но не выложил (одну строчку закомментировал и один пропущенный иф добавил).
...
Рейтинг: 0 / 0
Выбор технологии (ий) для создания простейшей онлайновой игры
    #37364947
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackMirror,

бери хаскель.
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выбор технологии (ий) для создания простейшей онлайновой игры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]