Обновить
122
0.3

Пользователь

Отправить сообщение

Визуализация Active Session History в PostgreSQL — делаем просто и красиво

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели3.7K

Привет! Меня зовут Геннадий, я Oracle и PostgreSQL DBA в компании Uzum. По пути еще иногда занимаюсь NoSQL, люблю автоматизировать информацию из Ansible и визуализировать нужные мне метрики в Grafana. Хочу поделиться дашбордом для Grafana, который отображает историю активных сессий PG с их текущим SQL, отсортированных по группам ожиданий. Он помогает мне искать проблемы производительности PG-баз, и может пригодиться тем, кто администрирует Postgres.

Читать далее

Итоги года в видеоиграх

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели5.7K
image

Ну вот и отгремело последнее серьёзное событие 2024, The Game Awards — а значит, можно со спокойной душой подводить итоги года, вспомнив про хорошие (и не очень) игры, которые повлияли на индустрию, а также новые консоли.
Читать дальше →

Бегущий по флешбэкам

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели1.3K

Добро пожаловать, мистер Читатель, с возвращением!

Сегодня мы отправляемся прямиком в 1992 год, где увидим один из триумфов французской игровой индустрии, а именно – Flashback: The Quest of Identity.

Читать далее

Как я разрабатывал хоррор-стратегию на Game Maker, что из этого вышло + пара советов

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.4K

Всем привет!

Меня зовут Яков, и я инди-разработчик. Возможно, вы играли в мои предыдущие проекты: Dom Rusalok и Loretta. Два года назад мы с подругой решили создать стратегию. И вот, я решил подвести итоги работы, поделиться опытом, в свободной форме порассуждать обо всём и ни о чём, и дать, надеюсь, полезные советы, которые помогут другим разрабам.

Читать далее

Ностальгические игры: Command & Conquer – Generals

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели13K
image

Ещё чуть больше двадцати лет назад жанр стратегий в реальном времени был на пике своей популярности. Новые проекты появлялись с завидной регулярностью и, соревнуясь за внимание игроков, выделялись среди конкурентов оригинальными идеями. Одни предлагали масштабные сражения, как, например, Казаки, другие – глубину геймплея и идеально сбалансированные фракции, как в Starcraft. Были и те, кто шёл по пути экспериментов (отличный тому пример – Battle Realms с её оригинальной системой создания юнитов). А Warcraft 3 и вовсе смешал стратегию с RPG, добавив глубину и эмоциональную вовлечённость.

Не оставалась в стороне и Electronic Arts, поглотившая к 1998 году легендарную Westwood Studios – создателя культовой серии Command & Conquer – и желавшая доить их фрашнизы отбивая бабки порадовать фанатов новой игрой. Так в 2003 году появилась Command & Conquer: Generals. Хоть игра и не была революцией, она ярко выделялась на фоне конкурентов и благодаря захватывающему геймплею и свежему подходу к дизайну фракций быстро завоевала популярность. Хорошим примером её значимости для жанра станут и по сей день регулярно проводящиеся турниры, напряжённые катки которых очень круто смотрятся даже спустя два десятка лет.

Почему же эта игра осталась в памяти игроков, несмотря на столь сильную конкуренцию во времена, когда жанр был переполнен громкими именами? В этой статье я постараюсь найти ответ на этот вопрос, а также расскажу интересные факты о создании Command & Conquer: Generals. В конце выложу сборку игры с фанатской модификацией, которая сильно улучшит ваш игровой опыт, исправит множество багов и сделает запуск на современных системах беспроблемным и комфортным!
Читать дальше →

RUINSWORLD: Многопользовательский шутер с открытым миром для браузера на js/ts, Three и Vue. Бета-версия

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели2.4K

Этой статьей я хочу представить сообществу разработку www.ruinsworld.ru, которой, по сути, посвятил пять последних лет жизни. Все начиналось с браузерного сингл‑шутера, потом была не очень удачная и быстро наскучившая попытка в стратегию, после чего я поставил себе, казалось бы, невозможную задачу. Реально ли, используя все эти наработки, построить многопользовательский шутер в браузере, да еще не просто «стрелялку внутри небольшой коробки», а с большим открытым миром и огромным количеством неписей в нем? Чтобы можно было «идти куда хочешь во все стороны и делать что заблагорассудится», как в самых лучших постапокалиптических РПГ?

Читать далее

Рецепты TypeScript: простое тестирование типов

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели1.6K

Привет, это снова Костя из Cloud.ru! В своих последних статьях я делился рецептами довольно сложных типов. Например, рассказывал, как преобразовывать ключи объектов из snake_case в camelCase. Давайте представим, что вы воспользовались одним из таких рецептов. Как его поддерживать? И что скажет ревьюер, увидев такой код?

Сегодня в меню не блюдо, а ложка — покажу, как можно надежно тестировать типы и не бояться их менять, если это нужно.

