Какое-то время назад я начал писать 3D физический движок на C#. С нуля. Без игрового движка, без физических библиотек. Только твёрдые тела, столкновения и рендер поверх голого OpenGL.
Это задумывалось как учебный проект. Потом я добавил соединения. Потом разрушение. Потом рэгдоллы, машины, взрывы и материалы, которые ломаются по-разному.
В какой-то момент это перестало быть демкой движка и стало похоже на игру.
Так что теперь я двигаюсь в эту сторону. Получается песочница про то, как строить и разрушать. Всё в ней по-прежнему написано руками, и этим я тихо горжусь.
Сейчас оформляю всё в Steam. Дальше будет больше.
Винда онли или есть сборки под нормальные ОС?
Винда онли, там работа напрямую с WinAPI через P/Invoke.
Если у тебя есть LinkedIn, полайкай меня, пжлст: https://www.linkedin.com/in/makarov-mm/
Скачать демо можно тут:
Сейчас оформляю всё в Steam. Дальше будет больше.
Хороший проект. Лайкнул.
Провёл большую работу под капотом. Визуально это мало на что повлияло, но фактически я перелопатил всю программу.
Цель этапа была - собрать всё это в 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 ставить не нужно, внешних зависимостей ноль.
Качать тут: https://www.indiedb.com/games/wrecksmith
Красиво, работу то нашел?
Красиво, работу то нашел?
Нет.
Работу ищи или меняй вид деятельности сразу а ты одно другое купил а потом начал продавать… Непрактично.
можно на пособии сидеть
Зря он время теряет.
ты не понимаешь, это искусство, для души
Понимаю но хреново будет душе если телу нечего будет жрать, а вкупе с критическим для программиста возраста это чревато последствиями.
немецкий налогоплательщик накормит )
Работу ищи
Зараз не на часі.
Работу ищи или меняй вид деятельности сразу а ты одно другое купил а потом начал продавать… Непрактично.
Я с начала года купил 2 миника. Один как тестовый с i5, а второй c i7 настроил как рабочую станцию для моей будущей абстрактной помощницы в вакууме. Пока не продал. Долги 1л.200к пока остаются. :D
Сейчас оформляю всё в Steam.
Зачѣмъ спонсировать украинскiй терроризмъ въ отношенiи мирныхъ гражданъ Россiи?
Иди нахуй, еблан малолетний.
Я хотя бы не спонсоръ терроризма.
Да ладно, его несколько сотен баксов ничто по сравнению с 300 миллиардами баксов от России.
P.S. Кстати,
300*10^9это по 2к баксов на жителя РФ.







