Совсем недавно я писал свой второй пост о том, как я начал свой путь программирования, и как начал делать свою игру.
И, по итогу опроса в том посте, я всё же делаю вам "уроки" программирования в Godot.
Не будем долго ждать, приступим!
* * *
Итак. Начнём.
С чего начинается путь разработчика? Конечно, для начала нужно морально подготовиться. Но для реального начала нужно скачать игровой движок.
Первым делом ищем в интернете "Godot движок скачать" или что-то похожее.

Вот, мы вбили в поиск запрос. что дальше?
Всё легко и просто! Просто нажимаем на первую ссылку и нас перенесёт на нужный нам сайт!

Мы перешли на сайт, и нам выдало вот это поле. Всё предельно просто: нажимаем на кнопку и скачиваем Godot engine.
Поздравляю! Движок скачивается! Во время этого вам выдаст поле, где можно пожертвовать деньги Годоту. Если вам некуда тратить свои сбережения или же вы реально хотите заняться благотворительностью, то можете нажать.
Но у меня нет деняк, и я просто жду скачивания. Теперь жмём "сохранить как" и сохраняем движок в какой-нибудь папке или на рабочем столе.

Теперь заходим в сохранённую нами папку, и щёлкаем на годот!

И вот, наконец, мы дошли до движка! Мы зашли в Godot! На картинке ниже вы можете увидеть "главное меню": тут у нас список проектов, и настройки. У меня уже есть несколько проектов, у вас же их не будет. Но не волнуйтесь, сейчас и вы создадите свой первый проект! Для этого нажмите на кнопку "+Создать" в левом верхнем углу.

Теперь нужно как-нибудь назвать проект. Я назвал его "Тест". Вы же можете назвать его как угодно. Ниже есть настройки проекта, но пока они нам не нужны. Остаётся лишь нажать на кнопку "Создать" внизу, и...

Ура! Ваш проект создан! Открылась 3д сцена игры! Трёхмерная графика для игр не такая уж простая, двухмерная намного проще (хотя кому как).
В любом случае, для начала в левой части экрана надмём на кнопку "2D-сцена" с синим кружком. Таким образом мы создадим двухмерное пространство для творчества!

Теперь познакомлю вас с интерфейсом.
В левой части экрана показаны:

В правой части экрана у нас будут отображаться данные и настройки объекта, который вы выберете.
В верхней части находятся список сцен и остальные настройки.
Ну а в центре находится наша сцена, где будут находиться объекты игры.
Чтож, теперь пора добавить первый узел (т.е. объект). Для этого вверху левой части экрана найдите и нажмите кнопку "+".

Открылось окно со списком узлов. Из тут очень много, но нам нужен лишь один. Для примера добавим кнопку. Напишите в графе "Поиск" слово Button (с англ. - кнопка)

Должна высветиться нужная строка. Теперь осталось лишь нажать "Создать".

Теперь в нашей сцене появилась маленькая кнопка! Она высветилась слева, в узлах сцены.
Потяните за её угол, чтобы увеличить её. Зажмите её и перетащите к центру. Теперь в центре экрана висит большая кнопка!

Нажав на кнопку, справа высветятся настройки кнопки. Тут есть поле, где мы можем написать любой текст. Напишите туда что угодно!

Ого! Бесплатно! Нажать...
Итак, пора запустить нашу игру! Нажмём кнопочку с треугольником в правом верхнем углу.

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



Функционал конечно... Мал. Можно лишь нажимать на кнопку. Но для начала неплохо!
Сегодня я познакомил вас с таким движком, как Godot! Надеюсь, мой пост был вам полезен, и кто-то из вас начнёт свой путь в программировании!
Как вам такие уроки программирования?6

МАХ признали шпионским ПО — Cloudflare выдали домену мессенджера чёрную метку.
Ранее, по слухам, из-за подобной черной метки из App Store удалили альтернативный клиент Telega.
UPD: пресс-служма «Макс» заявляет, что «шпионская» отметка на доменах «Макс» не основана на фактическом анализе кода — классификация Cloudflare была вызвана неверной интерпретацией заголовков запросов к сервисам обыкновенной веб-аналитики сайта «Макс».
Всем привет, всем здоровейте! Я тот самый автор первого интерактивного челленджа на Пикуко challenge?. Многих стал интересовать вопрос, как создаются такие челленджи. Пишу этот пост специально для этого. Попытаюсь объяснить максимально просто и доступно, чтобы каждый при желании смог сделать что-то подобное.
* * *
Для начала, я так понимаю, что многие думают, что SVG файл который надо загружать при создании теста - это что-то сложное, какой-то засекреченный формат, который надо находить в интернете готовым или еще что-то подобное.

Но это не так. SVG - это буквально язык кружочков и квадратиков. Можете воспринимать его именно так, это значительно упростит вам жизнь. Давайте разберем простой пример.
* * *

Слева - код, справа - то как он выглядит.
Вот, например, как можно сделать простенького призрака. Первая строчка - черный квадрат занимающий всё доступное пространство. Иначе говоря фон.
<rect x="0" y="0" width="100%" height="100%" fill="black"/>
где x и y - координаты начала, т.е. верхнего левого угла; width и height - длинна и ширина квадрата. Здесь можно указать во многих величинах, но вам понадобится только px - пиксели и % - проценты от размера полотна. Можно в прицепе обойтись только пикселями. fill - цвет заливки. Можно указать как и стандартные black, red, green и тд. Так и HEX-коды #000000, #ff0000, #00ff00 и тд. Кто не знает что это такое, просто знайте что, в любой онлайн палитре можно скопировать код цвета и прописать его фигуре. Также есть circle(круг), но там вместо x и y используются cx и cy. То есть центы окружности. r - радиус. И самое главное - ellipse. Это тот же самый круг, но вместо одного радиуса r есть rx и ry, то есть грубо говоря кривой круг, овал. Посмотрите на рот призрака. Вот это ellipse rx="10" ry="6".
Помимо этих основных фигур также есть и другие, например, line(линии), polygon(многоугольники) и path(кривые). Но их можете освоить самостоятельно при желании. Вы вполне можете обойтись и без них.
И вот вы, весь такой веселый, нарисовали какого-нибудь призрака и бежите вставлять его на Pikuco, но вдруг видите вот это:

