Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2012, 20:22   #1131
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Вот замечания по работе:

Цитата:
Сообщение от ACE Valery
1. Вдвоем били разбойника(напарник стоял за спиной у разбойника, и их индикаторы жизней почти накладывались друг на друга), у него были полные жизни, и только перед последним ударом показало, что жизней у него осталось мало.
2. При возвращении со второй карты на первую, когда появился экран загрузки, курсор мышки начал размножиться при движении им по экрану. Перехода так и не произошло, пришлось выключать игру.
3. В таверне мой перс проходил под текстурами правой стены.
4. При попытке перейти на вторую карту, окно загрузки новой карты не показалось, я осталась в Деревне, тут же меня выкинуло на главный экран, я переподключилась и оказалась в центре карты Окрестности
4а. При попытке перейти на вторую карту, окно загрузки новой карты не показалось, я осталась в Деревне, тут же меня выкинуло на главный экран, я переподключилась и оказалась в Деревне. Пока писала эту ошибку в блокнот, мой перс пропал с карты, и выдалось сообщение "Access violation at address 00401EB8 in module 'MMO 2D RPG.exe'. Write of address FFFA0004."
5. Дралась с разбойниками. Жизней было мало, нажала на 1, чтобы выпить зелье жизни, вероятно, в тот же момент меня стукнул разбойник. В общем, получилось так, что мой перс погиб, но жизней у него было 50.
6. Несколько раз было так: дерусь с двумя разбойниками, бью всегда одного. Второй бьет меня как раз в тот момент, когда я начинаю бить первого. При этом у первого ни жизни не отнимаются, ни анимации получения удара у него нет, жизнь остается на том же уровне. А потом(когда теоретически я должна была его добить) он просто берет и исчезает, без анимации падения.

После ошибки 4а в игру больше зайти не удалось
Цитата:
Сообщение от dampirik
Пожелания/баги по серверу
1) расширение у меня 1366х768 - не вижу чата(скрыт за панелью пуск)
2) полноэкранный режим
3) нету настроек, возможности выйти и тд.
4) банки здоровья действуют только по нажатию на цифры (из инвенторя недоступны),
после выхода из игры - пропали банки здоровья, но из меню быстрого доступа они действуют.
Выбросил инвентарю на землю, вышел, зашел его нету
5) два противника могут стоять в одной клетке (разбойники)
6) после смерти получаем опыт и когда воскрешаемся
7) разбойники какие-то сильные - вроде 1 уровня, а я 6 а убить тяжело
добавить еще парочку разновидностей нпс + диалоговые нпс
8) не совсем понятно по инвентарю - его характеристики, если снят шит, то на модельке всеравно он виден
9) во время боя иногда происходят скачки (дергаются персонаж и разбойник)
10) движение к точке, происходит сперва х+скорость, у+скорость, а не по гипотенузе. (возможно особенность архитектуры)
12) я подвис и разбойник, а чат работает
13) не могу отвязаться от разбойника - он не отстает, спрятался в домике - он не возращается обратно - ждет
14) следует разнообразить режим боя, движения ...а то все медленно - быстро наскучивает
15) разбойник когда преследует - умудряется проходить через дома, но после выхода из игры они куда пропали, да же те у которых точка респаунта была там....
, подобрал шмотку, а в инвентаре ее нету (не подбираются предметы)
16) иконка мышки как-то не особо шустро движется, хотя нагрузки особой на процессор не наблюдаю,
на входе иконка входа пропадает под контрол.
17) не плохо бы чтобы игра запоминала бы последний удачный вход - логин/сервер
18) под деревьями видна тень от персонажа, а не должна быть
19) сделать окошкам возможность движения и закрывания
20) чат позволяет отправлять пустые сообщения и не всегда прокручивается автоматически
21) механика расчета урона на совсем понятно
Значения брони, оружия и характеристик не сбалансированы
22) хп со временем не восстанавливается
Цитата:
Сообщение от Виталий Желтяков
Графика и музыка на хорошем уровне. Но есть замечания:
- Изображение стартового экрана подобранно плохо.
- Много лишнего текста на стартовом экране.
- Использование никнеймов. Выпускаете продукт - используйте реальные имена.
- Неотключаемая звуковая тема на старте.
- Стартовый экран имеет тип resizeble.
- Не запоминаются введённые при входе значения. Хотя бы ip запоминался.
- Нет бега
- нет интерактивных подсказок. Тяжело ориентироваться.
- "Х" в менюшке не обозначен.
- Нет возможности свернуть миникарту.
- Не всегда срабатывает перемещение.
- Не удобно организовано перемещение и атака. Лучше перемещаться при клике на пустом месте и атаковать при клике на объекте.
- Команда о перемещении приходит с сервера из-за этого наблюдается задержка. Лучше реализовать алгоритм на клиенте и дублировать на сервере.
- Маленькие управляющие иконки. Неудобно.
- Алгоритм поиска пути не работает на припятствиях.
- Аватарка откудата взята. Нехорошо.
- После получения уровня меню характеристик выглядит некорректно. Появились полосочки.

