Сапёр онлайн: как я воскресил игру из Windows 98 и почти не сломал интернет
Все, кто застал Windows 98/XP, помнят это чувство: понедельник, 9:00, отчёт не готов, но вы уже тридцать минут аккуратно ставите флажки на поле 9×9 и мысленно называете себя сапёром-инженером. Потом кликаешь не туда - и оно. Взрыв. Смайлик с крестиками вместо глаз. Знакомо?
Вот именно эту боль - и эту радость - мы и решили вернуть. Только теперь в браузере, с мультиплеером, темами и монетками. Живой проект minesweeperonline.ru.
Немного ностальгии, завёрнутой в пиксели
Главная задача была не "сделать игру", а "сделать машину времени". Мы отрисовали интерфейс в стиле той самой серой Windows: заголовки окон, бевелы на кнопках (светлый край сверху, темный снизу), шрифт Tahoma, окна-модалки со скошенными углами. Смайлик теперь снова может улыбаться, грустить, надевать очки при победе и умирать при проигрыше.
Мелочь, а работает как кнопка «переместиться в 1998»
Что внутри, если снять крышку?
Гик-часть. Игра — это одно большое современное веб-приложение, замаскированное под древний Windows:
Скины. Их больше десятка: классические цветастые, тёмный, Oceanic, Astro Stars, Tropical и свежие — Mr. Chocolate, Neon Night и Winter Inei. Каждый меняет не только фон, но и клетки, смайлик, флажок, бомбу и даже раскраску цифр. Часть оформления — чистый CSS (градиенты, шахматка поля), часть — пиксельные спрайты 32×32, нарисованные программно. Да, мы рисуем бомбы кодом. Это законно.
Монетки и маркет. За победы капает игровая валюта. За монетки покупаются скины — реальные деньги тут не нужны и не принимаются (по-честному). Есть и пара скинов за рубли, но это уже для коллекционеров.
Мультиплеер и кооп. Можно гоняться с живым соперником на время, причём он видит доску в вашем скине. А можно проходить поле вместе — вдвоём против мин.
Дружелюбная капча при регистрации, восстановление пароля по коду из письма, подтверждение почты. Скучная, но необходимая сантехника.
Некоторые скриншоты:
Можно менять ник, аватар, пароль от аккаунта через восстановление аккаунта
Кто быстрее отгадает все мины на поле - тот и побеждает!
Присутствует 2 режима: соревнование (PVP) и совместное прохождение (одно поле на несколько человек)
Присутствует встроенный MP3 плеер: выбираете треки из проводника и слушаете свою музыку, кайф, правда?
Полная оптимизация под живые обои (MP4)
Почему это до сих пор работает?
Проект живёт на обычном сервере под OpenResty, а сам игровой процесс крутится на Python. Весь этот сайт сделал полностью энтузиаст в одиночку (то есть мной) с нуля и он продолжает его поддерживать регулярными обновлениями.
#сапёр #ретро #инди #minesweeper #олдскул #windows98 #windowsXP #игры
В Севастополе пятеро специалистов погибли при разминировании боеприпасов ВСУ
Развожаев: четверо пиротехников МЧС и один охранник погибли при исполнении
В Севастополе при разминировании боеприпасов Вооруженных сил Украины (ВСУ) погибли четыре сотрудника МЧС РФ и охранник. Об этом сообщил глава региона Михаил Развожаев в своем Telegram-канале.
«Наши парни обследовали территорию после атаки ВСУ. Вражеское средство поражения сдетонировало, когда специалисты выполняли свою главную и самую опасную работу — очищали нашу землю от смертоносного железа, защищая город и людей», — написал губернатор.
Четверо пиротехников спецотряда МЧС по Севастополю приняли смертельный удар на себя: капитан внутренней службы Антон Чудаков (начальник отделения), капитан внутренней службы Александр Панчук (старший инженер), прапорщик внутренней службы Артем Дуплин (водитель-сапер), Роман Пилипчук (спасатель-сапер).
Также получил смертельные ранения охранник объекта Василий Староверов, уточнил Развожаев.
До этого Telegram-канал 112 писал, что в Севастополе при взрыве погиб капитан 1-го ранга. Согласно информации канала, взрыв раздался в сквере за жилым массивом на Столетовском проспекте. Предварительно, взрывное устройство могло находиться в урне или под лавочкой. Оно сработало в тот момент, когда рядом проходил офицер. От полученных травм он скончался на месте происшествия. Личность военнослужащего не раскрывается.
Источник
Я на пенсии: Никогда мне эта современная мазня не нравилась... Тоже мне искусство
Вокруг было шумно, людно, бестолково…
- Пап, ну ты чего? Тебе не нравится?
- Тебе честно сказать или вежливо?
- Вежливо.
- Живопись - это Васнецов, Суриков, Айвазовский, Верещагин, Серов наконец… а это мазня.
- Пап, одно дело классика. А вот это всё сейчас модно. Я думала, тебе понравится в картинной галерее: сливки общества, шампанское, закуски. Да и Сашке к культуре приобщаться надо, ему десять уже.
- Ничего плохого в классике не вижу. Она воспитывает вкус. Сашку я лучше в Третьяковку свожу. Здесь же ничего не понятно. Дочка, вот что это такое по-твоему?
- Это… это темпераментно. Свежо…
- Так что это?
- Что? Сейчас посмотрю подпись.
- Посмотри-посмотри…
- «Кофе, пролитый на пол во время ссоры».
- Сюрприз. Никогда бы не подумали, да? А почему кофе красный?
- Пап… может быть ссора была эмоциональной. Символизм.
- А пол почему чёрный?
- Настроение у ссорившихся плохое.
- А стены почему зелёные?
- Пап, художник так чувствует! Так видит!
- Наркоман твой художник. Сашка, пойдём на второй этаж! Там я видел пару удобных кресел и кулер. Канапе эти, их солёная дрянь, шампанское кислое, я тебе в рюкзачок печеньки шоколадные положил и пару пакетиков растворимого какао. Голодные не останемся.
- Пап!
- Ну что?
- Ты в смокинге очень красивый. Вот бы тебя мама видела.
- Узкий он в плечах. Сашка, догоняй.
* * *
Спустя двадцать пять минут, когда все печеньки были съедены, дед с внуком, развалившись в удобных кожаных креслах, лениво наблюдали сверху за людьми на первом этаже. На людей с восторгом разглядывающих разнокалиберные, ядовито-яркие картины на стенах, на полном серьёзе спорящих о том какое полотно лучше. Потом внук собирал крошки с коленок и, пока никто не видел, отправлял их в рот, а дед задумчиво рассматривал стеклянный потолок галереи.
В этот момент на лестнице, ведущей на крышу, раздался громкий стук подошв, и на балкон выскочили два вооружённых АК смуглых бородача.
- Деда!
- Без паники, внучок.
Не успели бармалеи что-то сделать, как один из них, схватившись за горло, рухнул лицом вниз и замер на полу, а второй был убит своим же ножом.
Пожилой мужчина в смокинге, только что двигавшийся быстро и стремительно, с досадой расстегнул пуговичку на животе.
- Деда… они умерли?
- Стопроцентно.
- Они теперь попадут на небо?
- Это вряд ли.
Мальчишка, тоже в чёрном пиджачке, выглаженных брючках, озабоченно глянул вниз с балкона.
- Деда, там внизу мама кричит!
Быстрым, но не торопливым шагом пожилой, но не старый мужчина спустился на первый этаж, растолкал в стороны испуганных, жавшихся к стенам посетителей картинной галереи. По дороге он снял с подноса трясущегося официанта бутылку шампанского, которая тут же полетела в голову третьего бородача, вооружённого штурмовой винтовкой. Тот без звука рухнул под ноги своего товарища, одетого в массивный пояс шахида.
Смертник с удивлением уставился на шустрого пожилого мужчину и вытянул в сторону руку с детонатором, от которого к поясу вела пара разноцветных проводов.
- Я СЕЙЧАС ВСЕХ ВЗОРВУ! - истерично заорал он с лёгким акцентом.
- Это вряд ли, - негромко произнёс дед, и удерживающие детонатор пальцы смертника хрустнули.
Смертник было закричал, но пожилой мужчина коротким мощным рывком свернул ему шею, осторожно подхватив тело на руки.
В картинной галерее наступила полнейшая тишина. Все смотрели на пару мёртвых боевиков и ловко обезвредившего их пожилого мужчину. Тот же, медленно (даже нежно) положив смертника на пол, окинул взглядом людей, внимательно оглядел дочь в чёрном строгом платье и спросил:
- Все живые?
Никто не ответил, но все закивали головами.
- Хорошо. Чего замерли? Вызывайте полицию, ФСБ…
* * *
Высокий мужчина в цивильном костюме и в бронежилете потряс руку пожилого мужчины.
- Николай Константинович, а вы, оказывается, не простой пенсионер.
- Не простой-не простой, золотой.
- Я не шучу…
- Я тоже. Почему людей не выпускаете на улицу? У меня тут дочь, внук?
- Дело в том, что сейчас наши сапёры работают…
- Майор, они что, заминировали выходы?
Фсбешник тут же убрал с лица театральную улыбку.
- Да, нам пришлось забираться в здание через крышу. Тут окон нет.
- Ага. Значит, вся взрывчатка, все заряды замкнуты на этом? - подбородок пожилого мужчины указал на мёртвого смертника, шею которого он свернул полчаса назад.
- Вы догадливы, Николай Константинович. Сейчас прибудет наш лучший сапёр и сразу займётся этой проблемой.
- Может быть, я могу помочь?
- Что вы, что вы, Николай Константинович, вы и так нам очень помогли, пусть работает специалист.
- А вы куда?
- Нужно немедленно доложить о случившемся начальству.
- Ха! Значит, есть угроза взрыва. Почему не эвакуируете гражданских через крышу?
- Их слишком много, и вдруг начнётся паника…
- Это лучше, чем пара сотен трупов в развалинах с креативной мазнёй.
- Мы всё решим, Николай Константинович. А вот уже и наш лучший сапёр прибыл!
* * *
Спустя ещё полчаса (точнее, тридцать две минуты семнадцать секунд).
- Деда, а ещё долго?
Вздохнув, пожилой человек погладил внука по голове и направился в центр зала, где возле трупа в поясе шахида колдовал сапёр в тяжёлом кевларовом костюме и в огромном шлеме, больше похожий на астронавта.
- Ну что, лучший сапёр? Не получается?
- Не получается… А вы собственно кто?
Сквозь прозрачное забрало шлема было видно, что по лбу сапёра ползут крупные капли пота.
- Я тот, кто этого гада обезвредил.
- Ах, так вот кто это сделал. Вы молодец, - снова повернулся к телу смертника сапёр.
- Ты мне зубы-то не заговаривай. Что, не выходит обезвредить взрывное устройство?
- Да, больно хитрая схема.
- Давай я помогу.
- НЕТ! Оставайтесь на месте! Ваша помощь не нужна, я разберусь.
- Разбирайся.
Ещё пятнадцать минут ничего не происходило. Посетители галереи, устав стоять, просто сидели на полу, наплевав на дорогие костюмы и платья.
- Деда, а дядя вздрогнул, - ткнул острым локотком пожилого мужчину в бок внук.
- Сильно?
- Сильно.
- Лучший сапёр, как дела?
- Плохо, - голос сапёра словно охрип, будто он долго и громко на кого-то кричал. - Таймер включился.
- Какой ещё таймер? Я осмотрел пояс и ничего такого не видел.
- Они его спрятали. Вот здесь. Это ловушка. НАДО СРОЧНО ЭВАКУИРОВАТЬ ЛЮДЕЙ!
- Сколько времени? - нахмурил брови пожилой мужчина.
- Почти три минуты. НАДО СРОЧНО ЭВАКУИРОВАТЬ ЛЮДЕЙ! ВЫ СЛЫШИТЕ? БЕГИТЕ!
Серые глаза пожилого мужчины сверкнули сталью.
- А ну как рот свой закрой, лучший сапёр. И перестань трястись. Никого мы за неполные три минуты не эвакуируем, только людей напугаем… перед смертью. А ну-ка подвинься!
- Вы так спокойны, - не стал спорить сапёр, уступив место у трупа смертника. - Совсем не паникуете…
- А это поможет?
- Нет, конечно, но…
- Деда, что-то случилось?
- Да нет, ничего. С чего ты взял, внучок? Сашка, будь добр, водички мне принеси из кулера. Только полный стакан.
- Хорошо, сейчас, деда.
- Не торопись.
Отделившись от стены, спотыкаясь на длинных каблуках, к мужчинам подошла женщина в чёрном строгом платье.
- Папа, куда ты послал Сашу? Что случилось? Мы все умрём, да?
- Вот ещё! Тебе ещё развод оформить надо. Дочка, сходи в гардероб и принеси мне моё пальто.
- З-зачем?
- Да не доверяю я твоим «сливкам общества». Вдруг сопрут. А оно хорошее, шерстяное. Я его на заказ шил. И ношу-то всего двенадцать лет.
- Ну папа!
- Неси-неси. Слушай отца.
- Хорошо. Как скажешь.
- Что вы там делаете? Я сапёр, расскажите мне!
- Сапёр-сапёр… кто же спорит. Вот сейчас жидким азотом вот сюда брызнешь по команде…
- А зачем?
- Двадцать секунд осталось. Правда хочешь, чтобы я рассказал?
- Я готов.
- На счёт три. Раз, два, ТРИ!
ПШШШШШШ!
Щёлк!
Быстрым шагом, не сводя взгляда с заполненного до краёв водой пластикового одноразового стаканчика, к мужчинам подошёл Сашка.
- Деда, вот твоя водичка. Я всю донёс, не расплескал.
- Умничка.
- Папа, вот твоё пальто.
- Спасибо, дочка.
С изумлением уставившись на пояс со взрывчаткой, сапёр приподнял забрало шлема.
- Аааа… уже всё?
- Всё-всё, - вставая на ноги и отряхивая чистые в общем-то колени, произнёс пожилой мужчина. - Взрывное устройство обезврежено. Я такие хитрые штуки встречал на Ближнем Востоке…
- Где?
- Этого, лучший сапёр, я сказать тебе не могу. Не дорос ещё.
- Меня Игорь зовут.
- Очень приятно. Николай Константинович.
- Вы меня удивили. Вы спец, каких поискать.
- Да что ты, Игорюша, я обыкновенный дед. Я на пенсии.
Опрокинув в рот стакан холодной воды и надев стильное шерстяное пальто, пожилой мужчина обнял близких.
- Ну всё, водички попили, пальто на мне. Дочка, внучок, пора домой, а то у меня от этой мазни уже глаз дёргается…
Канал в МАХ
Страничка ВК здесь
Ссылка на литрес здесь
Герой Российской Федерации Сергей Бондарев
Сергей Сергеевич Бондарев (17 февраля 1973;пгт .Серышево Амурская область, — 29 июня 2001, Чечня) — оперуполномоченный Специального отряда быстрого реагирования Управления по борьбе с организованной преступностью при УВД Амурской области, капитан милиции.Герой Российской Федерации (2002, посмертно).
B 1995 году окончил Благовещенский государственный педагогический институт, факультет физического воспитания. Во время учебы в институте получил военную специальность - командира мотострелкового взвода.
В июле 1995 года поступил на службу в органы Министерства внутренних дел РФ. Вся милицейская служба капитана Бондарева прошла в Специальном отряде быстрого реагирования (СОБР) Управления по борьбе c организованной преступностью при УВД Амурской области на должности оперуполномоченного. В составе отряда трижды, начиная с ноября 1999 года, выезжал в служебные командировки для участия в боевых действиях на территории Чеченской республики в период второй чеченской войны. Освоил специальность сапёра.
Проявлял мужество и самообладание в тяжелой обстановке. В 2000 году при захвате собровцами подпольного радиопередающего центра боевиков в Гудермесе Сергей Бондарев обнаружил, что вся аппаратура этого центра заминирована. Самостоятельно произвел поиск и обезвреживание взрывных устройств, а таковых оказалось свыше десятка. В результате в руки спецслужб попала ценная информация. В последней командировке в Шалинском районе Чечни в составе секрета милиционеров вступил в бой с 30 боевиками и несмотря на численное превосходство противника, вынудил его к отходу. В другом бою лично вынес из-под огня в укрытие двух тяжелораненых сотрудников Алтайского УВД, попавших в засаду боевиков.
При инженерной разведке моста на автодороге Чири-Юрт - Новые Атаги 29 июня 2001 года, двигаясь впереди группы разведчиков, Сергей Бондарев обнаружил замаскированный радиоуправляемый фугас боевиков. Сергей понял, что наблюдающий за ним сейчас откуда-то из засады боевик не взрывает фугас только потому, что ждет подхода следовавшей за ним группы, чтобы уничтожить всех. А товарищи подходят все ближе, они уже в зоне поражения. И тогда капитан милиции Сергей Бондарев принял последнее решение в своей жизни.
- Ложись, фугас! - крикнул он товарищам и бросился на него своим телом.
Прогремел мощный взрыв. Истерзанное осколками тело капитана отбросило в сторону на двадцать пять метров. Из числа собровцев трое бойцов получили контузии разной степени тяжести, но никто не погиб и не был ранен. Все осколки принял на себя Сергей Бондарев. Своим последним шагом он спас жизнь десяти товарищам.
Похоронен на кладбище села Добрянка Серышевского района.
За мужество и героизм, проявленные в ходе контртеррористической операции в Северо-Кавказском регионе Указом Президента Российской Федерации № 122 от 31 января 2002 года капитану милиции Бондареву Сергею Сергеевичу присвоено звание Героя Российской Федерации (посмертно).
Награждён медалью "За отвагу" (2000).
У здания УВД Амурской области в Благовещенске установлен памятник Герою.
Источники :
Похождения Петрова и Боширова
Выдуманные посиделки в баре
- О, мужики, я вспомнил случай! Разминируем мы как-то с Толиком атомную бомбу.
- ... Саня, мы знаем, что вы с Толиком отбитые агенты, но это даже для вас слишком.
- Я серьёзно! Толик, было ведь?!
- Ну было.
- Мужики, вы разве курсы саперов прошли?
- Неа.
- Так кто ж вас к ней пустил?!
- А кто бы нас к ней не пустил? На все будапештские катакомбы, я, Саня и эта бандура с таймером.
- Таймером?
- А вы думаете мы от хорошей жизни её консервным ножом "Турист" вскрывали?
- Мужики, вы... Там же...
- Так мы только блок управления! Панель сняли, а там проводов, плат...
- И что вы сделали?
- Ну, разминировали.
- Я догадываюсь, что вы не взорвались. Как вы разминировали?!
- Да разминировали и разминировали!
- Толик, ну колись! Это же после этого вашего рапорта того вашего шефа вертолётом в Склиф увезли?
- Толик тогда и меня чуть до инфракта не довёл.
- Саня, да будет тебе...
- Так, или вы двое сейчас рассказываете, или я пользуясь субординацией и будучи старшим по званию запрещу вам заказывать ещё пива.
- Вот ты злюка, товарищ майор. Ладно. Монетку я бросил наудачу.
- Наудачу, ага. Наудачу он бросил.
- Саня!
- Так, погодите! Какую монетку?
- У меня 10 рублей счастливые есть. Я и решил перед тем, как внутрь лезть, проверить, смогу-не смогу... Орёл - разминирую. Решка - Сане оставлю, или за саперами побежим что есть дури. Ну и подбросил...
- И внутрь уронил.
- Саня!
- Ты монетку в бомбу уронил?! Толик, ты дятел?! Ты над вскрытой бомбой монетку бросал?!
- Так я её ловил всегда! В темноте кромешной на слух ловил на спор! А она там о потолок ударилась и криво вниз полетела!
- Ну ты дятел, Толик.
- Почему дятел-то?! Бомбу я ж разминировал!
- Ага. Монеткой.
- Саня!
- Как монеткой?
- Да на плату она упала и закоротила её. Бомба и выключилась.
- Не соврала, между прочим! Орел выпал!
- Орёл?
- Ага. Я ж блок вскрыл, чтоб её достать.
- А ты не мешал?
- А нахрена мне мешать? Я помогал. Ты сам подумай, если б нашли атомную бомбу под Будапештом, а, в ней внутри 10 рублей лежат, что бы подумали.
- Тоже верно. Эй! Ещё четыре пива нам! Ну! За червонец!
- За червонец!
- И за орла!
- За орла!
- И за дятлов!
- Ах ты тащмайор!!!
Честносперто тут: https://t.me/Lizard_lair/635













