Это вторая часть рассказа об изменениях в этой версии. Редактор кораблей, еще в разработке и текущая версия лишь дает представление о том, что вы увидите. Детали для строительства кораблей сейчас в общей куче, они идут без сортировки, часть деталей от орбитальной верфи.
Понимаю, после предыдущей части, вы наверное устали, давайте просто посмотрим на изображения новых деталей для строительства кораблей:
Это обновление, отличается от предыдущих. Сразу приведу короткий список изменений, в текущем обновлении:
Регистрация и авторизация пользователей.
Автоматическое определение языка пользователя.
Под модальными диалогами появилось затенение, блокирующее случайные нажатия мимо диалога.
Главное меню отображается поверх диалогов.
Созданы новые детали для строительства кораблей.
Начну свой рассказ с момента, почему у меня ушла дополнительная неделя, на создание системы регистрации. Мы все знаем, что почти на каждом сайте есть регистрация. Но, не всегда обращаем внимание, на то, что наши пароли гуляют в открытом виде. Даже протокол https, не сможет нас защитить, от их хищения. Почти на каждом сайте, пароли шифруют только на стороне сервера. Используют по большей части md5, уже реже sha-1 и другие алгоритмы. Так в чем же опасность? (Есть хорошая статья в журнале «Хакер»: Все методы взлома MD5) Во первых, с сайта могут украсть базу данных паролей и восстановить все пароли пользователей, которые, есть в ней. Бывает, что шифрования вообще нет и на сайте пароли лежат в открытом виде. Но вернемся к браузеру, если компьютер или браузер будет заражен трояном/вирусом или вы случайно оставите свой пароль на компьютере друзей или еще где, пароли с легкостью утекут и ими смогут воспользоваться злоумышленники. Более интересная часть, все твердят — протокол https вас спасет, увы это не так, да он спасет от перехвата трафика, но не от троянов, вирусов и плагинов которые могут быть установлены в браузере, либо на компьютере и иметь прямой доступ к вашим паролям.
Ну что, готовы? Давайте рассмотрим примеры, начнем прогулку с социальной сети «В контакте» (я мог выбрать и другую социальную сеть или просто сайт). Но «В контакте», больше всех радует своей защитой. Может после прочтения текста, они переделают свою авторизацию и регистрацию. Сегодня 5 марта 2016 года и мы приступаем к тесту, открываем контакт и переходим в режим отладки F12:
Шаг первый, введем вместо логина 123456789, а вместо пароля 987654321. И посмотрим, как эти данные, будут отправлены на сервер (в браузере хром — F12, далее, перейти на вкладку Network).
И что мы видим, данные пошли по протоколу http в открытом виде, еще и без шифрования (Такое случается постоянно, не каждый человек знает, что нужно руками вводить https:// для перехода на защищенный протокол). Для социальной сети такого масштаба, это очень плохо, так как пароли гуляют в открытом виде и к ним они придут, так же, в открытом виде. Не ясно, как они будут использованы сотрудниками или компанией.
Посмотрим как же у нас обстоят дела? Введем логин abc@mail.ru, а пароль 987654321.
Пароль не похож на свое начальное представление, на вид как MD5, но так ли это? (Есть несколько десятков утилит, вы можете самостоятельно посмотреть, получится ли у вас из этого вытащить свой реальный пароль).
Но это еще далеко не всё, а что будет если мы опять попробуем зайти под нашим логином и паролем? Введем логин abc@mail.ru и пароль 987654321.
Пароль изменился?! Это покажется странно, на первый взгляд, но чтобы защитить ваши данные приходится применять необычный подход.
Подведем итоги: Так как, нам не важно какой у человека пароль, главное, чтобы введя свои данные, пользователь смог войти в систему. По этому, мы можем преобразовать пароль в другой вид, разрушив его оригинальную структуру. Все пароли шифруются на стороне клиента (в браузере), а после отправки еще и на стороне сервера. Таким образом «реальный пароль» был зашифрован еще до отправки на сервер. Для шифрования пароля воспользовался SHA-3 Кечак (Keccak), в измененном виде, также обернул его под MD5, чтобы добавить любителям взлома «видимую легкость». Конечно этот подход совершенно не гарантирует 100% защиты, любую систему можно взломать, но такой подход, в разы, затруднит получение доступа к вашему «реальному» паролю.
Поздравляю с праздником друзей, знакомых и читателей моего блога!
И представляю вашему вниманию, обновление, ко дню защитника отечества.
На этот раз это поверхность планет. Процедурные планеты и поверхность созданы без использования текстур. Вы сразу можете возразить, как?! Ответ очень прост, в реальности не используются текстуры для отображения гор вообще. Расчет цвета для каждого пикселя гор осуществляется в момент вывода его на экран, по заданным координатам. Но такой подход, требует наличия, далеко не слабой видеокарты. Ведь каждый кадр, поверхность строится по новой. И чем больше разрешение экрана, тем выше требования. Но и это еще не всё, без использования текстур, повышается сложность создания реалистичной поверхности планет. Ведь нам придется писать формулы для каждого типа поверхности (трава, камни, снег, вода, земля). А это сложно и требует много времени. Так какие же преимущества и недостатки в итоге.
Преимущества планет без текстур:
Не требуется память для хранения кусков текстур
Уникальный вид поверхности
Возможность задания разных свойств материалов
Изменение поверхности в реальном времени (лава, рост травы, обледенение и т.п.)
Недостатки тоже есть:
Требуется хорошая видеокарта
Высокая сложность создания новых типов поверхности (камни, песок, трава)
Постоянный просчет пикселей без возможности кеширования
Развитие видеокарт идет в сторону улучшения и ускорения, по этому, этот (гибридный) метод будет востребован, в ближайшем будущем.
Я специально ограничил размер планеты до 13км, удалил из кода куски для работы полноразмерных планет, оставил только одну форму планеты. Так же убрал камни и траву. А чтобы планета выводилась у большего числа людей, ограничил число проходов шума, до четырех. Конечно качество картинки резко ухудшилось, но даст большему числу людей с комфортом посмотреть на планету.
Почему?!
До момента выхода игры, оно будет в таком урезанном виде, уже не раз сталкивался, что мой код кочует в чужие проекты (даже без указания автора и ссылки откуда они это слямзили).
Обновление доступно по адресу: play.dg8.ru
Управление в режиме «Реалистичная Планета»:
W,A,S,D — для перемещения камеры
Q,E — наклон камеры
Левой кнопкой мышки на экран и двигать — вращение камеры
Представляю вашему вниманию, свежее обновление игры. В этом обновлении добавлена возможность строительства кораблей (временно в Ангаре). Космическая и орбитальная верфь всё еще в разработке. Но, для проработки, от прототипа, до полнофункционального редактора это ни как не помешает. В чем же прелесть этого редактора?! У вас будет возможность создать свой «уникальный» корабль. Вы сможете создавать корабли как по готовым чертежам, так и делиться своими чертежами с друзьями. Собственные корабли будут иметь различный функционал и визуальный вид.
Интерактивный Конструктор
Ракета из деталей
Элементы для строительства
Основные элементы для строительства, будут добавляться в игру, по мере готовности. А теперь перейдем к зданиям, у нас очередное пополнение, на этот раз:
Артиллерийская установка, модель нарисовал: Richard Hale
Не успела новость обойти весь свет, как сетевую часть вынужден временно остановить. Нагрузка оказалась выше допустимой, это привело к техническим проблемам на сервере. Попытаюсь устранить, возможно исправлю в ближайшее дни, либо придется создать другое сетевое решение, чтобы устранить возникшие проблемы.
Игровой сервер выключен, до момента устранения неполадок. Приносим свои извинения.
Хочу поблагодарить, всех кто принимал участие в обсуждении, поддержке и продвижении проекта. Особой благодарности удостоены: Стас Пинаев, Илья Лазаренков, Богдан Осадчий, и Георгий, который рисует для нас модели кораблей. Текущее обновление является косметическим, в основном была подготовка к внедрению сетевого кода в проект. Добавлена отдельная ветвь — сетевая игра, это прототип, в нем нельзя стрелять или как-то мешать противнику. Он выложен в общий доступ для тестирования интерполяции и предсказания движения. А так же для подготовки к полномасштабному внедрению сетевого кода в проект.
Короткий список изменений:
Создан раздел для авторизации
Прототип сетевой игры
Более аккуратный вид у орбит
Улучшен перевод
Добавлен Puddle Jumper из StarGate
Спасибо всем, за теплые слова поддержки и вашу помощь.
Пришла суббота, а с ней и обновление. Проект находится в стадии разработки, по этому, ваши отчеты о работоспособности будут очень полезны. Не забываем, что действует постоянная ссылка: play.dg8.ru
Требования к браузеру: у вас должен быть современный браузер (Google Chrome либо Firefox последней версии), Яндекс.Браузер даже последней версии к таковым не относится.
Требования к системе: Видеокарта с поддержкой OpenGL 3 / DirectX 10 и выше.
Игровой мир, стал богаче, на несколько зданий, добавлены: Рынок, Лаборатория, Полиция.
Лаборатория
Рынок
Полиция
Наш мир стал ярче: появились тени от зданий.
Тени от зданий
Уже работает выбор зданий и сооружений. Теперь можно продавать и улучшать здания. Система улучшений пока работает для некоторых типов зданий и планируется расширение.
Система улучшений
Исправлен весьма досадный недочет, при котором, сквозь меню, можно было производить выбор элементов (например зданий или планет).
Для большего удобства, теперь меню выбора Баз, можно переходить к планете на которой они размещены, достаточно нажать на её название.
Убран режим «Ангар», теперь, чтобы попасть в ангар, необходимо его построить, а уже после строительства зайти в выбранный ангар.
Приятная новость, в ангаре можно построить несколько видов кораблей. На данный момент это «Глайдер» и «F302» которые были показаны в фильме «Звездные Врата».