Если что нужно то могу разъяснить.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 20.05.2012 в 20:44.
Beermonza вне форума Ответить с цитированием
Старый 20.05.2012, 20:44   #1132
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Чтобы не было недоразумений, на аватарке мой брат, ...все ресурсы я создавал самолично, от и до, никаких плагиатов, включая музыку и звуки.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 20.05.2012, 22:15   #1133
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

По поводу необходимости консоли (админской/модерской/ГМской) в игре.

Собственно, минусы консоли понятны - через нее теоретически вполне можно взломать игру и сделать много всяких интересных вещей. Но тем не менее, для создания игры без такой консоли никуда. На этапе тестирования (внутреннего тестирования и затем ЗБТ - закрытой беты) это самый необходимый инструмент, без него нельзя вообще.

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

Рассмотрим тестирование контента на примере предметов. Что нам необходимо проверить про предметы (список умозрительный, а потому неполный)?

Первым делом - основы. Отображаются ли описания предметов, нет ли проблем со слишком длинными описаниями, действуют ли ограничения по уровню/классу, дают ли предметы необходимые бонусы?

Это можно проверить на ограниченном количестве примеров, по нескольку штук для каждой характеристики (описание, ограничения класса, ограничения уровня, бонусы каждой конкретной абилки). Однако, и для этого уже потребуется достаточно большое количество предметов. Кроме того, потребуется по одному персонажу каждого класса, чтобы проверять ограничения по классам. Хорошо, если не существует подклассов, которые открываются уровне на 10-м.

Чтобы проверить классы/уровни, достаточно прокачать нужное количество персонажей на пару уровней. Скажем, 3-4 персонажа каждого класса до 3-5 уровня. Это будет не очень долго, но ведь всем им еще нужны будут предметы, дающие различные бонусы. В принципе, можно сделать один предмет (точнее, несколько его копий разного класса/уровня), дающий все возможные бонусы, чтобы уже одев его, можно было по окну персонажа проверить все характеристики. Плюс несколько предметов с различными описаниями.

Но это касалось только одеваемых предметов (оружия и брони). А еще есть используемые предметы - зелья, свитки, зачарованные предметы. Нужно проверить каждый конкретный эффект от них - восстановление здоровья, маны, использование заклинания. Желательно в самых различных условиях. Когда ты мертвый, когда у тебя частичное здоровье/мана, когда полное. Как они взаимодействуют с эффектами, временно понижающими какие-либо характеристики? Можно ли использовать их до истечения отката, большее количество раз, чем предусмотрено?

Для всего этого понадобится достаточно много предметов. Откуда их брать? Теоретически можно сделать кучу сундуков с предметами разных типов, но копаться в них тоже будет то еще занятие. Не говоря уж о том, что админу нужно будет вручную запихать в сундуки огромное количество предметов. И потом, скорее всего, добавлять со страшной скоростью по мере использования.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 20.05.2012, 22:16   #1134
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Но это еще были только цветочки. Это были очень общие тесты, которые можно проверять выборочно. А ведь еще нужно будет проверить каждый предмет. Корректность его описания, наличие опечаток, не вылазит ли текст за пределы окна, не слишком ли большое окно описания? Отсмотреть бонусы, которые выдает предмет, не назначено ли ему лишних, есть ли все нужные, правильные ли числовые значения? Проверить ограничения по классу и уровню каждого предмета, дает ли комплект необходимые бонусы? Корректно ли отображается в окне персонажа и в самой игре? Для этого нужно иметь возможность работать персонажами всех классов и подклассов всех возможных уровней (как 1-го, так и 50-го и 23-го и 34-го).

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

