Комментарии 69
Коты хороши, в меру упитанные. Еще бы ширина мордахи менялась :)
Некоторые коты без овала морды, так задумано?
Ну если снова посетит вдохновение, обязательно сделаю :) Хотелось бы ещё выгрузку в файл сделать. Но увы, подустал от котов немного.
Сделайте-сделайте! Можно будет и историю с отменой сделать.
Только хотел предложить сделать кнопку «предыдущий кот», чтобы можно было вернуть результат предыдущей генерации. А то столько чудесных котиков пролистывается, пока жмякаешь на кнопку «Generate!»…
А ещё слайдеры для кастомной настройки кота. Ведь в коде много рандомных параметров — вот все рандомы в слайдеры переделать хорошо бы.
Только хотел предложить сделать кнопку «предыдущий кот», чтобы можно было вернуть результат предыдущей генерации. А то столько чудесных котиков пролистывается, пока жмякаешь на кнопку «Generate!»…
А ещё слайдеры для кастомной настройки кота. Ведь в коде много рандомных параметров — вот все рандомы в слайдеры переделать хорошо бы.
Лучше прикрутить генетические алгоритмы с количеством лайков от пользователей вместо фитнеса. Тогда скоро будет выведена самая няшная порода котэ.
Няшность котейки каждый определяет по-своему, и потому остановиться на какой-то одной породе вряд ли получится. Так что потребуется алгоритм с поддержкой нескольких локальных максимумов (ну или минимумов, смотря что мерять).
Производительность скрипта следует изменять в котах в секунду)
del
Никогда не понимал, почему нельзя таким же образом генерировать скины для монстров/зомби/прочих врагов в играх? Насколько интереснее был бы, например, мой любимый Day Z, если бы каждый зомби там был чуть-чуть другим, отличался от остальных одеждой, лицом, ростом и фигурой. А то сейчас там пяток стандартных скинов и всё. Эххх…
Возможно потому, что врагов по цвету/виду как раз и можно отличить? Тот же серьезный сем первый — там были противники, которые головы в руках носили. И были разных типов. Отличить можно было только по цвету. В простых играх — то же самое.
без цветовой дифференциации штанов общество лишено цели
без цветовой дифференциации штанов общество лишено цели
Зато во-первых реалистичнее (к этому же вроде стремиться большинство современный игровых движков?), во вторых представте как здорово было бы похвастаться: «Играл вчера в STALKER, такого худющего кровососа видел возле „Юпитера“ — кожа да кости, хромает, рожа облезлая… болеет он что-ли? Так чего-то жалко его стало, что даже убивать не стал. А собаки в последнее время наоборот здоровые пошли, и жирные — просто кабаны, а не собаки. Недавно за мной такая по всей локации гонялось — еле смылся. Радиация на них так действует что ли?...»
Круто ведь было бы, разве нет?
Круто ведь было бы, разве нет?
ИМХО это немного другое. Например, в GTA (по моему начиная с San Andreas) автомобили могли генерироваться с повреждениями, или тюнингованные. Да, это было круто, это было разнообразие. А теперь возьмем какую нибудь сложную миссию. Вы ее пытаетесь пройти раз 20, уже приноровились что и как делать и тут БАЦ — модель чего то в миссии другая. Подсознательно вы будете вопринимать уже эту модель как нечто другое, и опыт прошлых попыток не будет задействован мозгом полностью. Возьмем что то попроще — любой метч3. Допустим надо совмещать предметы по цветам. Когда у всех предметов одинаковая форма — все легко воспрнимается. А теперь представьте, что формы — разные. Мозг будет думать что желтый квадрат и желтый кружок — это нечто разное.
Возможно вы и правы. В single player играх, где можно сохраниться, а потом ковырять одного и того же монстра пока не пройдеш — да, наверное игроку будет удобнее когда этот монстр всегда один и тот же на вид и ведет себя одинаково.
А в ролевых open world играх в онлайне? Где нет кнопки «сохранить» и одна и та же ситуация не повторяется? Неужели кто-то откажется от фантастического мира, заполненного разными зомби, разными на вид и с разными боевыми качествами? С разным поведением? Не разделённые на пару классов как в том же HL — «обычный зомби», «быстрый зомби» и т.п. — а различными? Идеш — смотриш идет тощий чахлый зомби. Думаеш что он немощный и неопасный, а он вдруг становится на четвереньки и прыгает на тебя… Или отрывает себе руку и кидает в тебя этой рукой. Демонстрирует уникальный внешний вид и поведение (которое тем не менее вписывается в какие-то рамки под названием «вид и поведение зомби»:)). Я бы в такую игруху с удовольствием поиграл.
А в ролевых open world играх в онлайне? Где нет кнопки «сохранить» и одна и та же ситуация не повторяется? Неужели кто-то откажется от фантастического мира, заполненного разными зомби, разными на вид и с разными боевыми качествами? С разным поведением? Не разделённые на пару классов как в том же HL — «обычный зомби», «быстрый зомби» и т.п. — а различными? Идеш — смотриш идет тощий чахлый зомби. Думаеш что он немощный и неопасный, а он вдруг становится на четвереньки и прыгает на тебя… Или отрывает себе руку и кидает в тебя этой рукой. Демонстрирует уникальный внешний вид и поведение (которое тем не менее вписывается в какие-то рамки под названием «вид и поведение зомби»:)). Я бы в такую игруху с удовольствием поиграл.
Боюсь что данный спор выходит за рамки топика о котиках :-) Вкратце — боевые качества должны так или иначе визуально определяться игроком.
Когда у нас есть зомби типа 3 в левом углу комнаты (x: 132.381, y:472.785, z:23.542), то сервер передаст игроку пакет содержащий три double и один int. Теперь представим что каждый тип может наследовать множество особенностей, к примеру то-же отрывание руки, значит эту информацию нужно передать клиенту, предварительно прочитав ее из памяти сервера (в которой для каждой модели будет уже не четыре переменных, а на порядок больше, даже если модель наследует базовые свойства). Это создаст дополнительную нагрузку на сервер, на канал и на клиента, так как все это надо еще отрендерить. В ближайшем будущем (5 лет), думаю что популярностью пользоваться не будет, но вот когда в виртуальные миры можно будет полностью погрузиться (не обязательно всем сознанием), то уникальные модели будут необходимы для поддержания ощущения «реальности».
Ну и нельзя забывать, что сделать процедурную карту, генерирующую правдоподобные и одновременно с этим разнообразные рожицы, куда сложнее, чем нарисовать несколько текстурок для зомби.
Хотя с другой стороны, в таких играх, как Skyrim или Sims, скины, как я понимаю, генерируются динамически… Хм… Тогда, наверное, выше я в чём-то ошибся.
Возможно, потому, что в трехмерных играх это не просто скин (текстура). Я не спец в computer graphics, но насколько я понимаю, большинство движков используют разные ухищрения, чтобы модельки выглядели красиво и не тормозили. Всякие там карты освещения, карты нормалей. Если «переодеть» персонажа в случайную одежду, придется для него рисовать дополнительный контент, и делать это скорее всего вручную. Можно, конечно, сделать кучу вариаций и их смешивать. Так сделано в GTA, начиная с San Andreas, если не ошибаюсь.
А для изменения роста/фигуры надо писать движок соответствующий, это в игре вроде ArmA2 (и, как следствие, DayZ) вроде не сильно нужно…
А для изменения роста/фигуры надо писать движок соответствующий, это в игре вроде ArmA2 (и, как следствие, DayZ) вроде не сильно нужно…
К этой популяции надо прикрутить рейтинг как критерий выживаемости и добавить генетические алгоритмы.
Ня! ^.^
Есть еще правильные программисты! Может и правда стоит завести на Хабре хаб Коты?
Даешь котов! :)
И таким же образом еще туловище можно пририсовать, верно?)
И таким же образом еще туловище можно пририсовать, верно?)
Иногда получаются очень страшные котики. А иногда и не котики вовсе.
А иногда голова котика без обводки
А иногда голова котика без обводки
Скрытый текст

Странно, что никто не вспомнил про лица Чернова. Автор, если вы сделаете лица котов вертикально асимметричными, и замените рандомы на внешние параметры, получится отличное средство визуализации — количество степеней свободы у кошачьих лиц будет поболее, чем у человечьих :)
Вспомнили же
habrahabr.ru/post/195142/#comment_6771670
habrahabr.ru/post/195142/#comment_6771670
Сразу придумалось миллион применений, начиная от аватарки пользователя и заканчивая персонажами в 2D игре )
А чего они такие страшные? Кот хорош, когда они мимимишный. Сейчас, к сожалению, это не так)
Бывает...

habrahabr.ru/post/195142/#comment_6771436
В самом верху же написано :) Да, это так задумано.
Изначально это был баг, перешедший из категории багов в категорию фич, потому что мне этот эффект понравился.
В самом верху же написано :) Да, это так задумано.
Изначально это был баг, перешедший из категории багов в категорию фич, потому что мне этот эффект понравился.
которобот
img7.imageshack.us/img7/227/j3aa.png
Получился слишком толстый кот с маленькой моськой)
Получился слишком толстый кот с маленькой моськой)
Имхо, один глаз закрывается слишком часто. Одноглазых должно быть мало, а тут их большая часть.
А вообще, спасибо за котов!
А вообще, спасибо за котов!
а когда рандомный вид сзади сделаете?
например:

например:

Очень круто! Когда-то хотел тоже сделать генератор портретов для игры, но дальше идеи дело не пошло. А тут действительно большой объем работы сделан до конца и результат вполне прикольный!
Реквестирую Котиков Чернова!
Сколько тысяч лет мне придется жать на кнопку Generate, чтобы получить котейку без контура, с круглым носом и бантиком?
QR-кот
Генератор аватарок для анимешных ресурсов :)
Классно, но не живые. Исправил тут: Добавил анимации тут.Жать на кнопку Live.
Я когда-то на синклере подобное (мультяшное лицо) делал. Всё мечтал динамики добавить, но перфоманса не хватало.
Я когда-то на синклере подобное (мультяшное лицо) делал. Всё мечтал динамики добавить, но перфоманса не хватало.
Анимация неплохая, но… какая-то неестественная для кота. Исчезающая обводка, точки на щеках, странным образом двигающиеся усы. Как-то странно выглядит.
Ну так и кот не совсем канонический.
В коде дергается случайный параметр от минимального до максимального значения с произвольным периодом. Можно подобрать периоды для нескольких «случайных» бросков — тогда получим более естественную анимацию.
А вообще это просто прикол. Да и обожаю я генераторы псевдослучайных чисел, особенно для подобных задач.
В коде дергается случайный параметр от минимального до максимального значения с произвольным периодом. Можно подобрать периоды для нескольких «случайных» бросков — тогда получим более естественную анимацию.
А вообще это просто прикол. Да и обожаю я генераторы псевдослучайных чисел, особенно для подобных задач.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Генератор случайных котов за 8 шагов