Вышеупомянутый призрак после загрузки на Pikuco
Вы ещё даже не успели начать, а злой admin уже засунул палки во все колеса, кроме одного. Для стандартного режима челлендж, к которому мы все так привыкли есть одно простое правило, которое вы все знаете: что не отгадано то серое. Но что тогда это за овалы и почему они не серые? Это ellipse. Так уж вышло, что admin запретил окрашивать абсолютно всё, кроме ellipse и обводки(stroke но ооб этом позже). За что я ему чрезмерно благодарен, ведь без этой маленькой лазейки ничего бы не вышло. И что тогда делать вы спросите, а я отвечу - элипсы, элипсы и еще раз элипсы. Да. Вы всё правильно поняли. 90% всего того что вы видели в моем тесте это элипсы. Фон - это огромный элипс в центре. Лучи солнца это элипс, у которого с cx=5 и cy=50, т.е очень вытянутый. Безумие? Возможно, но а как иначе.
Вы еще даже не успели начать, а злой admin уже засунул палки во все колеса, кроме одного. Для стандартного режима челленджа, к которому мы все так привыкли, есть одно простое правило, которое вы все знаете: что не отгадано, то серое. Но что тогда это за овалы и почему они не серые? Это ellipse. Так уж вышло, что admin запретил окрашивать абсолютно всё, кроме ellipse и обводки (stroke, но об этом позже). За что я ему чрезмерно благодарен, ведь без этой маленькой лазейки ничего бы не вышло. И что тогда делать, вы спросите, а я отвечу: элипсы, элипсы и еще раз элипсы. Да. Вы всё правильно поняли. 90% всего того, что вы видели в моем тесте, это элипсы. Фон - это огромный элипс в центре. Лучи солнца - это элипс, у которого cx=5 и cy=50, то есть очень вытянутый. Безумие? Возможно, но а как иначе?
Не буду томить. Помимо цветов на основные фигуры, admin вырезал еще 70% всего SVG. Грустно? Да. Но многие из них можно восстановить костылями. Например, квадрат. Помните, я сказал, что цвет работает помимо круга еще и на обводку - stroke. Если говорить на простом языке, то обводка это буквально обводка. У каждой фигуры можно прописать помимо цвета, координат и размера еще кучу параметров, и один из них stroke.

Вот кому надо код этого SVG:
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="450" viewBox="0 0 300 150">
<!-- С обводкой: --><rect x="20" y="20" width="100" height="100" fill="#ff6666" />
<circle cx="70" cy="170" r="50" fill="#6666ff" />
<!-- С обводкой: -->
<rect x="180" y="20" width="100" height="100" fill="#ff6666" stroke="#000000" stroke-width="10" />
<circle cx="230" cy="170" r="50" fill="#6666ff" stroke="#000000" stroke-width="10" />
</svg>
И вот что делать, если вам прям очень нужен прямоугольник? Да всё просто. Сделайте тонкую линию с огромной обводкой.

* * *
Поздравляю, сейчас вы за 10 минут узнали то, что я методом проб и ошибок узнавал не один час. Теперь вы можете создавать всё те же обычные челленджи, но, например, сделать цвет океана на карте мира синим. Но полагаю, вы сюда не за этим пришли. Как же взаимодействовать с курсором? Здесь надо освоить еще одну небольшую лазейку, которую забыл удалить админ. Это стили, или как их называет компьютер <style>. Они нужны для создания движения, анимации, а также некоторых других функций, но для простой игры они вам не понадобятся.
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 300 150">
<style>
@keyframes pulse {
0% { transform: scale(1); }
100% { transform: scale(1.2); }
}
.animated {
animation: pulse 1s infinite alternate;
transform-origin: 100px 100px;
}
</style>
<rect x="50" y="50" width="100" height="100" fill="#6666ff" class="animated" />
</svg>

Поверьте, он движется, честно
К сожалению, я не могу на одном скриншоте показать работоспособность этого SVG. Кто хочет, вставьте этот код в любой онлайн SVG reader. Всё кажется громоздким и сложным, но на самом деле всё очень просто. После того как вы сделали какую-либо фигуру, допишите в конце class="название класса". В моем случае это animated, но вы можете написать что угодно. Затем сверху между <style> и </style> вы должны прописать свойства этого самого class. На самом деле в нем может быть любые свойства объекта: цвет, обводка, анимация, прозрачность и тд. Но так как всё это мы можем прописать и в самом объекте, для простоты не будем этого делать. Оставим только анимацию. Так ладно, давайте разбираться, как это делать:
1. Вы пишите название класса с точкой в начале и фигурными скобками в конце, например, .animated {}
2. Между фигурными скобками для удобства нажимаем enter и с новой строки (находясь внутри скобок) присваиваем анимацию. Для этого вы пишите animation: *название анимации* *сколько секунд она длится*s infinite alternate; Прошу заметить точку с запятой в конце, ни в коем случае не забывайте ее ставить. Название может быть любое. infinite - это сколько повторять анимацию. alternate - делает так, чтобы после конца анимации она повторяла всё то же самое в обратном порядке, чтобы вернуться в начальное положение. На простом языке анимация смещения на 100px без alternate сдвинет его вправо, а затем моментально вернет в изначальное положение. Здесь есть миллион разных свойств по типу задержки, сглаживания и тому подобного, но если я буду их все описывать, то вы будете читать этот пост до завтра.
3. transform-origin: 100px 100px; - это центр, откуда играть анимацию. Легко понять, например, на вращении. Если укажете координаты центра самого объекта, он будет крутиться на месте. Если укажете любые другие координаты, он будет вращаться вокруг них как бы по орбите.
4. Мы подошли к самому главному - сама анимация. Вы также как и в случае с class должны прописать ей свойства. Но немного другой синтаксис. Вы пишите @keyframes *название анимации* {}. Важно: название анимации должно совпадать с тем, что вы прописали в классе.
5. Прописывайте саму анимацию. Ставьте просто, в какой момент и что должно стать с объектом. Например:
0% { transform: scale(1); }
100% { transform: scale(1.2); }
Значит, что в самом начале на 0% объект будет изменен до своего стандартного размера. То есть не изменится. А вот в самом конце на 100% увеличится в 1.2 раза. Учитывая infinite и alternate, он будет бесконечно увеличиваться и уменьшаться.
Помимо scale() есть еще rotate(_deg), где вместо подчеркивания вы пишите градус. translateX(_px) для смещения по X и translateY(_px) для смещения по Y. Этого вам хватит на большинство идей. Также есть и другие анимации по типу прозрачности и смены цвета, но опять же в другой раз об этом.