Аналогично проверка всех квестов требует возможности добавления себе (и удаления) квестовых предметов, выставления различных этапов выполнения квеста. Проверка крафта требует возможности выставить уровень крафта, добавлять себе свитки с рецептами, учить и удалять выученные рецепты, для проверки критов нужно будет изготовить кучу предметов, для этого нужна куча ингридиентов (в том числе выпадающих с мировых боссов).

Проверка всех локаций (проходимость, расположение неписей, монстров, декораций, переходы между локациями) требует возможности телепорта и/или увеличения скорости движения.

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

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

В таких условиях (без консоли) это невозможно, но без такого тестирования нельзя запускать даже ЗБТ. Первоначальное тестирование в принципе не может хотя бы отдаленно напоминать реальный игровой процесс - на это хватит ни времени, ни сил. Это исключительно кропотливая и довольно однообразная работа, не имеющая ничего общего с получением удовольствия от игры.

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

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

Кроме того, консоль и прочие возможности нужны на этапе обслуживания. Рассылка сообщения пользователям (к примеру, о скором отключении сервера), бан чата, бан персонажа, выведение из бана, возможность вытаскивания застрявшего в текстурах персонажа (его телепорта), функции ГМа (инвиз, возможность летать/быстро перемещаться, игнорирование препятствий), возможность массовой рассылки по почте/через опросы, различные ивенты.

Консоль - не зло, а необходимый инструмент в разработке, тестировании и поддержке игры. Если планируется хотя бы сотня-тысяча активных игроков, то без нее нельзя будет обойтись. Безопасность и устойчивость к взлому придется обеспечивать камими-то иными методами, более изощренными и нетривиальными.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 20.05.2012, 22:28   #1135
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Собственно, я вполне понимаю озабоченность проблемами безопасности и возможный подход к методу их решения. Но создание игр нужно рассматривать со множества точек зрения:
1) с точки зрения разработчика
2) с точки зрения безопасника
3) с точки зрения тестера
4) с точки зрения игрока
5) с точки зрения поддержки и обслуживания
6) с точки зрения внедрения, маркетинга и распространения

Можно создать очень красивый программный продукт, код которого будет прекрасен, четок, понятен и эффективен; при этом геймплей может быть великолепен и вызывать восторги в подавляющем числе игроков; безопасность игры окажется на высшем уровне. Но то же самое отсутствие консоли на корню зарубит простоту и практически саму возможность полноценного тестирования, возникающие во время работы игры проблемы (некорректное поведение пользователей, последствия локальных и глобальных ошибок, проведение массовых мероприятий) не смогут мало-мальски эффективно решаться (и даже неэффективно не смогут решаться, если в данный момент нет физического доступа к серверу или единственный админ не оповещен о проблеме), а возможности создания презентаций, видеороликов и подобных маркетинговых вещей будут очень затруднены.

В результате получим "ошибку времени линковки" или "ошибку времени исполнения", хотя "ошибок времени компиляции" у нас не будет.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 20.05.2012, 22:32   #1136
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Если не вполне понятно, к чему это я - в MMO 2D RPG отсутствует такая вещь, как консоль и админка, которую я полагал одним из ключевых инструментов на этапе тестирования (хотя бы у одного админа должны быть подобные средства, ограниченные - желательно у специальных тестеров). Потому высказываю тут мнение, почему консоль такому крупному проекту действительно нужна.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 21.05.2012, 09:42   #1137
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Beermonza, Я тут подумал ночью, когда спал, над вашей игрой...

Выглядит оно отлично, несмотря на глюки. Привлекательно. Но есть три момента, на которые надо обратить внимание:

- Переделать стартовый экран. Замечания описаны выше. Текущая реализация неудобна и непривлекательна. А ведь этот экран игроки будут видеть чаще всего.

- Интерактивные подсказки. Типа, навел мышью на элемент меню - появилось окно с описанием. Это резко повысит удобство и освоение игры.

- И самое главное. В текущей реализации не используется алгоритм поиска пути. Из-за этого перемещение игрока очень не удобно, настолько, что хочется бросить играть.

Сейчас как Я понимаю, перемещение реализовано следующим образом:
+ Пользователь делает щелчок мыши (правой кнопкой) на место назначения.
+ Клиент посылает запрос серверу, сервер обрабатывает его и отправляет команду о перемещении.
+ Клиент получив команду на перемещение, перемещает игрока в нужную точку.
Итого на всё это тратиться около 2 сек.(!). Очень нехорошо. При том перемещение производиться по прямой линии. Т.е. игрок может спокойно упереться в дерево и стоять как истукан.

