Какое-то время назад я начал писать 3D физический движок на C#. С нуля. Без игрового движка, без физических библиотек. Только твёрдые тела, столкновения и рендер поверх голого OpenGL.

Это задумывалось как учебный проект. Потом я добавил соединения. Потом разрушение. Потом рэгдоллы, машины, взрывы и материалы, которые ломаются по-разному.

В какой-то момент это перестало быть демкой движка и стало похоже на игру.

Так что теперь я двигаюсь в эту сторону. Получается песочница про то, как строить и разрушать. Всё в ней по-прежнему написано руками, и этим я тихо горжусь.

Сейчас оформляю всё в Steam. Дальше будет больше.

@

  • cocucka
    link
    fedilink
    arrow-up
    0
    ·
    21 days ago

    Винда онли или есть сборки под нормальные ОС?

  • Skullnet
    link
    fedilink
    arrow-up
    0
    ·
    21 days ago

    Сейчас оформляю всё в Steam. Дальше будет больше.

    Хороший проект. Лайкнул.

    • kevlarbeaverOP
      link
      fedilink
      arrow-up
      0
      ·
      19 days ago

      Провёл большую работу под капотом. Визуально это мало на что повлияло, но фактически я перелопатил всю программу.

      Цель этапа была - собрать всё это в Native AOT (нужно для нормальной сборки под Steam: один нативный exe, без рантайма, быстрый старт). По дороге пришлось убрать два главных блокера.

      Первый - сериализация сцен. Был рефлексивный System.Text.Json, перевёл на source-generated JsonSerializerContext.

      Второй и большой - System.Drawing/GDI+. Он не AOT-совместим и тянул за собой WinForms. Использовался в трёх местах: декодирование PNG-иконок, загрузка текстур и запекание атласа шрифта. Всё переписал на прямые P/Invoke к плоскому API gdiplus.dll

      После этого выключил UseWindowsForms, выкинул зависимость от Windows Desktop framework, DPI-awareness выставил сам через SetProcessDpiAwarenessContext, и поставил PublishAot=true.

      Итог: dotnet publish -c Release -r win-x64 собирает один нативный exe, .NET ставить не нужно, внешних зависимостей ноль.

    • Holger
      link
      fedilink
      arrow-up
      0
      ·
      18 days ago

      Красиво, работу то нашел?

        • Holger
          link
          fedilink
          arrow-up
          0
          ·
          17 days ago

          Работу ищи или меняй вид деятельности сразу а ты одно другое купил а потом начал продавать… Непрактично.

          • Harald
            link
            fedilink
            arrow-up
            0
            ·
            17 days ago

            можно на пособии сидеть

              • Harald
                link
                fedilink
                arrow-up
                0
                ·
                15 days ago

                ты не понимаешь, это искусство, для души

                • Holger
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  15 days ago

                  Понимаю но хреново будет душе если телу нечего будет жрать, а вкупе с критическим для программиста возраста это чревато последствиями.

                  • Harald
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    15 days ago

                    немецкий налогоплательщик накормит )

          • xwicked
            link
            fedilink
            arrow-up
            0
            ·
            2 days ago

            Работу ищи или меняй вид деятельности сразу а ты одно другое купил а потом начал продавать… Непрактично.

            Я с начала года купил 2 миника. Один как тестовый с i5, а второй c i7 настроил как рабочую станцию для моей будущей абстрактной помощницы в вакууме. Пока не продал. Долги 1л.200к пока остаются. :D

  • MrSugoma2
    link
    fedilink
    arrow-up
    0
    ·
    19 days ago

    Сейчас оформляю всё в Steam.

    Зачѣмъ спонсировать украинскiй терроризмъ въ отношенiи мирныхъ гражданъ Россiи?

      • MrSugoma2
        link
        fedilink
        arrow-up
        0
        ·
        18 days ago

        Я хотя бы не спонсоръ терроризма.

        • Nice
          link
          fedilink
          arrow-up
          0
          ·
          18 days ago

          Да ладно, его несколько сотен баксов ничто по сравнению с 300 миллиардами баксов от России.

          P.S. Кстати, 300*10^9 это по 2к баксов на жителя РФ.