|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.09.2012, 00:29 | #31 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Это не площадка для споров на косвенно связанные темы, ...русским языком напечатал.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
08.09.2012, 07:47 | #32 | ||
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
Цитата:
По вашим рассуждениям, идеальная игра это та, которая не предвзято удовлетворит желания пользователя. Так как люди всегда смотрят на вещи субъективно, то такая игра должна быть свободной (open source). Как я понимаю, Вы просто не знаете историю свободных игр. В начале 2000-х в рунете было около десятка свободных игр, где сами игроки создавали тот "виртуальный" мир, который хотели. Все эти игры вымерли за 1-2 года из-за неспособности конкурировать с коммерческими проектами. Они вымерли потому, что в их сообществах не было достойных креативщиков и из-за этого игра выглядела убого и страшно. |
||
08.09.2012, 23:39 | #33 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
06.09.12 – День 170
При редактировании стартового меню обнаружил, что кнопки с двумя строками текста отображаются неправильно (не центрируются по вертикали). Пришлось потрать уйму времени для нахождения корректного (для моего случая) способа отображения кнопок. Я остановил свой выбор на способе с использованием line-height и внутреннего блока. Не совсем красиво, но работает. Контейнер Код HTML:
.conteiner: {line-height:60px;} Код HTML:
.block: {display:inline-block; vertical-align:middle; line-height:1.2;} |
08.09.2012, 23:43 | #34 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
06.09.12 – День 170 (продолжение)
Протестировал возможность использования текстур с шумом дабы предать кнопкам и фону эффект реальности. Тесты дали отрицательные результаты. Текстуры малого разрешения смотрятся плохо. Использовать текстуры высокого разрешения накладно – лишняя нагрузка на стартовую страницу. К тому же hover-эффект притормаживал. Для новичков отмечу, что иногда приходиться в процессе разработки проекта отказываться от части идей в угоду общей эффективности. Пример отказа от текстур с шумом тому доказательство. Приступил к самой «весёлой» части – отладка модулей регистрации, авторизации и настроек аккаунта. Это тривиальная (стандартная) задача для web-программиста, которая решается достаточно легко для общего случая. Но это для общего случая, а у нас FullAjax-система. FullAjax-системы – это системы, где почти всё клиент-серверное взаимодействие идёт при помощи запросов из JS (можно ещё через фреймы, но это плохой способ). Преимуществами таких систем являются:
Но у FullAjax-систем есть недостатки:
|
08.09.2012, 23:44 | #35 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
06.09.12 – День 170 (продолжение)
В FullAjax-системах все запросы направляются к одному исполняющему файлу, у меня index.php. Конечно, можно сделать систему с несколькими исполняющими файлами, но это грозит проблемами с синхронизацией и очередью обработки. В итоге получается, что один исполняющий файл обрабатывает все возможные случаи. Часть случаев легко укладывается в возможности API (интерфейса взаимодействия), а вот с другой частью возникают проблемы. Разберём возможные случаи работы с аккаунтом:
Определяющими факторами являются: наличие кук, наличие в сессии пользовательских данных и факт первоначальной загрузки страницы. Если при загрузке страницы, кук логина и пароля нет (или они обнулённые), то производим инициализацию стартовой страницы. Если есть, то инициализацию самой игры (игроку незачем видеть всегда стартовую страницу, лучше сразу его перебрасывать в игру). Если сессия в процессе игры оказалась потерянной, то производим действия аналогичные первоначальной загрузки страницы. Остальные действия производим по командам пользователя за исключением одного: «Инициализация стартовой страницы при отсуствии/потере кук». Здесь самый тонкий момент. Если добавить проверку кук, то нам придётся при каждом запросе пользователя обращаться к БД для проверки данных. Это ресурсоёмко. Задумаемся о том, насколько важна нам эта проверка. Без этой проверки пользователь может подобрать сессионную куку и выполнить действия за другого пользователя. Не безопасно, но вероятность подбора сессионной куки равна отношению числа сессий пользователей к 32^36, что является невероятно малым. Короче на проверку кук можно не отвлекаться. Да, в нашем проекте есть дыра, но вряд ли ей кто-нибудь воспользуется. Также есть ряд действий (например, регистрация), которые выполняются при отсутствии пользовательских данных в сессии. Их необходимо обрабатывать первыми, так как иначе до них не дойдёт очередь. Получается следующая схема обработки поступающих данных:
Последний раз редактировалось Виталий Желтяков; 09.09.2012 в 08:50. Причина: Критическое исправление |
09.09.2012, 15:02 | #36 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Нарисуй блок-схему, с ней больше читающих поймут.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
09.09.2012, 16:49 | #37 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
06.09.12 – День 170 (продолжение)
На блок-схеме это будет выглядеть так: |
09.09.2012, 16:50 | #38 |
Mazafaka stenograf
Форумчанин
Регистрация: 12.01.2012
Сообщений: 229
|
Виталий, у меня вопрос, с помощью какого ПО, вы, создаете игру, то есть, ПО которое отвечает за графику, и текстуры ко всему вы все рисовали сами, или скачали часть?
|
09.09.2012, 19:48 | #39 | |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
Абсолютное большинство моделей мои, накоплены за много лет. Остальные бесплатные. С текстурами так же - либо бесплатные, либо мои. Для создания текстур и постобработки используется только Gimp. Для написания кода - RJ TextEdit. Для работой с Mysql - HeidiSQL. |
|
13.09.2012, 21:09 | #40 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
10.09.12 – День 171
Проделал большую работу – подключил и протестировал модуль авторизации, истории, регистрации, справки в главном меню. Модули авторизации и регистрации взяты из предыдущего проекта и адаптированы под текущий. Я использую стандартную схему авторизации «логин» - «пароль». Авторизацию через сервисы ключей (OpenID, ключи соц.сетей) не планирую, так как для соц.сетей будут организованны отдельные сервера игры. В моей схеме в куках клиента и на сервере сохраняется логин, шифрованный пароль и ID пользователя. Пароль шифруется при помощи случайной соли и криптографического алгоритма md5, т.е. я храню в пароль в не открытом виде. Насколько надёжен такой способ авторизации? Если не рассматривать возможности взлома на физическом уровне и уровне ОС, то злоумышленнику нужно либо украсть/подобрать пароль в явном виде, либо украсть куки. Это он может сделать либо имея физический доступ к браузеру пользователя, либо прослушивая канал пользователя. От первого мы никак защититься не можем, а от второго не будем. Мы можем использовать шифрованный канал, но так как я планирую интеграцию игры с соц.сетями, то все критические действия (денежные переводы) будут осуществляться средствами соц.сети по их шифрованным каналам. Прошу обратить внимание на два момента:
Также, естественно, добавлены функции проверки вводимых данных. Проверка двойная. На клиенте проверка осуществляется при помощи следующей функции JS: Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Электронный дневник на 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 |