#[Сокровищница]

Осуждаем, но не от всего сердца

В Индии женщина обманом заставила полицию и коммунальные службы три часа чистить открытую канализацию, ложно заявив, что кто-то упал в нее.

46

не понял, на этом сайте низя видосики постить?

Graphuary 2026

День 27 | Высохший

46

Что же там было:

Попа – это удовольствие, ящитаю

Почти NSFW
Почти NSFW

Совинный парламент)

48

Оставался кусочек дерева и решил его превратить в что-нибудь прикольное) а то просто выкинуть жалко.
Приятного просмотра)

Источник:

Hudson Hornet 1954 года. Стендовая модель в масштабе 1/25

Всем привет, лисятки!

45
Читалка
The Medallions Feat. Vernon Green - Speedin.mp3

Эту свою работу я вам уже показывал пару лет назад на Капи. Но так как она мне очень нравится, пусть и здесь тоже будет. Может кто не видел. Но всё равно извините за повтор:)) Ну и этот пост чуть более расширенный:)

Так выглядит коробка с моделью в авто-маштабе 1 к 25. И литниковые рамки. Фото из интернетов, поскольку свой экземпляр я почти не снимал в процессе сборки и окраски:)

Забавно как ко мне попала эта коробка. Я заказал её на Ебэй из магазина в США, ещё до всяких санкций. А потом отслеживал по трекингу. Шла она ко мне больше месяца, сначала приехав в Европу, потом была отправлена на Тайвань, оттуда во Владивосток, потом поехала зачем-то в Москву, и только оттуда была отправлена ко мне. Очень странный путь. Эта моделька совершила кругосветку, по сути. Я за всю жизнь столько не напутешествую:)
Забавно как ко мне попала эта коробка. Я заказал её на Ебэй из магазина в США, ещё до всяких санкций. А потом отслеживал по трекингу. Шла она ко мне больше месяца, сначала приехав в Европу, потом была отправлена на Тайвань, оттуда во Владивосток, потом поехала зачем-то в Москву, и только оттуда была отправлена ко мне. Очень странный путь. Эта моделька совершила кругосветку, по сути. Я за всю жизнь столько не напутешествую:)
Детали на литниковых рамках.
Детали на литниковых рамках.

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

После сборки кузова, наносится грунтовка, затем краска и лак. С краской я заморочился - это настоящая автомобильная краска, которую мне намешали колористы в автомастерской. Вышло дороже, чем обычный акрил, конечно. Но зато именно такой цвет, как я хотел. Лак тоже автомобильный, двухкомпонентный. Шлифовать и полировать его потом то ещё удовольствие. Зато как сияеть!
И краска и лак разодятся до более жидкого состояния чем для покраски реального автомобиля. Наносятся из аэрографа в несколько слоёв, при давлении 1,5 - 2 атмосфер.

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

Салон окрашен обычным акрилом и масляными красками. Сделаны покрытия салона из кусочков замши.

Подставка для фотосессии как всегда самодел - из куска двп. Нанёс на него цементный клей для плитки и выложил брусчатку. Использовал камешки для аквариумистики. Обочина - обычный песок, пыль и модельные пигменты на ПВА и разный флок для имитации травы.

Подставка получилась тяжёлая, но симпатичная. Буду её ещё потом использовать для съёмок других моделей ретро-авто.
Подставка получилась тяжёлая, но симпатичная. Буду её ещё потом использовать для съёмок других моделей ретро-авто.

И финальный фотосет. Со стороны это выглядит вот так:

Спасибо за просмотр:)

«Танчики» на HTML5

Состояния игры и графика

48
Читалка

Изначально этим этапом должны были быть только состояния (начало пауза, геймовер), но так как два из трёх состояний я сделал ещё в прошлом этапе, то тут я добавил паузу, заготовку для главного меню и решил, что этого мало и перешёл сразу к следующему этапу, а именно замена временных квадратов на спрайты. Я решил не использовать то, что выдаёт там интернет, но постарался сам нарисовать близко по стилистике

По спецификациям спрайтов: сделал по два кадра на все танки, чтоб сделать анимацию гусениц. три кадра на воду. остальные по одному кадру

базовый враг
базовый враг
кусты лёд
кусты лёд
вода
вода

Вообще вот столько спрайтшитов отрисовал:

Результат сейчас выглядит вот так

В процессе записи понял, что забыл реализовать возрождение игрока после смерти :)

Для водички отдельная функция появилась:

export function updateWaterAnimation() {
  waterAnimationFrame = (waterAnimationFrame + 1) % WATER_SPRITE.frameCount;
}
//Ну и в рисовании фона вода теперь принимает непосредственное участие в отрисовки фона
renderBackground(gameMap, getWaterAnimationFrame());
//И внутри рендера ещё добавлен фолбек, чтобы в случае чего рисовать квадратики, как раньше.
//Чтоб не получилось что и-за какой-то ошибки на экране будет пустой квадрат
// Попробуем отрисовать спрайт
      const spriteDrawn = renderTileSprite(
        ctx, tileId, x, y, px, py, size,
        gameMap, wallsSprite, waterSprite, forestIceSprite, waterFrame
      );

      // Если спрайт не нарисован - fallback на цветной квадрат
      if (!spriteDrawn) {
        renderTileFallback(ctx, tileDef, x, y, px, py, size, gameMap);
      }

