Hacker News Digest

Тег: #csharp

Постов: 3

S&box is now an open source game engine (sbox.game) 🔥 Горячее

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-клонов.

by MaximilianEmel • 26 ноября 2025 г. в 19:58 • 388 points

ОригиналHN

#csharp#facepunch#garrysmod#lua#mit#rust#sbox#source2#steam

Комментарии (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 (bowerbyte.com) 🔥 Горячее

Blocky Planet — демо на Unity, превращающее кубические воксели Minecraft в полностью разрушаемую сферическую планету из 20+ блоков.

Частые вопросы

  • Где играть? Бесплатно на itch.io (Windows + web).
  • Зачем? Вдохновился старым демо Jordan Peck и хотел добавить текстуры и масштабное разрушение.
  • Будет ли игра? Вряд ли: мало времени, а путь от демо до релиза огромен.
  • Сколько времени? ~1 месяц по 15 ч/нед. Пост занял вдвое дольше.
  • Стек: Unity 6, C#, Job System + Burst, но без DOTS.
  • Код? Пока закрыт — стыдно.
  • Текстуры? Нарисованы вручную или скриптами; многие блоки ≈ шум + тонировка.
  • Идеи/вопросы? Пишите в реддит-пост.

Делаем сферу

Простой способ — отфильтровать блоки внутри заданного радиуса, но тогда гравитация не совпадает с «верхом» блоков. Нужно:

  1. Наложить 2D-квадратную сетку на 3D-сферу.
  2. Сохранять ширину блоков при удалении от центра.

Карта без искажений — миф

Гаусс доказал: без искажений не обойтись. Попытки втиснуть глобус в прямоугольник дают чудовищные искажения у полюсов.

by iamwil • 28 августа 2025 г. в 18:12 • 826 points

ОригиналHN

#3d#csharp#graphics#itch.io#minecraft#physics#unity#voxel

Комментарии (115)

  • Автор продемонстрировал работающий «кубический» voxel-мир на сфере, где основной проблемой остаётся вертикальное искажение.
  • Комментаторы сравнили проект с Space Engineers, Seed of Andromeda, PlanetSmith, Minetest и другими попытками создать «Minecraft на планете».
  • Предложены альтернативы: геодезические сферы, торо-сфера (Eco), шестигранные воксели, HEALPix, S2, а также уменьшение игрока при приближении к ядру.
  • Пользователи отметили удовольствие от орбитальной механики и мечтают о гибриде Minecraft + Kerbal Space Program.

Zig's Lovely Syntax (matklad.github.io) 💬 Длинная дискуссия

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.

by Bogdanp • 10 августа 2025 г. в 15:33 • 157 points

ОригиналHN

#csharp#dlang#go#kotlin#rust#zig

Комментарии (156)

  • Обсуждение разделилось: кому-то синтаксис Zig кажется «прекрасным» минимализмом, другим — «шумным» и «капризным».
  • Спор о порядке «имя: тип» vs «тип имя»: одни хотят видеть тип первым, другие — имя.
  • Критика деталей: @-префиксы, .{}, отсутствие лямбд, перенос строк, orelse без пробела.
  • Плюсы: raw-строки Zig решают проблему отступов; обработка ошибок через try нравится многим.
  • Сравнения: Kotlin, C#, Go, Rust, D — каждый считает «своё» лучше.
  • Итог: «красота» синтаксиса субъективна и во многом привычна; после практики Zig начинает нравиться.