Reviving Classic Unix Games: A 20-Year Journey Through Software Archaeology
За двадцать лет автор провёл цифровую археологию, чтобы возродить классическую Unix-игру Conquer 1987 года. Изначально опубликованная в USENET как "conquest – middle earth multi-player game", эта многопользовательская стратегия в мире Средиземья повлияла на множество последующих игр. В 2006 году автор начал поиск создателей Эдварда Барлоу и Адама Брайанта, чтобы relicensировать код под GPL. Как отметил Барлоу: "copyleft didnt exist when i wrote it and it was all for fun so...".
Поиск авторов напоминал детективную работу - адреса электронной почты 80-х были недоступны, приходилось следовать цифровым следам. После пятилетнего ожидания в 2011 году Брайант сам нашёл статью автора и разрешил распространение кода под GPL. В 2025 году выяснилось, что Брайант создал полную переработку - Conquer Version 5 с расширенными возможностями, которую также согласовал лицензировать под GPL. В истории игры также участвовал MaF, создавший утилиты PostScript для генерации печатных карт.
Комментарии (72)
- Участники обсуждают исторические текстовые игры (Conquer, Trek, Netrek, Empire) и их сохранение для будущих поколений.
- Поднимаются вопросы лицензирования и переноса старого кода на современные платформы, включая использование веб-интерфейсов (ttyd) и репозиториев (bsdgames).
- Автор статьи (vejeta) активно участвует, объясняет сложности сохранения Conquer и делится опытом поиска и реставрации кода.
- Участники делятся воспоминаниями о старых играх и системах (SunOS, IBM minicomputers, PLATO), а также предлагают идеи для музеев и возрождения "Play-by-Mail" игр с использованием ИИ.
An interactive guide to SVG paths 🔥 Горячее
SVG <path>: краткий путеводитель
<path> — единственный способ рисовать сложные фигуры и кривые в SVG. Синтаксис пугает, но разобравшись, становится удобным.
Основы
- Атрибут
d— последовательность команд, как «рецепт» для пера. - Каждая команда начинается с буквы и получает координаты как аргументы.
- Предыдущая точка автоматически становится началом следующей команды.
- Используйте пробелы и запятые — читаемость важнее байтов.
Команды
- M x,y — поднять перо и переместиться в точку.
- L x,y — прямая линия до точки.
- C x1 y1, x2 y2, x y — кубическая Безье.
- Q x1 y1, x y — квадратичная Безье.
- A rx ry x-axis-rotation large-arc-flag sweep-flag x y — дуга эллипса.
- Z — замкнуть путь к начальной точке.
Относительные координаты
Буквы в нижнем регистре (m, l, c…) двигают перо относительно текущей позиции, а не от начала координат.
Цепочки кривых
Повторяйте команды, чтобы строить сложные формы без лишних M.
Анимации
Изменяя d через CSS или JS, можно плавно морфить фигуры.
Советы
- Начинайте путь всегда с
M. - Для читаемости группируйте команды построчно.
- Проверяйте результат в интерактивном редакторе.
Комментарии (43)
- Участники обсуждают интуитивные способы задавать эллиптические дуги без булевых флагов, предлагая параметры вроде углов или контрольной точки.
- Хвалят интерактивный гайд по SVG-путям, его наглядность и звуковые эффекты.
- Делятся практическим опытом: динамическая генерация карт в играх, разметка сканов, чтение путей «с нуля».
- Рекомендуют инструменты для редактирования и генерации SVG: GodSVG, Boxy SVG, онлайн-редактор yqnn.
- Отмечают связь SVG с PostScript, Logo и даже коническими сечениями; обсуждают GPU-ускорение для кривых Безье и рендеринг шрифтов.