Вот вам картинка, чтобы не было "стен текста". Хотя как тут без них
* * *
Если вы дочитали до этого момента, то вы освоили 80% всего, что необходимо. Остается последнее, самое простое, но не менее важное - якорь. Многие, возможно, заметили, что при нажатии ЛКМ в моем челлендже в конце ссылки меняется значение. Это и есть якорь. Грубо говоря, мы просто добавляем в конец ссылки что-то, а потом смотрим: если в конце ссылки есть это "что-то", то, например, вывести какую-нибудь менюшку. Всё очень просто, но вот для реализации придется освоить несколько нововведений.

Cамая простая реализация якоря
Что здесь происходит? Изначально на экране 2 кнопки. Если нажимаете первую, выводится ЭКРАН 1. Если нажимаете на вторую, ЭКРАН 2. Вы уже должны понять большую часть кода за исключением этих строк:
* * *
Вот мы подошли к самому концу. Самые последние завершающие функции, которые расширят ваш инструментарий. И первое, о чем хочется сказать, это :hover. Используется в стилях также, как :target, но срабатывает при наведении курсора на объект. Например, в моем тесте на третьем уровне курсор надо было держать в белом круге. Я просто проигрываю анимацию только тогда, когда курсор на круге. Если он выходит, то анимация сбросится в нулевой кадр.

Если курсор на зеленом круге, то синий круг увеличивается и краснеет
Забыл то, без чего вы даже круг не сделаете. Весь код должен находиться между <svg xmlns="http://www.w3.org/2000/svg" width="ширина" height="высота"> и </svg>. Скажу так, полотна 1000х1000px хватит с головой, так как это размер видимой области. Но вы также можете работать и за её пределами.
Также прошу перед началом создания теста взять во внимание пару советов:
Очень жду похожих работ от вас! Креативных людей на Пикуко хватает. Если есть желание, а теперь и возможность - творите. Надеюсь, в скором времени увидеть эту самую "новую эру челленджей". Также обращение к дорогому и неповторимому admin: не надо, пожалуйста, запрещать эти лазейки. Они прекрасны. Всем флаг в руки, если через месяц никто ничего не сделает, я обижусь.
Камета?28
#МАКСДНО #ТЕЛЕГАЛУЧШЕ #ВАТСАПЛУЧШЕ и-так, недавно появился мессенджер MAX, который следит за вами и имеет разрешения на геопозицию, микрофон, динамик и даже камера... Конечно, он не безопасный, и сегодня я расскажу как сделать его нерабочим.

Превью
Перейди по ссылке https://github.com/scaik/scam-max-disabler, и скачай "скаМ". Не волнуйся, это не MAX, и следить он не будет. Затем настрой его по фото:

Обучение к первому шагу
Дальше скачай настоящий "MAX", и включи "скаМ", чтобы протестировать. Если у тебя вылезает ошибка как на фото, то поздравляю! Всё необходимое ты сделал правильно!

Ошибка, которая должна вылезти
Отряд ОМОН отправился к вашей геопозиции. Не покидайте свой дом.
И да, для тех кто не понял прошлый текст про отряд ОМОН был шуткой. Извините если я кого то оскорбил или унизил. Я не хотел.
полезно?7
Краткая предыстория
Совсем скоро я буду защищать свой проект для кое какого уч. заведения, чтобы получить долгожданный сертификат, что не просто букашка, а бушашка с бумажкой (спустя 9 месяцев, ураа...). И в честь этого я решил рассказать о своем проекте.
На данный момент он полностью функционирует (и практически готовый). Но вы уже сможете его оценить и даже предложить свои нововведение в моем проекте (буду только рад).
Представлюсь для новеньких: меня зовут Даниил, мне 18 лет, и я программист.
А теперь приступим к проекту.
* * *
Данный проект представляет собой телеграмм бот, в котором вы можете писать абсолютно любые посты (в рамках разумного), читать, ставить лайки, писать комментарии и многое другое.
Прозвал я его Пончиком (Pon4ik). Не спрашивайте почему, так нужно
Большая часть функции вложено в телеграм боте, а отображение и создание постов - в на сайте.
И да, данный проект использует технологию телеграмма под названием Web App
Писал я его не один, а со своим сокомандником. Я отвечал за сайт и за начальную оболочку, а сокомандник отвечал за продвинутый функционал бота (комментарии, лайки, кнопки со списком постов и т.д.)
А также у бота есть своя классная аватарка

Вот такая прекрасная аватарка, сгенеренная нейронкой (под стать ему имени)
Идея об этом проекте у меня пришла не сразу.
Сначала я хотел схитрить и представить на защиту один из своих старых проектов (на тот момент, выбор пал на дискорд бота), но затем снова посидел, подумал и решил все-таки начать с нуля.
Идей было много. Точнее, масса идей
Сначала хотел сделать РПГ-бота, потом многофункционального, а дальше поток мыслей. Выбирал между ботом с постами и ботом с элементом симулятора рыбалки.
Понял, что симулятор не примут, и решил начать делать бота с постами.
Начал с малого: создал самого бота через Bot Father, затем написал простенький код...
А дальше мне объявили, что проект только комадный. И поэтому я подключил к нему того самого сокомандника, который сделал большую часть для бота, настроил его на высшем уровне, и благодаря ему я не впал в творческую депрессию и я смог выложить бота в сеть. Большое тебе спасибо!
* * *
Когда вы заходите в телеграм бота Pon4ik, для начала работы нужно нажать кнопку старт, которая при первом заходе в чат бота появляется в самом внизу. Нажав на ее, вы увидите красивое сообщение, а под ним ряд кнопок.

Вот такое старотовое сообщение. Оно у вас будет часто встречаться при взаимодействии с ботом
Расскажу кратко о кнопках:

Вот как выглядит сообщение для кнопки открытия поста
* * *
Также немного поведаю про сайт (Web App)
Т.к я искал бесплатные аналоги как сделать мой сайт защищенным (то есть получить ссылку типа https, это нужно для работы Web App) и понял, что для того придется вбухать денег свыше 1000 руб, я совершенно случайно наткунлся на такую вещь, как telebit. С него помощью, я могу "замаскировать" свою ссылку под https, и это будет стоить 0 руб, но есть один нюанс: возможна медленная загрузка сайта и она может немного "глючить".
Так что если вы столкнетесь с таким конфузом, просто перезагрузите сайт. Пока что только так, но может скоро я заменю на нормальный домен с сертификатом, и уберу этот костыль. А пока имеем что имеем.
* * *
Возможно, я мог что то не рассказать, но я создавал этот пост с целью вас немного познакомить о проекте. Если хотите посмотреть и поиграть с ботом, то вот прилагаю к нему ссылку
КЛИК -> https://t.me/pon4ik_posts_bot
Если бот будет достаточно популярным, и под ним наберется 30 постов от разных пользователей, я возможно сделаю мини конкурс с денежным призом (но это я уже смотрю в будущее...).
Бот будет всячески обновляться, и в нем будут добавляться новые функции, чтобы сделать бота красивым, работоспособным и многофункциональным.
Мне высокий балл за проект обеспечен?7

