Каждый год дети во многих странах активно охотятся за шоколадными яйцами, спрятанными пасхальным кроликом. Но сегодня мы в образе лисы начинаем охоту за яйцами.
Мной была создана простейшая игра для детей, где для Вы управляете маленьким лисёнком, который бежит по лесу и собирает яйца.
Технологии, инструменты и фреймворки — React + ThreeJS + Vite. Система столкновений OBB.
Вы оказались в мире, где лава пытается захватить мир. Фантастика? — Нет, это новый игровой проект. В этом мире полностью наполненным лавой вам предстоит выбираться из руин, лабораторий, заброшенных зданий, замков и очень загадочных технических сооружений. Процесс игры линейный, с постепенным повышением сложности. Каждая стадия это уникальная локация, со своими загадками и особенностями. Но все стадии объединяет одно, вам нужно найти портал перемещения и шагнуть в него.
В один прекрасный день, появилась фантастическая идея. А что, если создать процедурную вселенную, с малым размером, до 64Кб. При этом должны быть планеты, туманности, космические станции и другие объекты. Задача, хоть и простая, но добиться минимального размера, со всеми ресурсами, весьма не просто. Каждый байт имеет вес и цену, каждая строчка кода должна быть оптимальной. После пары месяцев родился первый прототип. И как результат, появилась группа единомышленников, с которой мы постоянно ведём обсуждения, делаем выбор тех или иных решений. Сейчас проект находится в активной стадии разработки.
Текущую версию проекта можно посмотреть на сайте www.invspace.com
На улице холодно, а у нас жара. Подготовил очередное обновление, этого замечательного ретро проекта Q1 Infinity.
Обновил генерацию оружия, оно теперь занимает 400 байт. Обновил интерфейс и это + 3кб. Исправил ошибки, добавил двери, изменил систему столкновений. Так же для публикации проекта на ряде площадок потребовалось предупреждение о возможном влиянии вспышек света и т.п. Изменил начальную заставку.
Конечно, мелкие багфиксы и тюнинг. Появилась возможность выйти из фуллскрина через меню. И много других мелочей, которые не заметны глазу, но в динамике чувствуются.
По итогу проект перевалил за 15Кб, но это не повод печалиться. Если сжать gz, то проект всё ещё до 15Кб. Конечно хочется иметь бесконечно минимальный размер и стилистику ретро игры. На следующем скриншоте показан текущий размер проекта.
Дорогие друзья! Совсем скоро наступит 2022 год. К встрече Нового года мы всегда готовимся заранее и, несмотря на множество дел, главным считаем теплоту человеческих отношений и дружеского общения. Мы стремимся сделать для других что-то важное, полезное, помочь тем, кто нуждается в нашей поддержке, порадовать их подарками и вниманием. В таких искренних порывах, в чистоте помыслов, в бескорыстной щедрости и проявляется настоящее волшебство новогоднего праздника.
К Наступающему новому году, подготовил для вас демку Q1 Infinity. (Размер демки 15Кб).
Процедурные уровни, приятно порадуют любителей разнообразия. А средняя сложность, позволит проникнуться игровой атмосферой.
Поздравляю с праздником друзей, знакомых и читателей моего блога!
И представляю вашему вниманию, обновление, ко дню защитника отечества.
На этот раз это поверхность планет. Процедурные планеты и поверхность созданы без использования текстур. Вы сразу можете возразить, как?! Ответ очень прост, в реальности не используются текстуры для отображения гор вообще. Расчет цвета для каждого пикселя гор осуществляется в момент вывода его на экран, по заданным координатам. Но такой подход, требует наличия, далеко не слабой видеокарты. Ведь каждый кадр, поверхность строится по новой. И чем больше разрешение экрана, тем выше требования. Но и это еще не всё, без использования текстур, повышается сложность создания реалистичной поверхности планет. Ведь нам придется писать формулы для каждого типа поверхности (трава, камни, снег, вода, земля). А это сложно и требует много времени. Так какие же преимущества и недостатки в итоге.
Преимущества планет без текстур:
Не требуется память для хранения кусков текстур
Уникальный вид поверхности
Возможность задания разных свойств материалов
Изменение поверхности в реальном времени (лава, рост травы, обледенение и т.п.)
Недостатки тоже есть:
Требуется хорошая видеокарта
Высокая сложность создания новых типов поверхности (камни, песок, трава)
Постоянный просчет пикселей без возможности кеширования
Развитие видеокарт идет в сторону улучшения и ускорения, по этому, этот (гибридный) метод будет востребован, в ближайшем будущем.
Я специально ограничил размер планеты до 13км, удалил из кода куски для работы полноразмерных планет, оставил только одну форму планеты. Так же убрал камни и траву. А чтобы планета выводилась у большего числа людей, ограничил число проходов шума, до четырех. Конечно качество картинки резко ухудшилось, но даст большему числу людей с комфортом посмотреть на планету.
Почему?!
До момента выхода игры, оно будет в таком урезанном виде, уже не раз сталкивался, что мой код кочует в чужие проекты (даже без указания автора и ссылки откуда они это слямзили).
Обновление доступно по адресу: play.dg8.ru
Управление в режиме «Реалистичная Планета»:
W,A,S,D — для перемещения камеры
Q,E — наклон камеры
Левой кнопкой мышки на экран и двигать — вращение камеры
Представляю вашему вниманию, свежее обновление игры. В этом обновлении добавлена возможность строительства кораблей (временно в Ангаре). Космическая и орбитальная верфь всё еще в разработке. Но, для проработки, от прототипа, до полнофункционального редактора это ни как не помешает. В чем же прелесть этого редактора?! У вас будет возможность создать свой «уникальный» корабль. Вы сможете создавать корабли как по готовым чертежам, так и делиться своими чертежами с друзьями. Собственные корабли будут иметь различный функционал и визуальный вид.
Интерактивный Конструктор
Ракета из деталей
Элементы для строительства
Основные элементы для строительства, будут добавляться в игру, по мере готовности. А теперь перейдем к зданиям, у нас очередное пополнение, на этот раз:
Артиллерийская установка, модель нарисовал: Richard Hale
Хочу выразить благодарность, всем ребятам, кто пришел на обсуждение проекта 20 декабря. Хочется поблагодарить за советы полученые в ходе нашего обсуждения.
Согласно ваших пожеланий, был выбран другой дизайн сайта, на нем текст более удобочитаемый. По вашим просьбам, добавлен раздел «Проекты», где указана ссылка на актуальную версию Dreams Gate под WebGL. Ссылка в разделе «Проекты» будет обновляться при выходе новых версий. После завершения первого этапа разработки, будет осуществлен перенос данных браузерной версии Dreams Gate на сайт проекта (Dreams Gate).
После долгих обсуждений, размышлений и расстановки приоритетов:
Проект Dreams Gate, перейдет в русло браузерной игры с процедурной генерацией.
Отдельный клиент игры, будет обновляться редко. Не чаще, чем раз в 4 месяца.
Проект: «Мой Фан Клуб», будет усовершенствован, полная переработка ядра под современные версии языков (php / js / python). Поддержка новых возможностей браузеров. На базе нового ядра, будет обновлен сайт Dreams Gate.
Подведу краткие итоги уходящего года:
Этот, 2015 год, принес много нового, он открыл второе дыхание проекту Dreams Gate. Помог собраться поклонникам жанра вместе. Созданы дополнительные процедурные генераторы (помещений, структур, стадий, объектов и т.д.). Сделан шаг, в освоении современных возможностей браузеров. Удалось провести десятки экспериментов, создать язык программирования с возможностью к самообучению. Так же, этот год подарил много новых знакомств. Именно в этом, уходящем году, моя жизнь круто изменилась. Теперь, уходящий 2015 год, будет теплым, в моем календаре.