Взять ложку

Цири, как протагонист Ведьмак 4 — это провал?

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели10K

13 декабря на ежегодной церемонии The Game Awards показали первый синематик-трейлер Ведьмак 4, что всколыхнуло игровое сообщество и сразу же разделило его на два лагеря. Одни пребывают в полном восторге, другие категорически недовольны тем, что главным персонажем новой игры стала Цирилла, а не ноунейм-ведьмак.

Сам же я очень люблю эту серию: прошёл каждую из игр по несколько раз, а также прочёл оригинальную серию книг. Поэтому я хочу предложить вам абстрагироваться от эмоций и попробовать порассуждать, как говорится, с “холодной головой” — удачный ли выбор протагониста совершили CD Projekt RED?

Узнать правду!

Двойной юбилей: серия, изменившая жанр дважды

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели8.2K
image

Звёзды сложились так, что в этом году у двух культовых игр серии Need for Speed юбилеи: оригинальной NFS — 30 лет, Underground 2 — 20. Их судьбы абсолютно разные, концептуально — это разные игры с разной атмосферой. О том, как серия кардинально поменяла геймплей и стилистику, и какой незримой нитью связаны абсолютно разные игры — в этом материале!
Читать дальше →

Ностальгические игры: Far Cry

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели7.3K
image

В 2004 году очень многие с предвкушением ждали выхода таких популярных проектов, как Doom 3 или Half Life 2. Но именно тогда совершенно неизвестная до того момента студия Crytek смогла ярко заявить о себе, представив новую игру под названием Far Cry. Она не просто появилась на горизонте, а, скорее, ворвалась в индустрию словно ураган, заставив восхищаться открытым миром, чувством полной свободы и восхитительной по тем временам графикой! Именно тогда мы впервые оказались на островах, где шёпот волн и густые джунгли скрывали множество тайн, которые никак не ожидаешь увидеть в этом тропическом раю, а ошеломляющие своей красотой пейзажи вместе с умными врагами и новаторским геймплеем заставили прильнуть к экранам мониторов миллионы геймеров по всему миру. И даже спустя годы многие из нас с теплотой вспоминают моменты адреналиновых перестрелок и то, как брали на абордаж катера, ощущая себя героем настоящего боевика.

До сих пор храню в памяти момент, когда мне подарили этот большой бокс из пяти дисков. Какое восхищение я испытал тогда, впервые запустив Far Cry! Всё было настолько неописуемо красиво, что даже не верилось! Разработчики открыли дверь в новую эпоху, задав графические стандарты для игровой индустрии на долгие годы вперёд. Сегодня я хочу не только рассказать про разработку игры, её геймплей и уникальные особенности, но и выложить сборку для самостоятельно ознакомления любого геймера без лишних танцев с бубнами. Давайте снова окунёмся в воспоминания и заново испытаем чувства, которые когда-то подарил нам Far Cry.
Читать дальше →

Ктулху зовёт! Эволюция компьютерных игр по Лавкрафту. Часть 4: «Переходи на тёмную сторону, у нас есть щупальца!»

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели2.9K

Итак, Call of Cthulhu: Dark Corners of the Earth вышла в 2006 году, провалилась в продажах, отпугнула геймдев от Лавкрафта на десяток лет — и всё равно умудрилась стать культовой. На протяжении конца нулевых и первой половины десятых годов новые тайтлы по мифам Ктулху изредка выходили, но редко, как правило, неудачно и незаметно. Однако середины 2010-х что-то изменилось: количество и качество игр по лавкрафтиане стало расти, а вместе с ними и интерес аудитории. Отчасти это стало следствием инди-революции в геймдеве: некоторые из игр представляли собой смелые эксперименты небольших студий. Но куда более интересным феноменом стало то, что теперь в играх по мотивам Лавкрафта всё чаще предлагают не противостоять космическим порождениям древних бездн, а, наоборот, играть за тех, кто у самого Лавкрафта и в произведениях по его мотивам всегда считался антагонистами и злодеями. Ну или по крайней мере относительно мирно с означенными порождениями сосуществовать и взаимодействовать. Проследим, как игры про борьбу с лавкрафтианскими ужасами понемногу перешли к играм за эти самые ужасы.
Читать дальше →

Никто не понял world in conflict

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели3.9K

Что вы помните о World in Conflict?

Удалую клюкву? «Полюшко-поле»? Красный медведь пробудился? Вертолетный десант у Статуи Свободы и небо в куполах над Сиэтлом?

А если я скажу, что игра была вообще не об этом?

Что, если шведы из Massive Entertainment смогли полноценно деконструировать нарративы времен Холодной войны с позиции стороннего наблюдателя?

Что, если сценарист Кристофер Эмгард смог беспощадно раскритиковать игры, которые на момент релиза в 2007 году еще даже не были в разработке?