"Не забудь вставить текст, Синдзи" 👏🗿👏🗿👏🗿
* * *
Оглавление:
К делу.
* * *
"Чем больше и чаще сменяются пиксели, тем больше необходимо сократить их сменяемость" - помним такую фразу из предыдущего видео-гайда, что содержит небольшую визуальную демонстрацию к этим словам? Эта фраза отсылает нас к первому посту, к месту, где показаны "огромные", "большие", "средние" и "маленькие" по изменениям файлы. Если ничего не меняется - то сколько бы не прошло времени – вес сохранится тот же.
Возможно, сейчас вы поймете о чем я. Пронаблюдайте за изменениями от мертвого файла к состоянию живого. В некоторых случаях я пропущу примеры мертвости и сразу покажу живые варианты. Все варианты без альтернативы являются живыми.
* * *
Здесь вы можете взглянуть на сам процесс создания анимаций для недавнего теста (мечтают ли роботы о смерти).
Возможно, материал по ссылке вам также немного поможет. (Я обещал 10 часов видео, но на самом деле там 7. Также, ошибок было достаточно, потому я ускорил весь процесс в 3, а местами и вовсе в 4 раза... Итог: полтора часа интенсивного визуала. Будет звучать как оправдание, но в авторе закончилось топливо. Чтобы сгладить ошибки – я посчитал решение об ускорении правильным и интересным).
* * *
* * *
Если вы это читаете, то вы большой молодец и я возьму вам кофе при встрече. Это было интересное приключение, было классно пройти этот путь вместе. Одна серия материалов закончена, следующая обучающая тетралогия: фишки и костыльная автоматизация.
^ Благодаря некоторым хитростям был создан скелет данного теста:
Планируемая дата публикации подробностей по автоматизации и другим фишам: через пол года. Вероятно, к тому моменту и не придется ничего выпускать, так как похожей темой сейчас занимается пользователь Svetoi_Den. Пользователь надежный! Вот кстати, рекомендую ознакомиться с его начинаниями в этой стезе! Если вам его материал покажется интересным, то не поскупитесь на сабку. Информация достаточно легко теряется или в нужное время не попадается на глаза 😉
* * *
* * *
1. Обыгрывание механики задержки времени || этот тест дает понять то, что размер файла не меняется, если все детали будут стоять на месте
2. Обыгрывание механики этих таймингов в виде более активной реакции для действия || в середине этого теста вы можете побыть игроком guitar hero. Я правда подумывал после этого теста сделать какую-нибудь битву с Гастером или симулятор печатной машинки, но пока не обнаружил какого-либо большого отклика, потребности в этом. Был бы я чуточку сильнее, то непременно сделал бы и это, не дожидаясь реакции
3. Также, пока никто не видел – я переработал свой старый неудачный конкурсный тест (тяночек из того теста я планировал анимировать костной анимацией для пары проектов, но руки так и не дошли... ну и ну...). Ранее в тесте приводились "пары изображений" и обыгрывалась функция "шаг назад". Функция "шаг назад" была по тем временам нова и уникальна. Чтобы юзеры быстрее к ней привыкли – я и создал тот тест. Как показала практика, активное использование шага назад может быть не очень приятным занятием. || Ремастер содержит удобные сравнительные анимации. Изображения сменяют друг-друга автоматически с определенным интервалом. Тест по-прежнему странный, но эстетичный 😉
4. Вот несколько тестов, что обыгрывают эстетику гиф. Не каждый день увидишь гифки, что не принадлежат своему типу тестов.
5. Финалочка на любителя кожевенного ремесла || Тест обыгрывал перевод видосов в гифки и испытывал влияние дизеринга на получение доп. кол-ва кадров. Итог: чем больше дизеринга - тем больше можно отодвинуть допустимую границу по кадрам. Эффект усиливается, если вы приближаете стороны изображения к максимальному квадратному значению 600х600. (Небольшое напоминание: не забывайте, что одна из сторон обязательно должна быть равна 600 пикселям)
* * *
• Вы встретили Мэйва. Выберите действие •12
Привет!
Давненько я тут не появлялся... Везде пыль... Ужас.
Ладно, сейчас...

