Debugger писал(а):... Есть дизайн-документ? Ты понимаешь, что будет заставлять игроков снова возвращаться в игру? Как будет выглядеть прокачка игрока? Наброски карт? Читал про "compulsion loops"? Как игра будет оплачиваться? Я думаю, все более-менее компетентные программисты способны создать MMORPG за конечное время. Однако, не у всех находится достаточное количество времени, энтузиазма, и главное - компетентности в остальных областях, чтобы получить готовый продукт.
А что такое compulsion loops? Не читал, всё на английском(
Знаешь, это мне давно хотелось попробовать набросать свою игру. Готовой идеи нет. Есть мысль на тему что привлекает людей: людям нравятся соревнования (турнир, возможность улучшить себя).
Думаю также есть смысл сделать игру, как бы сказать, "начинающейся заново". Например, шахматы, шашки, домино - каждый раз начинаются заново.
Ну вообще я планировал сделать текстовую игру (без картинок даже, т.к. не знай где их достать), перемещаться по лабиринту по типу
вампуса. И, не знаю какую придумать задачу, цель игры, допустим дойти из точки А в точку Б. Даётся две недели. Кто придёт раньше, тот победил. Через две недели показываются результаты, и игровой мир генерится заново. Не знаю что из этого выйдет\вышло бы и попробую ли реализовать. Было б неплохо ещё, чтоб люди не соперничали, а им было бы выгодно помогать друг другу (не знаю как сделать; например, несколько первых мест, если вошли одновременно).
Ещё сделать ограничение на игру в день, допустим три раза по 40 минут. За счёт введения параметра энергии, которая расходуется. Одновременно и игрок не успеет "насытится" игрой, будет держать его на привязи, и время пользователей сэкономим, чтоб сильно не "тупили". Ну и нивелируем результат у тех кто на игру может выделить мало времени с теми кто сидел бы много. А если игрок выходит из игры, то на него автоматом накидывается "волшебный плащ", который скрывает его от всех.
Сути не хватает. Если б была одна или несколько вещей, где можно было бы подумать, тогда сюжет можно любой - было бы уже интересно.
Представляю реализацию так:
1. Сервер:
а) Бесконечный цикл игрового мира крутится каждые 1-5 секунд. Хранит все данные данные в оперативной памяти (со всеми игровыми объектами). Периодически сохраняется в БД.
б) API - принимает запросы от клиентов. Наверное - у меня прога видимо небольшая - можно только из оперативки читать данные, а бд чисто на случай перезапуска сервера.
2. Клиент:
просто html с javascript. Обращается к серверу через API, наверное.
Вообще писал только сайты на python, и не очень представляю как именно игру сделать через веб + многопользовательскую.
Вероятно для моей реализации можно будет сделать и "полную синхронизацию с сервером" (с приостановкой процесса, пока идет запрос-ответ), т.к. игра пошаговая.
Еще непонятно как сделать, чтобы на сервере (сервер на python\django) крутился "бесконечный цикл" из пункта
а). И "вьюхи" (функции-обработчики запросов url) имели доступ к глобальным переменным этого цикла. Когда делал сайт всё было гораздо проще: стандартно вызывалась функция для определённого url, в которую передавался объект запроса.
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов