Комментарии 43
У меня ASCII графика всегда вызывает теплые воспоминания о Turbo Pascal 6.0 =)
+2
А саму игру можно увидеть?
0
Да, вот на Стиме:
Proto Raider
Proto Raider
0
> Существует известная палитра, в которой компоненты насыщенности и яркости вытянуты в одну линию.
А существует ли для этой палитры раскладка RGB цветов для элементов дискретного пространства? Или может быть там как-то алгебраически можно рассчитать цвет?
А существует ли для этой палитры раскладка RGB цветов для элементов дискретного пространства? Или может быть там как-то алгебраически можно рассчитать цвет?
0
Палитра устроена так:
Далее, HSB в RGB можно перевести так:
Ссылка
- Hue меняется по горизонтали от 0 до 360 градусов
- Saturation — уменьшение вверх до 0
- Brightness — уменьшение вниз до 0
Далее, HSB в RGB можно перевести так:
Ссылка
0
Расскажите, пожалуйста, как у вас устроены сами спрайты? Это именно спрайты, то есть картинки, которые вы рисовали в фотошопе, люстре или чём там и потом вставляли в движок, или используется какой-нибудь аналог curses с честным выводом текста?
+2
ASCII спрайты — это честные символы с дополнительной информацией о цвете каждого. Спрайты я делал в обычном текстовом редакторе с моноширинным шрифтом. Выводятся в игре они уже движком, посимвольно с помощью шрифта, который можно выбирать. Вот, например, как храниться спрайт:
javascript
var bossDoctor = {
frameTime: 500, // Duration of one frame in msec.
sprites: [[ // Array of frames
".--.", // Each frame is array of regular strings
"'oO'",
' "| ',
"/[]|",
" TT "
],[
".--.",
"'Oo'",
' "| ',
"/[]|",
" TT "
]],
colorsPattern: [[ // Array of colors of frames
"wwww", // Each frame is an array of regular strings
"wggw", // Characters in the strins are indexes of colors from "colorPresets"
" g. ",
" aa ",
" ss "
],[
"wwww",
"wggw",
" g. ",
" aa ",
" ss "
]],
colorPresets: { // Colors indexes
"a": "888888",
"s": "FF4400",
"g": "00CCFF",
"w": "FFFFFF",
".": "444444"},
defaultColor: "FF8800" // Default color for spaces in "colorsPattern"
}
+1
Очень приличная палитра. Жаль, что не вы создавали палитру для xterm. В то время не заморачивались и тупо порезали RGB-пространство на равномерные куски. В итоге номинально там 216 цветов, но половина из них сливается между собой и практически полностью отсутствуют темные тона. В консоле цвета — это боль…
+3
НЛО прилетело и опубликовало эту надпись здесь
Смахивает на знаменитое «озвучено лучшими программистами» ©
0
И я так же делал, когда с VGA игрался: 16 основных цветов для совместимости + куб 6х6х6. Многие простые игры такую палитру использовали. Ещё нравился вариант 8х8х4 (по 3 бита на красный и зелёный, 2 бита на синий). Очень удобно для приближённого представления произвольного цвета, например, для вывода фотографий на экран.
Понимания, что для многих задач лучше и естественнее использовать HSV в качестве универсальной палитры, а не RGB, у меня тогда ещё не было. Да и негде было посмотреть: не то, что интернета — телефона не было.
Понимания, что для многих задач лучше и естественнее использовать HSV в качестве универсальной палитры, а не RGB, у меня тогда ещё не было. Да и негде было посмотреть: не то, что интернета — телефона не было.
+1
Похожая работа для палитр в 16 и 32 цвета:
http://pixeljoint.com/forum/forum_posts.asp?TID=12795
http://pixeljoint.com/forum/forum_posts.asp?TID=16247
http://pixeljoint.com/forum/forum_posts.asp?TID=12795
http://pixeljoint.com/forum/forum_posts.asp?TID=16247
+1
Спасибо вам огромное за статью! Делаю на данный момент небольшую игру в ASCII-art и проблема с созданием палитры встала уже давно.
+1
Делал для своих задач палитру, подобрал на глаз, исходя из регулярных востребованных комбинаций.
Описание и расширенная версия.
Описание и расширенная версия.
+4
Очень красивая палитра! В своё время я пытался собрать палитру из предопределённых цветов PANTONE в фотошопе, но безуспешно, а готовые наборы были либо чересчур объёмные, либо просто (субъективно) некрасивые. Тут всё же нужен талант художника, чтобы комбинировать цвета исходя из их эмоционального восприятия, а не численного описания.
+1
Я в Winter Novel использовал только 16 цветов, т.к. изначально движок был только консольным и изображение выводилось в системный терминал. Палитра терминала Windows, кхм, не очень подходит для вывода таких картинок. Поэтому в OpenGL каждый цвет потом уже вытягивали вручную. И если зелёный/синий смотрятся ещё нормально, то красный/оранжевый так и остались излишне попугаистыми. Наверное, стоило изначально отказаться от Windows терминала и использовать большее количество цветов…
Кстати, а почему Proto Raider распространяется только под Windows? Если движок написан на JS, то вероятно его будет не сложно портировать под другие платформы.
Кстати, а почему Proto Raider распространяется только под Windows? Если движок написан на JS, то вероятно его будет не сложно портировать под другие платформы.
+1
Ох уж эта живучая легаси формула… Прочитал вашу статью и сразу о ней вспомнил :)
Там очень много толковой информации, возможно будет полезно при апгрейде вашей палитры.
Там очень много толковой информации, возможно будет полезно при апгрейде вашей палитры.
+2
Да, я привел ее с оговорками, не вдаваясь в подробности т.к. конкретные числа не принципиальны ввиду последующей ручной подборки цветов «на глаз».
+1
Да и гамма-коррекцию стоило бы упомянуть вместо магических коэффициентов 0.15 и 0.7.
+1
Тоже вспомнил про эту статью.
Действительно, старые заблуждения могут жить вечно.
Действительно, старые заблуждения могут жить вечно.
0
Как по мне Золотой цвет однообразен, предлагаю его в ручную пересмотреть, а после пускать эту палитру в массы, ибо действительно хорошо составлена.
P.S. Такие игры веют гиговской ноткой, и это хорошо. Хочется добавить, что неплохо поддержку 2К — 4К дисплеев и под них режим, где большинство уровней сразу на экране. Как на обоях, что в Facebook выложили.
P.S. Такие игры веют гиговской ноткой, и это хорошо. Хочется добавить, что неплохо поддержку 2К — 4К дисплеев и под них режим, где большинство уровней сразу на экране. Как на обоях, что в Facebook выложили.
+1
Забацал вот такой генератор:
https://htmlpreview.github.io/?https://github.com/e673/vga-palette-gen/blob/master/color.html
Видно сильную нелинейность цветового пространства LAB, особенно в синих тонах.
P.S. По рукам не бейте — я на JS вообще не умею писать.
https://htmlpreview.github.io/?https://github.com/e673/vga-palette-gen/blob/master/color.html
Видно сильную нелинейность цветового пространства LAB, особенно в синих тонах.
P.S. По рукам не бейте — я на JS вообще не умею писать.
+2
А почему не стали игру делать кроссплатформенной? Пользователи *nix обычно с удовольствием покупают такие игры, а так вы потеряли часть доходов, может и не так уж много, но все же. Или есть трудности в реализации кроссплатформенного решения которые не видно на первый взгляд?
0
Игра Proto Raider запущена на Стиме и iOS т.ч. он кросплатформенная. Другое дело, что платформ могло быть и побольше. Все дело во времени. Такие игры не приносят прибыль — это как хобби. Поэтому сложно иногда выделать время.
0
По теме статьи: мне кажется, стоит использовать разные корректировки насыщенности и яркости для левой и правой частей получившейся палитры.
Или, возможно, просто уменьшить количество оттенков зеленого, если мы его так плохо различаем.
Или, возможно, просто уменьшить количество оттенков зеленого, если мы его так плохо различаем.
+1
Да, для зеленого тона и некоторых других, плохо различается насыщенность. Как не корректируй — ничего не помогает. Действительно, единственным способом решения проблемы является уменьшение количества градаций насыщенности. Но это испортит визуальную структуру палитры — будут дырки. Вот я и на распутье. Но скорее всего я таки «продрежу» палитру.
0
Просто замечательная статья и очень крутая графика в играх (как бы парадоксально это не звучало для графонозависимых).
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
233 орешка для Золушки: отбираем цвета для «идеальной» палитры