Тадаа!
Что, не ожидали? … Что-ж, если да - Вам стоило читать название.
В общем, уже 2 полных дня я изучаю Python, для незнающих - Это язык программирования, на котором можно писать:
1. Вебсайты
2. Нейронки
3. Игры
И больше всего из них меня привлекают последние 2, т.к. меня интересует тема нейросетей и я был бы не прочь создать свою( Только чтобы не character.ai💀 ) и так-как я достаточно заядлый геймер, что прошел большое количество игр ( Правда, многие из них не сюжетные и 2д, т.к. мне вообще не нравятся игры такого типа. Хотя даже так не мог не затестить киберпанк )
Но больше всего мотивации в меня внес... ChatGPT. Однажды я у него спросил что-то вроде
"Представим что есть пошаговая игра где у двух игроков 100 здоровья и каждый ход каждый из них кидает 3 кубика урона и по итогу сумма 3х кубиков отнимается от здоровья противника, но при этом один из игроков вампир( Перед броском кубиков урона кидает один кубик вампиризма(от 0 до 7) и после броска кубика урона восстанавливает столько хп сколько выпало на нем если сумма кубика урона больше или равна ему, в ином случае кубик вампиризма равняется кубику урона ) А другой циклоп, что имеет 150 хп но всего 2 броска кубика урона. Кто бы выиграл?"
(Почти всё из этого простой промпт для ChatGPT что необязательно читать, так-что не волнуйтесь, все окей) И он ответил большим рассуждением с использованием СИМУЛЯЦИИ в Python. Т.е. он симулировал 1000 таких битв, и с шансом 99.9% побеждал вампир. По итогу меня очень сильно это удивило, что симуляции на игры вроде этой можно создавать на Python и пошло поехало.
Тогда я даже не знал что я так-же смогу использовать её для нейронок и создания игр (А вернее знал, но об этом я даже и не думал.) и замотивировавшись нашел идеальный курс(Учитывая его цену в 0 рублей) для изучения Python -
Целый плейлист из 22 ЭПИЗОДОВ НА ХАЛЯВУ.
Подача идеальная, все быстро влетало в голову. Так-же параллельно с этим я установил PyCharm и сам Python.
? - PyCharm это компилятор кода на Python, на данный момент он считается одним из самых лучших для консольной работы с Python. Что такое компилятор? Место, где твой код будет работать. Ты не можешь написать код на Python в текстовом документе и надеяться что откроется какая-то консоль и напишет результат, т.к. текстовый документ не имеет консоли сам по себе.
Так-же они полезны тем, что они часто имеют подсказки. Они укажут тебе где ты сделал грамматическую ошибку из за чего код перестал работать и даже предложат решение, или заранее тебе покажут команду которую ты хотел ввести.
Просмотрев 9 эпизодов за 2 дня я уже понял азы. Так-же т.к. досматривать все до конца за один день было непрактично и лень - Я начал спрашивать ChatGPT если мне что-то нужно было.
Так делает достаточно большое количество новичков, только не у ChatGPT а у интернета. Например, мне хотелось сделать чтобы Python выводил мне рандомное число. Оказалось что это очень просто, нужно лишь импортировать библиотеку(Список команд который не работает если не импортировать библиотеку связанную с ними). Так-бы выглядел код для этого:
import random # Импортируем саму библиотеку
randomnumber = random.randint(1, 9) # Устанавливаем случайное значение переменной(Переменная - Коробка, а её значение то, что внутри лежит.) от 1 до 9.
print(randomnumber) # Выводим то число что случайно установилось для переменной названной randomnumber(Переменная может иметь любое имя если это имя не забрано другой командой / переменной) в консоль.

