Как пиксели превращаются в игру: Игровой
Как пиксели превращаются в игру:
Игровой алгоритм создан так, чтобы загружаемые игроком картинки преобразовывать в полноценные уровни, в которые смогут играть другие игроки. Каждый пиксель превращается в объект, а то и не один. С выходом демки весной планирую запилить здесь полноценный пост о Drillknight, где, в том числе, планирую осветить сложности преобразования простенькой картинки в многослойный уровень с процедурной генерацией и освещением.
- 25 декабря 2016, 13:06
было задумано как микропост, а улетело не пойми куда. на Гамине можно удалять свои посты или все?
В микропостах лимит на символы.
Странная идея. Дизайн уровней - это не тяп-ляп.
Пригодится в качестве шаблона для уровня. Потом, конечно, надо допиливать руками.
С первого раза крайне сложно (у меня ни разу не получалось, а ведь я разработчик) создать уровень без ляпов. Обычно приходится потом много двигать/править пиксели, чтобы получить тот уровень, который задумал. Зато подобная технология позволяет быстро рисовать большие уровни со сложной логикой и легко править их. Разумеется, в игре будет система рейтингов для созданных уровней, чтобы список уровней других пользователей не превратился в помойку, где надо искать жемчуг.
Прям как в Worms Armageddon и отчасти в Cortex Command рисовать уровни
Во первых, дизайн уровней это сектантство. - Вы хотите поговорить о Боге и Лэвэл-дизайне? - Нет, спасибо. И книжечки не возьму.
А во вторых предложенная технология как раз облегчает правку карты в графическом редакторе, тем более если карта масштабов метроида.
О майн готт. Надеюсь, ты все таки шутишь.
Никакой шутки нет. Возьми любую метроидванию, переставь комнаты в случайном порядке, и игрок не ощутит подмены. Если конечно при этом не нарушится прохождение игры.
Тогда слово "дизайн" не совсем подходит, так как оно неоднозначно - лично я сначала принял слово "дизайн" за непосредственно визуальный стиль уровней, а его еще можно понять и как внутреннее устройство одного конкретного уровня (расстановка платформ, врагов, ловушек, бонусов - уж это вот всё точно важно).
Во, видишь. Даже сами сектанты не могут точно объяснить, что они понимают под своим дизайном.
Перемешай в рандомном порядке, и игрок не ощутит изменений.
Эм, нет, заметит, еще как. Скажи еще, что в каком-то Марио не было разницы, будь пружина до большой ямы, или после нее.
Видимо СБ имеет в виду функциональные блоки комнат, а не сами по себе комнаты.
я вот совсем не понимаю что СБ имеет ввиду, потому что даже расположение и размер ракеток, комнаты, скорость мячика и яркость белого в понге это все дизайн
Прочитай коммент, на который отвечает СБ. Речь идет как раз о внутреннем устройстве уровня.
Там да. А вот у СБ не совсем понятно о чём идёт речь, я просто так трактую.
Ну так, я же четко написал, что есть разница в расположении элементов внутри уровня, и уже это СБ отрицает.
играя в тот же Unepic (практически классическая метроидвания) абсолютно по фигу где будут те или иные комнаты, т.к. проходишь в них через телепорты. это никак не влияет на дизайн.
Блин, вы вообще не читаете, что я пишу, или что? Я пишу о том, что внутри одного конкретного уровня! Если в том же Unepic в пределах одной комнаты будет очень много ловушек с шипами подряд, игрок разве не заметит этого?
И да, в Unepic есть множество комнат, которые имеют довольно разные входы с соседних комнат, и о того, с какой комнаты ты зайдешь в эту, может зависеть, как тебе нужно будет пройти эту комнату.
Это я имел в виду под функциональными блоками, да.
Я имел ввиду любые элементы, плюс цитирую "Если конечно при этом не нарушится прохождение игры.". То есть пока игра проходима, перемешивайте как угодно.
Сто шипов подряд конечно игрок заметит, но в пределах разумного пофиг.
Вот я так и понял.
Эта технология лишь избавляет от написания редактора карт, заточенного под особенности игры. И он может быть в разы удобнее редактора картинки
А этого мало? Вместо написания редактора карт человек займется созданием игры. Редактор писать не так весело, рутинная работа.
Всё зависит от проекта. Редактор имеет своей целью облегчить процесс создания уровней. Если время создания редактора > времени которое можно сэкономить, то уровни набираются в коде руками. Но автор специально не пошёл по рациональному пути, чтобы реализовать киллер фичу - какой-то интуитивный алгоритм генерации уровней по мало информативной картинке. Стоило оно того или нет, узнаем из поста. Но Я настроен скептически. Иметь редактор было-бы хорошо.
Не факт что напишешь редактор лучше гимпа.
Я вот для своего Осенней ночи 3д шутера написал редактор. И сейчас не уверен, что он лучше чем в гимпе пиксели расставлять. Вручную расставить 2к деревьев это долго, а в гимпе 2к точек натыкать было бы значительно быстрее.
А что если нужно больше одного слоя клеточек? Например: вид сверху, объект может стоять не только на свободном месте, но ещё и на клетках с разной проходимостью\ресурсами. Или имеется гексагональное поле, при вводе такого уровня придётся много раз его запускать и смотреть что получается. В общем при отступлении от частного случая, где всё очень просто, возникает потребность в своих собственных инструментах.
Такое действительно имеет место быть (например, определить тайл стены за врагом, который изображается красным пикселем), я обязательно расскажу как решил эту проблему, и, может статься, кто-то предложит более интересный вариант.
Я уже вижу, как. Один канал цвета на одно назначение, другой на другое, третий на третье, можно и побитово делить как угодно. И даже альфа-канал вмешивать в дело, дополнительные 8 бит как-никак.
Способ безусловно годный для разработчика, но, уверен, работать с альфа-каналом будет очень неудобно игрокам. А хочется максимально доступной эту механику сделать, лавры минекрафта покоя не дают - хочу своих процессоров и калькуляторов от игроков, только в 2д :)
Дело серьёзное. Я тоже хочу, но пока не до того.
Доступной... ну можно дать список цифр-кодов, соответствующих объектам для каждого канала. И тогда в настройке цвета достаточно им будет указать нужные коды. А ещё удобней было бы встроить палитру в сам рисунок - тогда можно пипеткой забирать цвет и ставить сколько нужно. Лучше всего конечно это делать с двумя кнопками под отдельные два цвета. И то может оказаться маловато.
Ну и что тут такого? Если уровень разбивается на квадраты, то кто мешает хранить информацию об этих квадратах в виде пикселей картинки? Я когда делал платформер на Love2D, хранил уровень в виде картинки.
На самом деле такое можно сделать на Game maker studio, ты случаем не им пользуешься кстати?
Если пользуешься GMS
Минус такого способа в сильных лагах (об этом в мануале написано, ну и сам проверял), но если сделать карту всего единожды, то думаю будет все ок, хотя сам не проверял, но идеи сделать генерацию по пикселям была.
Желаю удачи, и чтоб идея пошла, а может быть даже сам попробую такую генерацию сделать.
Хм, это напоминает мне использование markdown для форматирования текста.
О, это же тот самый проект, который меня тогда заинтересовал. Жги, чувак, у тебя хорошо получается!
Спасибо, будем стараться)