Конфигурация эффектов так же содержит фолбэк

/**
 * Конфигурация эффектов
 */
const EFFECT_CONFIG = {
    [EffectType.EXPLOSION_SMALL]: {
        maxFrames: EXPLOSION_SMALL_SPRITE.frameCount,  // 3 кадра
        frameTime: 3,  // 3 игровых кадра на кадр анимации (100ms при 30 FPS)
        size: TANK_SIZE,  // 16x16
        colors: ['#FFFF00', '#FFA500', '#FF4500']  // Fallback: Жёлтый → оранжевый → красный
    },
    [EffectType.EXPLOSION_BIG]: {
        maxFrames: EXPLOSION_BIG_SPRITE.frameCount,  // 4 кадра
        frameTime: 3,
        size: TANK_SIZE,  // 16x16
        colors: ['#FFFFFF', '#FFFF00', '#FFA500', '#FF4500']  // Fallback
    },
    [EffectType.SPAWN]: {
        maxFrames: SPAWN_SPRITE.frameCount,  // 5 кадров
        frameTime: 4,
        size: TANK_SIZE,  // 16x16
        colors: ['#FFFFFF', '#AAAAAA', '#FFFFFF', '#AAAAAA', '#FFFFFF']  // Fallback: Мигание
    }
};

Размер тут, правда, как будто излишен, так как все спрайты 16 на 16 и не пока не вижу необходимости делать другие, но посмотрю, может появился необходимость делать что-то больше чем 1 клетка размером, если нет, удалю.

Дальше по состояниям. В main.js появился метод и много его вызовов:

if (uiActions.pause) {
        setState(GameState.PAUSED);
}
export function setState(newState) {
    if (currentState === newState) return;

    const oldState = currentState;
    console.log(`State: ${oldState} -> ${newState}`);
    currentState = newState;
    stateTimer = 0;

    // Вызываем callback если установлен
    if (onStateChangeCallback) {
        onStateChangeCallback(newState, oldState);
    }
}

export function setOnStateChange(callback) {
    onStateChangeCallback = callback;
}

// Последний метод вызывается один раз при инициализации:
setOnStateChange(handleStateChange);

function handleStateChange(newState, oldState) {
  // При переходе из STAGE_COMPLETE в STAGE_INTRO (по таймеру) — инициализируем уровень
  if (oldState === GameState.STAGE_COMPLETE && newState === GameState.STAGE_INTRO) {
    initializeLevel(getCurrentStage());
  }
}
// это нам пригодится в будущем

План действий

История мифической планеты Вулкан

44
Читалка

В XIX веке астрономы столкнулись с проблемой, которая выглядела как мелкая погрешность, но вела к далеко идущим выводам. Наблюдения показывали, что орбита Меркурия медленно поворачивается в пространстве: точка перигелия смещается примерно на 574 угловые секунды за столетие. Однако ньютоновская (классическая) механика предсказывала смещение на 531 угловую секунду, связанное с гравитационным влиянием других планет Солнечной системы.

© Grok/TheSpaceway
© Grok/TheSpaceway

Оставшийся "хвостик" в 43 угловые секунды за столетие некоторые ученые того времени связали с еще одним источником тяготения, который пока никому не удавалось наблюдать напрямую. Так родилась гипотеза о планете Вулкан — невидимом теле между Солнцем и Меркурием. Объяснение звучало довольно убедительно: планета небольшая, наблюдать ее трудно из-за яркости Солнца, но когда появятся новые телескопы и более чувствительные инструменты, существование Вулкана непременно будет подтверждено.

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

Ответ был найден уже в XX веке. Общая теория относительности Альберта Эйнштейна дала естественное объяснение аномалии: возле массивного тела (Солнца) пространство-время искривляется, и орбита планеты (Меркурия) прецессирует сильнее, чем предсказывает ньютоновская модель. Те "лишние" 43 угловые секунды за столетие оказались не доказательством существования еще одной планеты, а прямым эффектом релятивистской гравитации, в рамках которой гравитация рассматривается не как сила, а как результат кривизны пространства-времени, вызванной массой-энергией.

Что между Солнцем и Меркурием на самом деле

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

Меркурий "глазами" космического аппарата NASA "Маринер-10", март 1974 года / © NASA
Меркурий "глазами" космического аппарата NASA "Маринер-10", март 1974 года / © NASA

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

История Вулкана — важное напоминание: если наблюдения не сходятся с расчетами, не нужно торопиться с радикальными объяснениями. Иногда это говорит о том, что теория, находящаяся у нас на вооружении, описывает реальность не полностью и требует пересмотра.

Яркий пример — наблюдения космического телескопа NASA "Джеймс Уэбб", который обнаружил "невозможные" зрелые галактики в ранней Вселенной. Это не доказательство того, что Большого взрыва не было, но серьезный аргумент в пользу того, что наше понимание зарождения и эволюции галактик нуждается в уточнении.