(Символ # означает что все дальше написанное - не читается компилятором, а значит это простой комментарий к коду.)
В общем совет всем новичкам во ВСЁМ программировании : Если хотите проверить себя и написать какой-то код, но что-то не получается - Отправьте свой код и спросите у ChatGPT что в нем не так. Он вам покажет как ошибки в коде (Например забыл добавить " "" " после " ( " в команде print ) , отправит исправленную версию кода и объяснит что он поменял ИЛИ подскажет что нужно использовать в данной ситуации. Только не просите его писать за вас весь код, так-же не интересно!
И сейчас, когда я уже изучил все что мне для этого понадобиться я решил переписать один из своих тестов. А вернее этот:
Это достаточно легкая задача, но занимает много времени, т.к. текстовый вопрос с текстовыми ответами в Python выглядит так:
answer1 = input("(Вопрос)")if answer1 == Да:
answer2 = input("(Второй вопрос и т.д.)")
else:
answer2 = input("(Второй вопрос, но при условии что вы выбрали нет)")
И так целую кучу раз. Просто представьте код древа Darudor-а в Python. Представили? А теперь умножьте весь этот код на 3, а может и на 4, т.к. Python достаточно короткий язык, пока HTML и JavaScript на которых в основном пишутся сайты - Гораздо больше. Я думаю теперь вам понятно, почему он крашнул редактор несколько раз.
В общем, перейдем к делу. Итоговый код выглядит так :


Он огромнейший, а это - Простейшее древо на 11 вопросов. Так-же в коде я указал что делают те или иные команды, кому интересно - Почитайте.
А сам по себе он работает так, что в консоли вам задают вопрос из теста(например первый), и если ответ равен да - Ты переходишь на вопрос 2.0, а если нет - на 2.1 и так далее.
И не судите меня за мой код, я работаю с Python лишь 2 дня, и лишь с консолью т.к. для визуальной части мне нужно больше знаний и движок.
Что-же, на этом все. Я старался сделать огромный текст как можно читабельнее, и я надеюсь что у меня получилось. Увидимся!

Пытались учить Python? Что вышло?10

Конвертируйте выживших.
Приветствую всех восставших и случайно пришедших. Сегодняшняя тема урока – «Метаморфоза»!
* * *
Оглавление:
* * *
Что такое «конвертер» – это инструмент, позволяющий переделывать один формат (вид) файла в другой. Мы не можем просто взять «хлеб_падает.gif», стереть ему "gif" и написать "webp". Это так не работает, файл сломается. Для подобных операций и существуют конвертеры.
Напомню, что все файлы на сайте хранятся в формате webp. Сайт конвертирует все pngшки, jpgшки и прочие форматы в единый вид, затем немного уменьшает им размер и совсем незаметно притрагивается к качеству. Качество файла получается такое же, как если бы мы сохраняли файлос в фотошопе при 100% качестве и «с потерями» (ФШ «сохранить как –> webp», «условие –> лучшее качество, 100%», «с потерями»).
✅ Для тех, кто делает анимации – всё немного сложнее. Напомню, что гифки нельзя подгрузить без их предварительной подготовки и перегонки в webp.
❌ Отступление по GIPHY (напоминание о написанном и база для создателей-новичков):
Если вы не хотите заморачиваться с изложенным по ссылке выше и вам хватает функционала «гиф-турниров» (без возможности подгрузить гифки в другие типы тестов), то существует сервис GIPHY. Он тоже в своем роде конвертер, так как перегоняет видео в гифки или гиф в гиф более плохого качества. После обработки сервисом – в редакторе сайт потребует от вас только ссылку. Кратко по качеству сервиса GIPHY: многие датели могут замыливаться, рябить, уменьшаться в разрешении, и отображаться на некоторых мобильных устройствах многократно меньше ожидаемого вида... в посте по этой ссылке было описано решение, но оно нуждается в дополнениях.
🤓 ... Также недавно для меня стало открытием: GIPHY может сохранять файлы 600х600 (ранее я считал максимумом 480х480). Как это происходит – не ясно... Если у вас будет информация по теме загрузки с максимальным разрешением, то я с радостью залью карточку вашего поста под этот текст.
На момент 21.07.24 гифки от GIPHY нельзя использовать вне типа теста «гиф-турнир». Такого функционала пока нет. (Схожая ситуация с видео: вы можете подгрузить видео только в «видео-турнир» и пост... о типе видео-викторин «угадай мелодию/звук» пока просто приятно мечтать 😏)
Перейдем к теме загрузки webp(гиф) куда угодно...
Для аниматоров (на данном сайте) конвертировать файлы в webp – умение такое же важное, как и постобрабатывать [1, 2], если вы хотите использовать анимации вне основного типа тестов.
Ниже предоставляю список конвертеров с их главными плюсами и минусами:
Чтобы избежать перегруза поста - я разберу только сверхбазу, т.е. самое сложное, полезное и незаменимое.
* * *
* * *
⭐ Консоль открывается клавишами WIN + R и введением cmd (равнозначно пути: пуск -> выполнить -> cmd).
Если это кажется вам слишком пафосным, то можете прописать в пуске «Командная строка»;
Немного о навигации и редактировании, на всякий ( ⓛ ω ⓛ *):

⭐ Команда для конвертации gif в webp:
ffmpeg -i название_входящего_файла.gif -vcodec webp название_выходящего_файла.webp
Более короткий вид, чтобы было удобнее копировать и стирать лишнее:
ffmpeg -i вход1.gif -vcodec webp выход2.webp
> Ниже поясняю за каждое слово и букву в команде. Профессионально эти штуки называются "параметры" и "ключи параметров".

⭐ Команда для смены диска в командной строке:
«Буква диска» и «:»
> Примеры:

⭐ Команда для смены директории в командной строке (другими словами – указание пути):
«cd» «путь»
> Примеры:

⭐ Команда для конвертации всех файлов одного формата в другой:
for %i in (*.mp4) do ffmpeg -i "%i" "%~ni.webp"
Команду менять не нужно. Достаточно иметь в папке файлы .mp4. При желании можете изменить «.mp4» на «.gif»
> Пояснения за магию:

По ffmpeg как конвертеру пока всё. Не перегружаю.
* * *
Возможно, вы спросите: "а как этот бонус относится к конвертерам?"
Поясняю: это видеорекордер. И он содержащий внутри себя конвертер, так что формально всё в тему.
В обычной ситуации базовые ребята воспользовались бы видеорекордером, однако их проблема в том, что чтобы изменить фреймрейт и размер окна – нужно постоянно залезать в глубокие дебри настроек, да и после сохранения получается видеофайл который нужно перегнать через конвертер...
В общем, ScreenToGif упрощает этот процесс и удовлетворяет запросы лени... Скачать его можно здесь.
Как всё это выглядит:
Пресеты для сохранения в gif/webp:

При смене режима кодировщика webp на "расширенный" ПО предложит вам использовать документацию и фильтры по FFMPEG. Используйте это, если вы достаточно ЖЕСТКИЙ (я бы не рекомендовал в это влезать, если вы не планируете стать гением ffmpeg). || Пару сомнений по гиф: возможно, стоит подыскать другой квантователь. Иногда крайне заметно что формат старается вместить всё в 256 цветов, но не может и выдает артефакты. || К WEBP вопросов нет. Идеальное качество и отсутствие шумов.
Мораль видоса: если вам лень морозить шум (артефакты) по максимуму, то сразу сокращаем анимацию до 2-4 кадров.
Важные горячие клавиши для работы с холстом и временной линией (собственные каты):
*Ссылка на скрипт для сокращения кадров вдвое*. Закидывать в папку Aseprite -> Scripts.
* * *
⭐ Что будет в следующей части:
• Пошаговая схемка по алгоритму работы (дополнение к первому посту);
• [На бис]. 10-ти часовой видос в котором Мэйв будет безостановочно переделывать гифки в Aseprite. Взглянем сколько возможно переделать гифок за весь выходной. Ради науки, разумеется;
• Возможно выпущу видос в котором будут сравнения анимаций "до" и "после" изменений.
• Домашка;
• Расширения для браузера, которые позволят вам скачивать гифки;
• Спойлер по ближайшей тетралогии обучающих материалов.
⭐ Связанные с GIF (WEBP) работы:
[Часть 1]: Вставка WEBP, начальное руководство, условия [мы были здесь];
[Часть 2]: Режим хардкора, тонкости WEBP, видос по аве и подгрузке [и здесь мы были];
[Часть 3]: Конвертеры, видеорекордер гиф, практический видос [мы здесь];
[Часть 4]: Вставка WEBP, наглядное руководство, финал [Скоро]
* * *
⭐ Тесты сквада за еще одну июльскую неделю:
Doshi: Лучшая вайфу из визуальных новелл - топовая дизайнерская работа главной булочки сквада. Минусы: нет электроника. Плюсы: можно выбрать Сайори
Cien': Угадай слово по картинке (Русский язык) - Сиен показывает вам картинку, а вы должны написать слово, которым называется объект. Минусы: мой результат не превышает 50% хд. Плюсы: интересная идея.
Meiv: 💪 Грязный тест на гачимученика - действительно странный по дизайну (и юмору) тест обыгрывающий тему видео переведенных в анимации. В ходе эксперимента выяснилось, что гигантское количество дизеринга может спасти много кадров. Также квадратные 600х600 пикчи выживали чаще. Минусы: автор clown. Плюсы: может быть смешно

Это конец игры.
Приветствую всех, кто пережил первую часть. Для вас припасено самое вкусное. В этой части вы определенно умрете 💗
* * *
Оглавление:
* * *
Вопрос = Q;
Ответ = A.
Q: Что такое WEBP?
A: Формат от Google стремящийся заменить GIF/PNG/JPG/APNG форматы.
Q: В чем главная особенность WEBP?
A: Его картинки весят на 30% меньше, чем у любых других форматов (особенно gif). Особое сжатие позволяет сайтам работать быстрее и хранить больше.
Q: Какие главные недостатки WEBP?
A1: Это тот самый формат, который невозможно закинуть в пэинт.
A2: Это тот самый формат, который открывается через браузер, а не через утилиту для просмотра фоток.
A3: Это тот самый формат, который в дискорде кидается "файликом доступным для скачки", а не картинкой или гифкой. (Телега и вовсе переделывает анимацию в статичную картинку).
A4: Это тот самый формат, который интересен только проггерам (и то он требует на себя пару сотен кода, а потом еще и дыры имеет).
A5: Это тот самый формат, который не имеет встроенной поддержки для МАКов. То есть, пользователям макинтошей нужно качать плагин (за наводку спасибо Мэйнстриму).
A6: Это тот самый формат, из-за которого в турниры с картинками можно заливать гифки (а ведь вы просто хотели насладиться картинками!)
A7: Это тот самый формат, который в облачном хранилище отображается некорректно, с зернистостью и мылом.
A8: Это тот самый формат, который вообще не отображается на каком-нибудь старом корыте при заходе на сайты (у меня такое есть). Поддержку можно посмотреть здесь.
A9: Если скачать этот файл на мобильное устройство, то скорее всего файл не будет воспроизводиться или вовсе откиснет.
... В общем, формат имеет дурную славу. ¯\_(ツ)_/¯
Q: Где можно найти всю инфу по WEBP?
A: [Официальная документация WEBP].
Q: Что важно знать из всей документации?
A1: WEBP поддерживает прозрачность цветов, gif – нет.
A2: WEBP поддерживает 16 777 216 цветов, gif – 256 (число можно умножить на количество "блоков". (Оптимизацию помянем));
A3: WEBP поддерживает максимальное разрешение 16383 x 16383. Такое же разрешение поддерживает PNG.
A4: WEBP делит картинку на "мелкие сегменты", макроблоки.
⏯️ A5: WEBP – это отчасти "видео". Он имеет видеокодек VP8 использующийся в видео + юзает хранилище RIFF. В будущем посте мы к этому вернемся.
Q: Что такое "макроблоки"?
A: Это деление на "яркость" и "насыщенность".

Условный пример что такое "насыщенность";

Условный пример что такое "яркость".
Q: Как работают макроблоки и зачем это знать?
A: Начнем рассмотр со стороны картинок (PNG и бывших PNG, что переведены в Webp). Тема "макроблоков" вплетена в алгоритм сжатия сайта. Это важно знать в том случае, если вы не брезгуете использовать градиенты, режимы смешивания и прочие безумные штуки в создании пикч, получая пнг файл в 300 кб (разумеется такая вещь будет сжиматься. Непременно должна!).

Для демонстрации пришлось немного упростить цветовую палитру у итоговых вариантов. «Без сжатия» – это оригинальный файл до загрузки на сайт. Его детали насыщенны и светлы. «Сжатие» – файл полученный после загрузки на сайт. У некоторых деталей появилось заметное размытие. Некоторые цвета потеряли немного насыщенности и яркости.
• [ссылка чтобы разглядеть] • || ⏭ Контрится ли это легально? – Разберём в следующем посте. Будет интересно 😎

На этом примере ключевые детали становятся более серыми. Также есть размытие, из-за чего немного теряется акцент и зернистость.
• [ссылка чтобы разглядеть] •
Плохо ли это? На самом деле нет. Так сайт выживает, сжимая тяжелые PNG и WEBPки в более легкие формы. Всё что мы можем сделать – это принять это и сделать мелкие детали более заметными, плотными, насыщенными и менее размытыми по краям. Последнее особенно важно, так как "те самые размытые серые пиксели вокруг основного объекта" впоследствии могут размывать его собой... || ... Что насчет алгоритма: умные дяди говорят что блоки яркости имеют форму 16x16, а блоки цветности – 8x8, а потом они еще и на подблоки 4x4 разделяются...
Q: Хорошо, как макроблоки работают в анимациях?
A: В анимации они работают немного иначе! Вот отрывок из документации: «Внутри каждого макроблока кодер может прогнозировать избыточную информацию о движении и цвете на основе ранее обработанных блоков. Кадр изображения является «ключевым» в том смысле, что он использует только уже декодированные пиксели в непосредственной пространственной окрестности каждого из макроблоков и пытается заполнить неизвестную их часть. Это называется предиктивным кодированием».

Так это работает: слева-направо и сверху-вниз. || Представим, что белые квадраты залиты дизерингом определенного цвета. Все остальные элементы – это элементы "предсказания" алгоритма. Или, как сказали бы нёрды – «предиктивное кодирование».
• [по этой ссылке точно та же информация, но из документации. Инфа на более сложном языке. Не имеет примера с дизерингом] • Повторим: предсказания работают ЛИБО на основе уже закодированных пикселей слева и сверху, ЛИБО межкадрово (по движениям).
Q: Для чего это нужно знать в анимации?
A: Чтобы получить несколько дополнительных кадров анимации при помощи дизеринга. Об этом ниже.

Дизеринг выглядит *так* и накладывается *так*.

Загрузим другой пример ис... Нет, не загрузим. Анимация не заработала, не смотря на то, что я так на неё рассчитывал 🥳 || Вес файла: 69 кб (что в принципе норма для изображений. От этого я буду дальше отталкиваться). Сейчас изображение не имеет дизеринга, а на следующем предмете – вы можете наблюдать бирюзовую рамку.

Итак, я добавил дизеринг-рамку и... Анимация все еще мертва. В обычной ситуации я бы после этого сократил количество кадров (особенно те кадры, в которых цвета сменяются в большом количестве), но в этот раз я так делать не буду. || Как уже сказал, вес в 69 кб - это нормальный вес. Давайте попробуем добавить тупо ЕЩЕ БОЛЬШЕ дизеринга.

Вот теперь его достаточно 🤗|| Вес увеличился на 15 кб (это из-за того, что WEBP вообще не понял нашего прикола и напредсказывал того, чего быть не может. Вероятно). || Здесь, если обратить внимание не на "рамку", а на "внутреннее окно" - можно заметить как применяется второй вариант дизеринга, «использование на всём холсте». Такой вариант хорошо сокращает количество сменяемых пикселей от кадра к кадру. На сколько вы помните из первого поста: "если пиксель не сменяется – значит он тупо хранится, не повышает вес и не использует вычислительную память на замены". Также в первом посте к этому было приложено небольшое доказательство, тест «Ладдер по потерянному времени | Подожди 19 минут».

Другой работающий пример. На экране анимация пользователя Кофе. || Ранее я попробовал применить "дизер-рамку", но она не сработала. «Полное покрытие» же – заливает базы.

Еще одна анимация Кофейка. || Та же история. Полное покрытие снова играет в человека-паука и спасителя очередного поста от статичных картинок.
Из этих примеров и предыдущего поста у вас может сложиться впечатление, что жизнь анимации решается одним лишь дизерингом: "и на вес файла можно немного закрыть глаза¹", "и количество кадров можно оставить большое или сделать больше²", "и цветовую палитру я могу расширить³"... Но это не совсем так. Дизеринг - это не чит, не волшебная палочка и даже не то, за что можно получить бан (хотя, насчет последнего я не уверен). Дизеринг не всесилен.
Первое – вы мало когда сможете получить файл для теста, который мог бы перевесить 110 кб. Заниматься таким не стоит. Вам постоянно придется нащупывать какой-то "минимум". Каждая неудачная подгрузка возвращает вас в редактор, где вы будете сокращать те или иные параметры анимации, сохранять, пробовать, пробовать... Делать всё это до тех пор, пока вы не обнаружите, что на значениях 40-70 всё наконец работает, а часть дизера и вовсе оказывается не нужна! В результате всего процесса у вас будет до десяти или двадцати проваленных попыток загрузки и это была всего-лишь одна анимация. || Для создателей анимированных аватарок отметка веса еще более непредсказуема. В одном проекте у вас может быть рекорд в 14 кб, а в другом – вы едва-едва сможете подгрузить работу на 9 кб. Даже при всём "имбалансном" дизеринге, даже при всём мастерстве и знаниях.
Второе – количество дополнительных кадров даваемые от приёма дизером крайне ограничено. Вы получите не более +20-30% по количеству кадров от текущей анимации. То есть, в тяжелых анимациях (где много сменяемых пикселей в кадрах) может быть +1 кадр. В больших – +4; в средних – +8; в малых – +16... || *Подробнее о том, что значит "большой-малый цветовой файл" можно найти в предыдущем гайде. Ссылка ведет на нужный отрывок*.
Третье – та же тема с цветом. Дизер дает +10% к цветам.
* * *
Есть множество вопросов, на которые я пока не могу найти ответ, но опустим сомнения и лишнюю информацию.
* * *
✅: Представим что дизеринг – это карты таро разложенные в шахматном порядке. Эти карты искажают будущее, создают иные предсказания, ложные обещания. Прямо как вот этот паренек.

Вот так делать можно. Это паттерны дизеринга и они создают определенный уровень затемнения в зависимости от частоты возникновения!

Вот так делать можно. ГООООЛ! || Пример положительный!

Так делать тоже иногда нужно. Этот прием позволяет заменить большое количество цветов градиента и некоторые подвижные пиксели (если бы это была анимация). || Пример положительный!
❌: Если мы не будем это использовать и просто зальём всё сплошными прямыми, то это перестанет считаться дизерингом, перестанет считаться шахматишками и перестанет работать в анимации. Другими словами анимация умрет.

Шах и мат, аметисты. Это так не работает. || Пример отрицательный.
❌: Также не стоит путать дизеринг с скринтонингом и халфтонингом. Для наших задач подходит только первое.

Если вы перемасштабируете дизеринг неправильно, то вы рискуете получить "халфтон" или другой паттерн дизеринга. «Паттерн» означает "закономерное расположение" (показано немного выше). Смена паттерна – не так страшна, как раздробление пикселя на дополнительные цвета... "Дизеринг" всегда означает "включенный алиасинг", т.е. недробность, неразмытость пикселя. Он всегда имеет острые углы.
* * *
Отлично. Мы усвоили большинство инфы по дизеру. Сейчас мы погрузимся на самое дно этого пиксельного безумия.
❓: Документация намекает о том, что сила таро и шахматишек зависит от яркости, насыщенности и разницы с окружением... «Яркий, но ненасыщенный цвет» или «капец черный блэк маттерс цвет» убивают файл чаще других вариантов. || Рассчитывайте на высокую насыщенность цвета и САМ ЦВЕТ (сам цвет имеет "свою яркость в зависимости от насыщенности" по теория цвета... Наиболее быстрое и удобное объяснение моим словам можно найти ниже в видосе. Нужная информация на 4:24).
✅: Чаще всего гифку (вебпку) спасает насыщенный желтый или циановый цвет на пикселях дизера. Все остальные цветовые варианты работают реже, особенно те, что близки к черному: синий, фиолетовый, маджента... Зеленый и оранжевый имеют немного больше шансов, но также руинят подгрузку анимации.

На этом испытательном полигоне я испытывал свою теорию;

На этих испытательных полигонах тоже присутствует часть тестов.
* * *
Доп инфа по видео:
Мы пропустили этап рескейла так как аватарка подходит под условия 300х300. В следующем выпуске мы это исправим! (След. выпуск будет посвящен упрощению целой анимации: кадров, цветов, затронет перемасштабирование. Возможно, я возьму какую-нибудь простую работу чтобы всё показать должным образом, а возможно – сдержку обещание и достану самую больную и шумную гифку).
Эту запись немного сложно назвать гайдом, но всё же это в какой-то степени он. Я попытался немного раскрыть тему "как происходит упрощение цветов". Где-то в начале года эта тема меня убивала. О ней нигде не было рассказано нормально, потому – цвета сокращались поштучно, а иногда и не сокращались вовсе (исчезали только из первого кадра, но не исчезали из других... ууух, мы к этому еще вернемся)💀.
Перейдем к важным горячим клавишам для работы с цветом:
⭐ Здесь должен был быть более сложный гайд, но я посчитал нужным оставить его на следующий тематический выпуск 😉
* * *
⭐ Что будет в следующей части:
- Разбор конвертеров на типы: плохие, хорошие, недотягивающие и ультимативные;
- Выбор лучшего конвертера, выделение его особенностей: конвертация множества файлов, *спойлер-спойлер*;
- Покажу каким образом были сделаны гифки для этого и предыдущего поста. Затрону тему записи экрана.
- Выпущу видос, в котором буду сокращать анимацию по всем пунктам описанным в первом посте. По горячим клавишам буду акцентироваться на временную линию с кадрами.
* * *
⭐ Связанные с GIF (WEBP) работы:
- [Часть 1]: Вставка WEBP, начальное руководство, условия [мы были здесь];
- [Часть 2]: Режим хардкора, тонкости WEBP, создание авы [мы здесь];
- [Часть 3]: Конвертеры, дополнительное ПО, сокращение анимации для теста [мы скоро будем здесь];
- [Часть 4]: *Засекречено* [об этом мы ничего не знаем, но здесь круто!].
* * *
⭐ Тесты сквада за очередную июльскую неделю (если вдруг вы захотите нас поддержать или выразить "СПС"):
- [Doshi]: выпустил тест-идентификацию, в которой вы можете стать трагическим главным героем, что проиграл себе или окружению. В основном тест содержит альтернативные версии персонажей мультипликации.
- [Cien']: выпустил работу на ассоциации. Если ваши ответы совпадут – вы проиграли (¬‿¬ ).
- [Meiv]: выпустил турнир по доте, в котором вы сможете сразить между собой героев имеющих 7 способностей и множество уникальных приколюх. Герои ассоциируются с пользователями. Тест можно проходить без опыта игры в доту.
Постскриптум:
Подумываю написать своё руководство по ПО, когда обучающие материалы по гифкам подойдут к концу...
Хотели бы вы услышать мой голос в следующей части?14