S&box is now an open source game engine 🔥 Горячее
Facepunch Studios (создатели Garry's Mod и Rust) выпустили s&box — бесплатную sandbox-игру на движке Source 2 в раннем доступе на Steam. Это эволюция Garry's Mod с мультиплеером до 128 игроков, где любой может создавать миры, мини-игры и моды. Игра фокусируется на инструментах: встроенный asset browser с тысячами бесплатных моделей, текстур и звуков от сообщества; поддержка Lua и C# для скриптинга; хабы для шаринга контента.
Ключевые фичи — полная свобода редактирования в реальном времени, сетевой код для коллаборативного строительства, аватары и кастомизация. Код открыт под лицензией MIT, моды монетизируются через Steam Workshop. Команда обещает еженедельные обновления, борьбу с читерами и переход к полноценному релизу через 1–2 года. Уже 100+ хабов с проектами вроде Among Us или Fortnite-клонов.
Комментарии (133)
- Facepunch (создатели Garry's Mod и Rust) открыли исходники S&box — движка на базе Source 2, эволюционировавшего от Garry's Mod 2 к Roblox-подобной платформе с собственным редактором.
- Успех компании: от гаража до $100 млн/год; критика за слабую Linux-поддержку в Rust из-за античита.
- В коде много мата в комментариях; MIT-лицензия, но зависимость от закрытого Source 2 вызывает вопросы о будущем и конкуренции с Unity/Godot/Roblox.
- Обсуждение потенциала для standalone-игр, монетизации и инструментов вроде Hammer, скепсис по поводу поддержки Valve.
Making Minecraft Spherical 🔥 Горячее
Blocky Planet — демо на Unity, превращающее кубические воксели Minecraft в полностью разрушаемую сферическую планету из 20+ блоков.
Частые вопросы
- Где играть? Бесплатно на itch.io (Windows + web).
- Зачем? Вдохновился старым демо Jordan Peck и хотел добавить текстуры и масштабное разрушение.
- Будет ли игра? Вряд ли: мало времени, а путь от демо до релиза огромен.
- Сколько времени? ~1 месяц по 15 ч/нед. Пост занял вдвое дольше.
- Стек: Unity 6, C#, Job System + Burst, но без DOTS.
- Код? Пока закрыт — стыдно.
- Текстуры? Нарисованы вручную или скриптами; многие блоки ≈ шум + тонировка.
- Идеи/вопросы? Пишите в реддит-пост.
Делаем сферу
Простой способ — отфильтровать блоки внутри заданного радиуса, но тогда гравитация не совпадает с «верхом» блоков. Нужно:
- Наложить 2D-квадратную сетку на 3D-сферу.
- Сохранять ширину блоков при удалении от центра.
Карта без искажений — миф
Гаусс доказал: без искажений не обойтись. Попытки втиснуть глобус в прямоугольник дают чудовищные искажения у полюсов.
Комментарии (115)
- Автор продемонстрировал работающий «кубический» voxel-мир на сфере, где основной проблемой остаётся вертикальное искажение.
- Комментаторы сравнили проект с Space Engineers, Seed of Andromeda, PlanetSmith, Minetest и другими попытками создать «Minecraft на планете».
- Предложены альтернативы: геодезические сферы, торо-сфера (Eco), шестигранные воксели, HEALPix, S2, а также уменьшение игрока при приближении к ядру.
- Пользователи отметили удовольствие от орбитальной механики и мечтают о гибриде Minecraft + Kerbal Space Program.
Zig's Lovely Syntax 💬 Длинная дискуссия
Zig выглядит почти как Rust, но делает синтаксис ещё приятнее за счёт более простой семантики и ряда изящных решений.
Числа
Литералы 92 всегда имеют тип comptime_int; при присваивании они неявно приводятся к нужному типу. Суффиксов нет.
Строки
Многострочные «сырые» строки пишутся через \\ в начале каждой строки; \ не экранируется, отступы не портятся, а лексер работает построчно.
Структуры
.{ .x = 1, .y = 2 } — запись поля через .x = совпадает с присваиванием, что позволяет грепом находить именно записи, а не чтения.
Типы
Все типы префиксные: u32, [3]u32, ?[3]u32, *const ?[3]u32. Разыменование постфиксное: ptr.*.
Идентификаторы
Синтаксис @"имя с пробелом" позволяет обходить ключевые слова и экспортировать любые имена.
Функции
fn add(x: i32, y: i32) i32 — без стрелки ->, так как лямбд нет, а возвращаемый тип всегда обязателен. pub fn main() void {}.
Переменные
const и var; часто используемое const короче, чем в Rust, но всё же длиннее Kotlin-овского val.
Комментарии (156)
- Обсуждение разделилось: кому-то синтаксис Zig кажется «прекрасным» минимализмом, другим — «шумным» и «капризным».
- Спор о порядке «имя: тип» vs «тип имя»: одни хотят видеть тип первым, другие — имя.
- Критика деталей: @-префиксы,
.{}, отсутствие лямбд, перенос строк,orelseбез пробела. - Плюсы: raw-строки Zig решают проблему отступов; обработка ошибок через
tryнравится многим. - Сравнения: Kotlin, C#, Go, Rust, D — каждый считает «своё» лучше.
- Итог: «красота» синтаксиса субъективна и во многом привычна; после практики Zig начинает нравиться.