Как это надо сделать (пример взят из Diablo):
+ Пользователь делает щелчок мыши (левой кнопкой) на место назначения.
+ На клиенте производится проверка пустая ли ячейка места назначения.
+ Если ячейка занята, то выполняем действие, например, атаку.
+ Если ячейка пустая, то запускаем алгоритм поиска пути и строим матрицу перемещения.
+ Перемещаем игрока на место назначения (если оно достижимо), при этом отправляем запрос на сервер. На это время блокируем другие запросы.
+ Сервер обрабатывает его и отправляет команду о подтверждении перемещения.
+ Клиент синхронизирует текущее положение игрока.
В этом случае задержка будет минимальной и реакция будет моментальной. Это резко повысит динамику игры.
Виталий Желтяков вне форума Ответить с цитированием
Старый 21.05.2012, 11:38   #1138
Vigi
Пользователь
 
Аватар для Vigi
 
Регистрация: 25.09.2008
Сообщений: 38
По умолчанию

А у меня вчера инет рубанули %??* так что сильно не успел насладиться ((
вот что сразу бросилось в глаза: Желательно что б ники героев отображались сразу а то не видно кто есть кто ( пока наведешь тебя убьют), ну или сделать в меню настройка включение откл этой фишки!
Я с Вами где-то рядом...
Vigi вне форума Ответить с цитированием
Старый 21.05.2012, 15:59   #1139
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Еще раз всех благодарю за потраченное время. Ваши замечания касаются бета-версии и обязательно должны быть реализованы, все правильно. Я принимаю их и не спорю с ними, по одной простой причине - "Адекватный клиент всегда прав".

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

Данный тест, и я неоднократно отмечал, был заточен на проверку сервера. После просмотра Log-файла я убедился, что модель сервера устойчива и не зависит от внешних пакетов пользователей. Единственная проблема была связана с тем, что я использовал стандартную таблицу отображения параметров пользователей. На сервере можно было видеть какой пользователь куда идет, ехо динамически изменяющиеся координаты, действия, кто кого атакует, количество жизни, состояния подключения и пр. И всё это через String, ...думаю, этим все сказано. Эта тормозная, но нужная система была проверена и теперь точно подлежит замене. Я не стал ничего переделывать, и не переделывал даже поле уже известного факта тормозности. Почему? ...у меня не так много времени, а тянуть больше уже просто неэтично, после всех просьб уже наконец запустить проект.

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

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

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
Сейчас как Я понимаю, перемещение реализовано следующим образом:
+ Пользователь делает щелчок мыши (правой кнопкой) на место назначения.
+ Клиент посылает запрос серверу, сервер обрабатывает его и отправляет команду о перемещении.
+ Клиент получив команду на перемещение, перемещает игрока в нужную точку.
Итого на всё это тратиться около 2 сек.(!). Очень нехорошо. При том перемещение производиться по прямой линии. Т.е. игрок может спокойно упереться в дерево и стоять как истукан.
Есть одно золотое право, при всем уважении "Клиенту доверять нельзя". Если учесть, что поиска пути и нет вовсе - это сложная система, и я работаю над более простой, чтобы не грузила сервер, то система управления полностью передана серверу. Клиент не может никаким образом перемещаться без одобрения сервера. Таймауты введены искусственно, ...если вы почувствовали тормозность - это таймаут между действиями, он введен для нивелирования разброса возможных пингов пользователей. Если между атаками вам кажется, что большая пауза (а она 6 сек), то нужно бросать очки на Ловкость, и к моменту прокачивании ее до 200 паузы между ударами практически не будет, ...бой будет динамичен до безобразия. Это момент внесения в игру реалистичности. Кто из вас сможет в полной амуниции месить мечем каждую секунду? ...никто. Я просмотрел множество поединков на мечах, и старался совместить сразу 3 цели: игру, реалистичность, прокачиваемость.

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

Спасибо друзья!
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 21.05.2012, 16:01   #1140
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от Vigi Посмотреть сообщение
А у меня вчера инет рубанули %??* так что сильно не успел насладиться ((
вот что сразу бросилось в глаза: Желательно что б ники героев отображались сразу а то не видно кто есть кто ( пока наведешь тебя убьют), ну или сделать в меню настройка включение откл этой фишки!
Это есть, но переключено в динамический режим. В меню беты вы сможете выбрать как отображать индексирование.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уроки по созданию игр для новичков... -=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