Добавлен , опубликован

Коротко о проекте

Язык разработки: Java.
Используемый движок: JMonkeyEngine 3.
Классификация и камера: сайд-скроллер, 2д-платформер.
Жанр: РПГ с элементами сандбокса и стратегии с непрямым управлением.
Статус: проект опять заморожен.
Начало работ по этому проекту удивительным образом совпало с конкурсом Game Boom #2: Sandbox, так что сама судьба велела быть этому проекту еще и конкурсной работой, но не сложилось - завал на работе привел к тому, что заявка на участие в конкурсе была отозвана, а проект временно заморожен.

Предыстория

Была себе небольшая деревенька во главе с наследственным шаманом. Правил шаман мудро и уверенно вел деревню в светлое будущее, но слишком уж жителей баловал - то им дождь призови в засуху, то снег посреди лета, то в зверей оборачиваться научи.
И вот однажды непомерные запросы жителей дошли до того, что потребовали они жизни вечной и прямо в этом мире, без всяких там сказок о небесах и духах предков.
Бессмертие штука заманчивая и если бы шаман знал его рецепт, то давно бы сам им и воспользовался. Но отвечать на требование жителей как-то нужно, пусть даже прибегнув к хитрости.
Чтобы как-то отвлечь жителей, пришлось шаману снарядить очередного героя и зашвырнуть его в открытый портал, посоветовав напоследок не возвращаться без чего-нибудь стоящего.
Способ был проверенный - даже если герой не возвращался с тем, за чем его посылали, ажиотаж в деревне на какое-то время спадал, а там, глядишь, что-то новое захватит воображение жителей.
Правда доставшаяся от прадеда книга, позволяющая открывать порталы, не позволяет самостоятельно выбирать место назначения, если там нет чего-то, что могло бы служить в качестве маяка, но кого это волнует? В конце концов, не зря же основное развлечение деревни это прямая трансляция похождений героев с помощью магического кристалла.

Геймплей

Играть предстоит одним из упомянутых выше героев, заброшенных шаманом в другой мир.
Что касается РПГ-составляющей, то здесь все как обычно - бегаем, убиваем монстров, ищем клады, качаемся.
Возможно, будут реализованы местные поселения и возможность выполнять генерируемые на лету квесты.
До тех пор, пока не будут реализованы местные квесты, единственным источником каких-либо заданий будет оставшийся на том конце портала шаман, рассматривающий игрока в качестве ресурсодобывающей экспедиции.
Отдельного внимания заслуживает полностью разрушаемый мир и, соответственно, возможность строительства с точностью до отдельного пикселя. Это и есть те самые пресловутые элементы сандбокса - возможность полностью преобразить игровую карту под свой вкус, будь то бездонная яма на пол мира или архитектурный шедевр, проработанный до мельчайших деталей.
Когда надоедает убийство монстров ради убийства и строительство ради строительства, можно отдохнуть и поиграть в самодержца - достаточно найти местных жителей, естественно, если они еще остались в живых, после чего убедить их переселиться на базу к игроку чтобы основать свое собственное небольшое поселение. И пусть все наблюдающие с той стороны удавятся от зависти.
Жителей, естественно, предстоит всячески обхаживать чтобы они не разбежались, размечая им места под строительство и предоставляя материалы, да и обеспечение безопасности поселения на ранних этапах дорогого стоит, не говоря уже о поставках провианта и удовлетворении эстетических потребностей.

Статус разработки

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

Скриншоты

Ранние этапы

Первые эффекты постобработки

Полезные ссылки

`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
24
10 лет назад
0
ZLOI_DED, ты наверно удивишься, но я уже прошел через предложенный тобой велосипед и отбросил его как слишком ресурсоемкий.
Более того, есть более эффективная реализация этого метода, которую я упоминал - процедурно генерируется модель из N*N вершин, где каждая вершина соответствует желаемому пикселю, затем с этой моделью можно работать напрямую через вершинный буфер. Настройки рендеринга для этой геометрии выставляются так, чтобы каждая вершина отрисовывалась как точка. И последний штрих - применяется 2д-проекция, которая в обычных условиях используется для GUI, превращающая 1 единицу расстояния на сцене в 1 пиксель.
Получаем поверхность, цвет которой мы можем редактировать напрямую. Получается довольно неплохо, если не считать того, что перекраска каждой вершины ложится полностью на CPU. Хуже всего, что при желании покрасить такую поверхность текстурой, текстуру придется парсить на CPU попиксельно, после чего повершинно применять цвет к вершине. Такие затраты CPU позволительны когда вся поверхность может быть загружена в память, а изменения поверхности происходят довольно редко, но когда речь идет о бесконечной карте, которая загружается и выгружается по мере необходимости, начинается настоящий ад.
0
37
10 лет назад
0
prog, порадуй нас новыми ресурсами - только со скринами. Если будет норм выглядеть - добавим на главную.
0
24
10 лет назад
0
Эльрат, завал на работе он такой - вечно возникает в самый неподходящий момент. По плану у меня уже должна была быть готова базовая генерация мира, нормальный чанк-менеджмент, выгрузка карты на диск, кисти для редактирования мира, один игровой персонаж и физика столкновений. Вот когда будет работать хотя бы это - будут и скриншоты.
0
29
10 лет назад
0
как проект? Развивается?
0
24
10 лет назад
0
alexprey, к сожалению, подумываю о снятии с конкурса - очень тяжелый месяц на работе выпал. Продолжать разработку буду, но сперва нужно на работе разгрести завал - спать то тоже когда-то надо.
0
29
10 лет назад
0
prog, пичально(
0
24
8 лет назад
0
Проект можно официально считать замороженным. Причин две:
  1. наличие более перспективного проекта в разработке
  2. наличие нескольких технических заморочек, которые мне так и не удалось решить - вернусь к ним позже, на свежую голову
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.