Сборщик RSS-лент

[Перевод] Doom работает везде, даже на Neo Geo

Habr.com - пт, 07/17/2026 - 11:13

Примерно месяц назад мы сняли видео [а на Хабре опубликовали его перевод] о сложности реализации игры наподобие Doom на консоли Neo Geo. Причина заключается в том, что у Neo Geo нет концепции буфера кадров, то есть всё, что мы видим на экране Neo Geo, рендерится, как спрайт. Также в этом видео я рассуждал о концепции движка рейкастинга, который вполне неплохо работал на Neo Geo. Придуманная мной концепция, по сути, заключалась в создании плоской сетки блоков и испускании одного луча на каждый вертикальный столбец. Разработчик Sabino даже предпринял любопытную попытку создать на этом движке игру в стиле Doom.

Но, разумеется, рейкастер и движок уровня Doom — это далеко не одно и то же. Рейкастер может работать только с сеткой, то есть с квадратными блоками, а значит, все объекты на карте должны иметь одинаковую высоту, а стены находиться под прямыми углами. Doom же устроен сложнее: в нём есть стены, располагающиеся под любыми углами, помещения с разной высотой полов, лестницы, лифты и двери. Ничто подобное невозможно реализовать в простой игре с рейкастингом. Даже в проекте Sabino поворот за угол выглядит не особо естественно. В конечном итоге, мы имеем дело с сеткой из квадратных блоков, поэтому в таком движке с рейкастингом невозможно реализовать что-то наподобие уровня E1M1, The Hangar.

Однако у этой саги «Doom на Neo Geo» недавно появилось несколько продолжений, и я в восторге от того, куда всё это может привести. Как я упоминал в последующем видео, люди действительно серьёзно принялись за решение этой задачи. У нас появились новые подходы к реализации Doom на Neo Geo.

Читать далее

Я проиндексировал 3,3 ГБ логов своих кодинг-агентов, чтобы перестать чинить одни и те же баги

Habr.com - пт, 07/17/2026 - 11:00

Каждый кодинг-агент пишет полные транскрипты сессий на диск: Claude Code — в JSONL под ~/.claude/projects/, Codex — в rollout-файлы, Cursor — в SQLite, и так далее, восемь штук, ни один формат не документирован. У меня там накопилось 3,3 ГБ — каждый разобранный баг вместе с фиксом. После вечера, потраченного на повторную отладку уже решённой проблемы, я написал инструмент, который парсит все восемь форматов в один локальный индекс. Под катом — где агенты прячут историю, зачем там смещение последнего полного \n, чем rewind у Gemini ломает append-only и почему я обошёлся без эмбеддингов.

Читать далее

Мой личный джуниор. Бонус: аутентификация в Gradio и пользователи в Langfuse

Habr.com - пт, 07/17/2026 - 10:47

Привет, Хабр! Меня зовут Владимир, и это внеплановое продолжение цикла про локального MCP-агента. В первых частях мы собрали агента, научили его работать через LangGraph, добавили Gradio-интерфейс, чекпоинты и трассировку.

В этой статье я покажу как добавить аутентификацию в Gradio-интерфейс и как использовать её для упорядочивания трейсов в Langfuse и чекпоинтов в LangGraph.

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 15 гостей.
Ленты новостей