Что, если World in Conflict могла полностью изменить облик сюжетных игр «про войну», не останься она в тени именитых конкурентов и узкой нише жанра тактики в реальном времени?

Тогда...

Господи, помоги нам выжить среди этой смертной любви.

Читать далее

Регулярные выражения простыми словами. Часть 1

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели31K

Разработчики делятся на два типа: тех, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой, и тех, кто все еще боится и всячески их избегает. Эта статья специально для вторых, чтобы им было проще стать первыми. Она либо поможет преодолеть «регекспофобию», либо усугубит ее. В любом случае, добро пожаловать под кат.
Читать дальше →

Регулярные выражения простыми словами. Часть 2

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели13K

Разработчики делятся на три типа: те, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой; те, кто все еще боится их и всячески избегает; и те, кто уже прочитал первую часть этой серии статей и полон оптимизма разобраться с этими магическими письменами. Эта статья специально для третьих, чтобы им было проще стать первыми.
Читать дальше →

Рецепты TypeScript: перевод ключей объекта в camelCase

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.3K

Всем привет! С вами снова Костя Логиновских — ведущий разработчик из Cloud.ru. Я уже делился TypeScript-рецептами в предыдущих статьях — вот первая и вторая — и теперь хочу рассказать про еще один. Наши рецепты — это готовый код, который можно применить в конкретных ситуациях, а в некоторых случаях и подогнать ситуацию под код.

Сегодня в меню — функция на обычном TypeScript, которая преобразует тип объекта так, чтобы все ключи внутри него из snake_case стали camelCase. Жду всех под катом!

Смотреть рецепт

Автоматизация тестирования таблиц в Postgresql на SQL

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели5.4K

Привет.

Предположим, вам пришла задача на тестирование какой-либо функциональности, которая относится к бэкенду. Вы переходите к документу с требованиями и видите, помимо прочего, описание таблиц базы данных (БД). Примерно так это выглядит:

Читать далее

Айсберг софта для чтения и слушания на японском с первых дней обучения

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели4.7K

По каким-то причинам (sic!), японский язык хочет выучить ужасающее количество программистов. Реально, мой любимый японский подкастер Тэппей говорит, что у него девять из десяти учеников что‑нибудь кодят. Поэтому у нас нет недостатка в отличном софте. Буду рассказывать про кучу инструментов, позволяющих погрузиться в закорючки и взаимодействовать с нативным контентом с первых дней. Японофилы узнают что‑нибудь, о чем они еще не слышали, а если вы учите другой язык — возможно захотите сделать что-то похожее для него.

Читать далее

Типизация свойства объекта в виде строки

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели1.3K

Все так или иначе сталкивались с функцией или методом, который принимает объект и свойства в виде строки с которым нужно что-то сделать. Пример:

updateDate(user, "date");

И когда изменяется свойства объекта (user.dateuser.birthday), компилятор его нормально скомпилирует и мы лишаемся возможности отловить баг на стадий разработки.

Решить проблему

Оптимизация денежной наличности в АТМ, или Как сделать так, чтобы в банкомате всегда были деньги

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели2.6K

Бывала у вас такая ситуация, когда хотели снять деньги в банкомате, а их там не оказалось, и приходилось искать банкомат рядом, про себя ругаясь на банк: «Неужели так сложно сделать, чтобы деньги в аппарате были всегда?» Да, это возможно, но есть нюанс.

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

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

К чему это всё здесь описано? Рассчитать, сколько денег поместить в каждый конкретный банкомат — это задача с несколькими параметрами. Наскоком её не решить, например, не получится загружать все банкоматы деньгами по полной. Ведь иногда так бывает, что у двух рядом стоящих банкоматов к концу дня количество банкнот к концу дня отличается в разы!

Привет, меня зовут Мария, я работаю в Альфа-Банке на позиции Middle Data Scientist, и я вам расскажу, почему задача расчёта количества банкнот в банкомате не такая тривиальная, как кажется на первый взгляд.

Читать далее

Рецепты TypeScript: типизированное преобразование объекта

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.5K

Всем привет от ведущего разработчика из Cloud.ru! Как и обещал в предыдущей статье, продолжаю рассказывать про TypeScript-рецепты. Наши рецепты — это готовый код, который можно применить в конкретных ситуациях, а в некоторых случаях и подогнать ситуацию под код.

В этой статье предлагаю обсудить, как на обычном TypeScript приготовить такую функцию, которая из конфига роутинга по приложению вычислит объект, содержащий все пути внутри приложения. При этом сам объект роутинга будет иметь некоторую вложенность, а итоговая мапа с путями будет плоской структурой со значениями полей в виде строк. И всё это строго типизировано!

Забрать рецепт

Информация

В рейтинге
2 666-й
Откуда
Магнитогорск, Челябинская обл., Россия
Зарегистрирован
Активность