![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1131 | |||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Вот замечания по работе:
Цитата:
Цитата:
Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 20.05.2012 в 20:44. |
|||
![]() |
![]() |
![]() |
#1132 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Чтобы не было недоразумений, на аватарке мой брат, ...все ресурсы я создавал самолично, от и до, никаких плагиатов, включая музыку и звуки.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#1133 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
По поводу необходимости консоли (админской/модерской/ГМской) в игре.
Собственно, минусы консоли понятны - через нее теоретически вполне можно взломать игру и сделать много всяких интересных вещей. Но тем не менее, для создания игры без такой консоли никуда. На этапе тестирования (внутреннего тестирования и затем ЗБТ - закрытой беты) это самый необходимый инструмент, без него нельзя вообще. А именно, консоль жизненно необходима для тестирования контента, зачастую очень важна для тестирования геймплея. Рассмотрим тестирование контента на примере предметов. Что нам необходимо проверить про предметы (список умозрительный, а потому неполный)? Первым делом - основы. Отображаются ли описания предметов, нет ли проблем со слишком длинными описаниями, действуют ли ограничения по уровню/классу, дают ли предметы необходимые бонусы? Это можно проверить на ограниченном количестве примеров, по нескольку штук для каждой характеристики (описание, ограничения класса, ограничения уровня, бонусы каждой конкретной абилки). Однако, и для этого уже потребуется достаточно большое количество предметов. Кроме того, потребуется по одному персонажу каждого класса, чтобы проверять ограничения по классам. Хорошо, если не существует подклассов, которые открываются уровне на 10-м. Чтобы проверить классы/уровни, достаточно прокачать нужное количество персонажей на пару уровней. Скажем, 3-4 персонажа каждого класса до 3-5 уровня. Это будет не очень долго, но ведь всем им еще нужны будут предметы, дающие различные бонусы. В принципе, можно сделать один предмет (точнее, несколько его копий разного класса/уровня), дающий все возможные бонусы, чтобы уже одев его, можно было по окну персонажа проверить все характеристики. Плюс несколько предметов с различными описаниями. Но это касалось только одеваемых предметов (оружия и брони). А еще есть используемые предметы - зелья, свитки, зачарованные предметы. Нужно проверить каждый конкретный эффект от них - восстановление здоровья, маны, использование заклинания. Желательно в самых различных условиях. Когда ты мертвый, когда у тебя частичное здоровье/мана, когда полное. Как они взаимодействуют с эффектами, временно понижающими какие-либо характеристики? Можно ли использовать их до истечения отката, большее количество раз, чем предусмотрено? Для всего этого понадобится достаточно много предметов. Откуда их брать? Теоретически можно сделать кучу сундуков с предметами разных типов, но копаться в них тоже будет то еще занятие. Не говоря уж о том, что админу нужно будет вручную запихать в сундуки огромное количество предметов. И потом, скорее всего, добавлять со страшной скоростью по мере использования.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#1134 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
Но это еще были только цветочки. Это были очень общие тесты, которые можно проверять выборочно. А ведь еще нужно будет проверить каждый предмет. Корректность его описания, наличие опечаток, не вылазит ли текст за пределы окна, не слишком ли большое окно описания? Отсмотреть бонусы, которые выдает предмет, не назначено ли ему лишних, есть ли все нужные, правильные ли числовые значения? Проверить ограничения по классу и уровню каждого предмета, дает ли комплект необходимые бонусы? Корректно ли отображается в окне персонажа и в самой игре? Для этого нужно иметь возможность работать персонажами всех классов и подклассов всех возможных уровней (как 1-го, так и 50-го и 23-го и 34-го).
Отсюда проистекает жизненная необходимость таких опций, как добавление себе в инвентарь предмета, установление себе определенного уровня (даже установка рейтов на весь сервер не дадут такого же эффекта, потому что качать уровни все равно будет слишком долго). Пожалуй, я могу представить себе вариант костылей для решения каждой такой проблемы, но простота и изящество процесса тестирования потеряются напрочь, придется убиваться вместо собственно сути тестирования его формой. Аналогично проверка всех квестов требует возможности добавления себе (и удаления) квестовых предметов, выставления различных этапов выполнения квеста. Проверка крафта требует возможности выставить уровень крафта, добавлять себе свитки с рецептами, учить и удалять выученные рецепты, для проверки критов нужно будет изготовить кучу предметов, для этого нужна куча ингридиентов (в том числе выпадающих с мировых боссов). Проверка всех локаций (проходимость, расположение неписей, монстров, декораций, переходы между локациями) требует возможности телепорта и/или увеличения скорости движения. Проверка дропа с монстров (особенно с мировых боссов) скорее всего потребует только возможности добавить себе вундервафлю и 500-й уровень, чтоб убивать мегамобов с одного плевка, при этом нужно еще проверить, падает ли лут с монстров твоего уровня и очень мелких. Само собой, потребуется вызывать нужное количество мобов (и чтоб не загрызли, пока за чаем отойдешь или в инвентаре копаешься, и чтоб не ждать респауна, когда одного прибьешь). Если все это проверять исключительно игровыми методами, то чтобы проверить шмот всех уровней и всех классов, придется качаться не одну неделю, пешком бегать по всем локациям, с 3483-й попытки убивать группой мирового босса (а потом еще контрольный несколько раз) - точнее, всех мировых боссов, подавать-приносить во всех квестах... Одним словом, честно отыгрывать с открытым вордпадом весь контент, который рассчитан на несколько месяцев игры. Несколькими классами. В таких условиях (без консоли) это невозможно, но без такого тестирования нельзя запускать даже ЗБТ. Первоначальное тестирование в принципе не может хотя бы отдаленно напоминать реальный игровой процесс - на это хватит ни времени, ни сил. Это исключительно кропотливая и довольно однообразная работа, не имеющая ничего общего с получением удовольствия от игры. ЗБТ может проходить только на минимально оттестированном фундаменте, у него уже другое назначение. Проверка сервера в боевом режиме, вылавливание незамеченных ранее глюков, проверка баланса, удобство собственно игрового процесса, юзабилити. ОБТ - финальный прогон. Это уже почти настоящая игра, здесь все уже идет совершенно по-честному. Но на ранних стадиях тестирования консоль жизненно необходима. Без нее невозможно проверить весь контент, а также очень трудно проверить базу всех основных возможностей игры. Кроме того, консоль и прочие возможности нужны на этапе обслуживания. Рассылка сообщения пользователям (к примеру, о скором отключении сервера), бан чата, бан персонажа, выведение из бана, возможность вытаскивания застрявшего в текстурах персонажа (его телепорта), функции ГМа (инвиз, возможность летать/быстро перемещаться, игнорирование препятствий), возможность массовой рассылки по почте/через опросы, различные ивенты. Консоль - не зло, а необходимый инструмент в разработке, тестировании и поддержке игры. Если планируется хотя бы сотня-тысяча активных игроков, то без нее нельзя будет обойтись. Безопасность и устойчивость к взлому придется обеспечивать камими-то иными методами, более изощренными и нетривиальными.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#1135 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
Собственно, я вполне понимаю озабоченность проблемами безопасности и возможный подход к методу их решения. Но создание игр нужно рассматривать со множества точек зрения:
1) с точки зрения разработчика 2) с точки зрения безопасника 3) с точки зрения тестера 4) с точки зрения игрока 5) с точки зрения поддержки и обслуживания 6) с точки зрения внедрения, маркетинга и распространения Можно создать очень красивый программный продукт, код которого будет прекрасен, четок, понятен и эффективен; при этом геймплей может быть великолепен и вызывать восторги в подавляющем числе игроков; безопасность игры окажется на высшем уровне. Но то же самое отсутствие консоли на корню зарубит простоту и практически саму возможность полноценного тестирования, возникающие во время работы игры проблемы (некорректное поведение пользователей, последствия локальных и глобальных ошибок, проведение массовых мероприятий) не смогут мало-мальски эффективно решаться (и даже неэффективно не смогут решаться, если в данный момент нет физического доступа к серверу или единственный админ не оповещен о проблеме), а возможности создания презентаций, видеороликов и подобных маркетинговых вещей будут очень затруднены. В результате получим "ошибку времени линковки" или "ошибку времени исполнения", хотя "ошибок времени компиляции" у нас не будет.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#1136 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
Если не вполне понятно, к чему это я - в MMO 2D RPG отсутствует такая вещь, как консоль и админка, которую я полагал одним из ключевых инструментов на этапе тестирования (хотя бы у одного админа должны быть подобные средства, ограниченные - желательно у специальных тестеров). Потому высказываю тут мнение, почему консоль такому крупному проекту действительно нужна.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#1137 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]()
Beermonza, Я тут подумал ночью, когда спал, над вашей игрой...
Выглядит оно отлично, несмотря на глюки. Привлекательно. Но есть три момента, на которые надо обратить внимание: - Переделать стартовый экран. Замечания описаны выше. Текущая реализация неудобна и непривлекательна. А ведь этот экран игроки будут видеть чаще всего. - Интерактивные подсказки. Типа, навел мышью на элемент меню - появилось окно с описанием. Это резко повысит удобство и освоение игры. - И самое главное. В текущей реализации не используется алгоритм поиска пути. Из-за этого перемещение игрока очень не удобно, настолько, что хочется бросить играть. Сейчас как Я понимаю, перемещение реализовано следующим образом: + Пользователь делает щелчок мыши (правой кнопкой) на место назначения. + Клиент посылает запрос серверу, сервер обрабатывает его и отправляет команду о перемещении. + Клиент получив команду на перемещение, перемещает игрока в нужную точку. Итого на всё это тратиться около 2 сек.(!). Очень нехорошо. При том перемещение производиться по прямой линии. Т.е. игрок может спокойно упереться в дерево и стоять как истукан. Как это надо сделать (пример взят из Diablo): + Пользователь делает щелчок мыши (левой кнопкой) на место назначения. + На клиенте производится проверка пустая ли ячейка места назначения. + Если ячейка занята, то выполняем действие, например, атаку. + Если ячейка пустая, то запускаем алгоритм поиска пути и строим матрицу перемещения. + Перемещаем игрока на место назначения (если оно достижимо), при этом отправляем запрос на сервер. На это время блокируем другие запросы. + Сервер обрабатывает его и отправляет команду о подтверждении перемещения. + Клиент синхронизирует текущее положение игрока. В этом случае задержка будет минимальной и реакция будет моментальной. Это резко повысит динамику игры. |
![]() |
![]() |
![]() |
#1138 |
Пользователь
Регистрация: 25.09.2008
Сообщений: 38
|
![]()
А у меня вчера инет рубанули %?
![]() вот что сразу бросилось в глаза: Желательно что б ники героев отображались сразу а то не видно кто есть кто ( пока наведешь тебя убьют), ну или сделать в меню настройка включение откл этой фишки!
Я с Вами где-то рядом...
|
![]() |
![]() |
![]() |
#1139 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Еще раз всех благодарю за потраченное время. Ваши замечания касаются бета-версии и обязательно должны быть реализованы, все правильно. Я принимаю их и не спорю с ними, по одной простой причине - "Адекватный клиент всегда прав".
В этой теме я занимался только одной целью - "На Delphi можно и очень успешно создавать игры", т.е. разрушал стереотип, и второй момент - доведение проекта до логического конца зависит от человек. Вроде как дальше пустого трепа дело тут не идет. Я показал пример как нужно стремиться к своей цели. Данный тест, и я неоднократно отмечал, был заточен на проверку сервера. После просмотра Log-файла я убедился, что модель сервера устойчива и не зависит от внешних пакетов пользователей. Единственная проблема была связана с тем, что я использовал стандартную таблицу отображения параметров пользователей. На сервере можно было видеть какой пользователь куда идет, ехо динамически изменяющиеся координаты, действия, кто кого атакует, количество жизни, состояния подключения и пр. И всё это через String, ...думаю, этим все сказано. Эта тормозная, но нужная система была проверена и теперь точно подлежит замене. Я не стал ничего переделывать, и не переделывал даже поле уже известного факта тормозности. Почему? ...у меня не так много времени, а тянуть больше уже просто неэтично, после всех просьб уже наконец запустить проект. Так что, прошу прощения за влив недоделанного клиента, он - чистая формальность для проверки сервера. Его оформление - выставить на показ и прорекламировать участвовавших в обсуждении проекта и помогающих, дабы никуда не кликая сразу узнать полную информацию. В бета-версии этого не будет, я это понимаю. На сервере зафиксированы попытки запустить два приложения, войти за меня, подключиться за одного и того же пользователя, обмануть ложными пакетами, ошибки на стороне клиента, ...сервер со всеми задачами справился на отлично. Это и была цель теста. Цитата:
Мне не хватит ни сил ни времени чтобы изложить все мысли и наработки, которые собрал за вот уже 12 лет, идя к цели создания MMO. Можете поверить на слово, я не дилетант в играх и все что вы нашли я давно знаю и понимаю, ...и тем не менее попросил описать, ...это очень полезно для любого человека, снижается гордыня, и я говорю спасибо и от имени себя и от имени тех кто прочтет эти замечания и примет к сведению. Спасибо друзья! ![]()
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
![]() |
![]() |
![]() |
#1140 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Это есть, но переключено в динамический режим. В меню беты вы сможете выбрать как отображать индексирование.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Уроки по созданию игр для новичков... | -=DeS=- | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 750 | 14.11.2017 20:26 |
Музыка программистов - как вы относитесь к АРИИ? | Весёлый Жека | Свободное общение | 46 | 10.10.2008 22:32 |
Конкурсы по созданию игр на Delphi | mutabor | Свободное общение | 0 | 15.06.2007 12:40 |
Работа по созданию ПО | remix | Фриланс | 3 | 22.04.2007 11:00 |