|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.09.2012, 21:11 | #41 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Это была авторизация, а регистрация имеет следующий вид (см. рисунок). Регистрация одноступенчатая, то есть после ввода всех данных (корректных) можно сразу приступать к игре. Отмечу следующие моменты:
С функциями показа справки и истории проблем не возникло, т.к. они аналогичны игровым. И наконец в игровое меню была добавлена кнопка выхода в главное меню. |
14.09.2012, 09:50 | #42 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
14.09.2012, 12:11 | #43 | |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
Это не очень критичный момент, т.к. при интеграции с соц.сетями регистрация сама по себе отпадает. |
|
15.09.2012, 22:12 | #44 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
14.09.12 – День 172
Добавил функции смены пароля и e-mail в стартовом меню. Тут достаточно всё просто, но нужно отметить важный момент – для смены пароля и e-mail пользователю требуется ввести текущий пароль. Почему это так важно? Ведь данные действия доступны только авторизированным пользователям. Дело в том, что используя смену пароля и e-mail злоумышленник может «увести» аккаунт игрока. Как я писал ранее, злоумышленник может получить доступ двумя способами: перехватом пароля и кражей кук. Таким образом, требованием ввода пароля мы исключаем кражу аккаунта с при помощи кражи кук. Пока писал этот текст, понял, что забыл добавить пункт «Восстановить пароль». Да, бывает и такое, что планируешь, чертишь схемы, и вот уже заканчиваешь писать код, как выясняешь, что забыл важную деталь. Надо будет добавить этот пункт в меню авторизации. При тестировании работы новых пунктов меню я обнаружил весьма показательную ошибку, о которой стоит рассказать новичкам. Большую часть модулей для игры я беру из старых проверенных проектов. У каждого программиста со временем формируется свой собственный набор решений для тех или иных задач. У меня тоже есть такой набор. При тестировании функций смены e-mail в данном проекте я обнаружил, что любой e-mail сбрасывается на пустой. После небольшой проверки я убедился, что проблема в главном модуле фильтрации входных данных. Это меня очень удивило, так как данный модуль я использую на протяжении нескольких лет, без каких-либо нареканий. Модуль фильтрации входных данный представляет собой три функции:
Истинную причину ошибки мне помог обнаружить xdebug. Без него я бы, наверное, застрял бы на несколько дней с этой ошибкой. Совет новичкам: используйте профилирование скриптов в xdebug, оно колоссально сокращает время отладки и поиска сложных ошибок. Ошибка была в том, что с клиента запрос приходил не в виде строки, как это было обычно, а в виде url. В данном проекте я решил использовать формы для упаковки данных, до этого я использовал обычные текстовые поля и другие подходы. Добавив с фильтр конвертор url в строку, я исправил ошибку. Мораль столь длинного рассказа об ошибке такова:
|
17.09.2012, 07:28 | #45 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Я не зареган не в одной из соцсетей, что же мне теперь не поиграть в Вашу игру ?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
17.09.2012, 08:56 | #46 | |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
|
|
22.09.2012, 23:19 | #47 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
22.09.12 – День 173
Закончил добавление подсказок для стартового меню. То, что получилось, можно увидеть на рисунке (курсор находиться над полем ввода e-mail-а). Несмотря на небольшой объём работ, я потратил очень много времени на это. Причина: баг с показом подсказок. Для отображения подсказок я использую свой собственный jQuery-плагин, который автоматически создаёт подсказки для всех элементов с не типизированным атрибутом «hint». Так как много элементов (в том числе стартовое меню) создаются динамически, то приходиться отдельно включать отображение подсказок для новых элементов. Чтобы постоянно не перебирать новые элементы, я создал функцию SetHints(), которая включает подсказки для всех элементов с атрибутом «hint». Баг состоял в том, что для стартового меню SetHints() не работало. Я провел 3 часа за отладкой кода и так и не понял, на каком этапе происходит ошибка. Самое удивительное, что если задать отображение подсказок напрямую к конкретному элементу, то всё работает. В итоге всё сделал этим обходным путём. Баг внёс в журнал ошибок. Эта ошибка показала один из самых сложных моментов работы в одиночку. Иногда во время работы над проектом всплывают баги или ошибки, решения которых в одиночку не найти (может быть, что и решения вовсе нет). На помощь со стороны рассчитывать не приходиться, т.к. нужно знание проекта. Приходиться искать обходные пути. На этот баг я потратил относительно мало времени. Бывало, что я по несколько суток пытался найти причину ошибки. Психологически, это очень трудный момент. Во время таких ситуаций разработчику приходит понимание всей сложности проекта и ничтожности его сил. Очень часто разработчики «застревают» в таких ситуациях и оставляют разработку проекта. Могу дать по этому поводу несколько советов:
|
24.09.2012, 15:18 | #48 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
24.09.2012, 22:28 | #49 | |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
Раз уж зашел разговор об оформлении, то поделюсь лайфхаком: - Ошибки или места, требующие доработки, обозначайте специальным словом. Например, я использую //!!!! Если я захочу заняться исправлением ошибок или буду проводить тестирование, то достаточно осуществить поиск по этому слову, и всех недоработки будут найдены. |
|
25.09.2012, 21:31 | #50 |
Форумчанин
Регистрация: 12.06.2011
Сообщений: 115
|
Очень интерестная тема, но хотелось бы уточнить какой именно функционал будет у игрока? Тоесть браузерных игр, где просто нужно ходить, убивать мобов и, в перерывах, покупать новую амуницию итак слишком много. Тут уже нужны приятные мелочи типа возможности иметь питомца или транспорт и т.д. Будет ли что-то подобное у Вас? И что, если конечно не секрет и не рано об этом говорить?)
Men do it in ASCII!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Электронный дневник на Joomla | sashmedv | WordPress и другие CMS | 6 | 26.01.2012 12:53 |
Что нужно знать для разработчика игр. | 13th | Свободное общение | 38 | 14.01.2012 17:32 |
Дневник изучения С++ | Arcanis | Общие вопросы C/C++ | 2 | 26.05.2011 12:09 |
Дневник в Delphi | TaYgA | Помощь студентам | 18 | 12.10.2009 17:56 |