Войти
ПроектыФорумОцените

Enduro2D (Очередной 2D движок мечты, WIP) (2 стр)

Страницы: 1 2 3 Следующая »
#15
8:54, 15 авг. 2018

Suslik
Хрена се легковесная. Отдели ту обертку от юнити или анрила - нифига не останется)
Все эти системы материалов , анимации , освещения, террейна, отсечения сцены , каждая в отдельности по весу больше наверное, чем уровень абстракции gapi :)

#16
16:38, 1 сен. 2018

А процесс идёт. Из новинок добавлены базовые утилиты:
- классы для работы с цветами, картинками и кусками памяти
- простенький шкедулер для крупных асинхронных задач
- абстрактные стримы и базовая работы с файлами ОС (без виртуальной файловой системы, она будет уровнем выше)
- типобезопасное форматирование строк и конвертация различных представлений юникода
Посмотреть можно >тут<.

Всё это добро собирается и тестируется (на данный момент 30% кода это юнит-тесты) на кучке компиляторов разных версий в автоматическом режиме:
travis-ci.org
appveyor.com

#17
22:31, 1 сен. 2018

больше движков богу движков!!

поковырял репозиторий. Обилие современных плюсов радует ) Синтаксис, правда, не оч, сложно читать snake_case. И блоки кода мало разделены, сливаются в одну кучу.. Но это вкусовщина, конечно

> Lightweight
а как всякие эффектики, интерфейсы, анимации и всякие финтифлюшки делаться будут? На голых спрайтах норм игру не сделаешь )

#18
23:22, 3 ноя. 2018

Тэк-с, новости. Полным ходом идёт разработка корной части движка.
Смотреть >тут<

Из ныне готового:
- логгер
- ввод
- файловая система с возможность подключения архивов
- окошечко
- рендер

Всё это добро опирается на математику и утилиты написанные ранее. Всякие сцены, игровые объекты и прочее такое будут выше уровнем, над ядром.
Ну и да, как я выше говорил, всё в минимальном наборе по фичам, чтобы быстрее начать разработку на этом. Рендер например пока OpenGL онли и десктопы без могил (Win,OSX,Linux). Хотел запинать emscripten заодно, но по времени не успеваю, так что пока отложено на потом.

#19
1:23, 11 ноя. 2018

юнити жы есть

#20
5:02, 12 ноя. 2018

GamesPromo

Так и пусть будет)

#21
(Правка: 4:53) 4:49, 4 дек. 2018

MATov
> Хотел запинать emscripten заодно, но по времени не успеваю, так что пока
> отложено на потом.
лучше сразу заделать - там не сложно. Но есть всякие заморочки под виндами

Тебе можно отправлять Issue на русском? Мог бы подкинуть пару заметок по коду, но по английски писать не умею.

Лови первую:

E2D_UNUSED() шаблон не очень эффективен в дебаге
https://godbolt.org/z/1fA-Id

Любое решение:
- сделать как в foo2(), то есть убрать имена оставив тип
- сделать макросом через дефайн
- принудительное включение (__forceinline в студии или __attribute__((__always_inline__)))
- билдить с флагом Ob2 или O2

#22
9:43, 4 дек. 2018

war_zes
> лучше сразу заделать - там не сложно. Но есть всякие заморочки под виндами

обязательно вернусь к этому, но позже.

> Тебе можно отправлять Issue на русском? Мог бы подкинуть пару заметок по коду, но по английски писать не умею.

На русском не комильфо на гитхабе :( Пиши тут - темку оживишь )

За замечания по E2D_UNUSED спс, не критичная штука конечно, но поправлю.

#23
11:05, 4 дек. 2018

war_zes
> - сделать как в foo2(), то есть убрать имена оставив тип
> - сделать макросом через дефайн
> - принудительное включение (__forceinline в студии или
> __attribute__((__always_inline__)))
> - билдить с флагом Ob2 или O2
А кастить к void на месте уже не комильфо? Может ещё в пайплайн встроить парсер, который будет сам оборачивать неиспользованные переменные в вызов этой функции? Этак скоро появится шаблонная функция E2D_COMMENT, потому что строки в комментариях могут быть и мультибайтовые.

#24
(Правка: 11:16) 11:15, 4 дек. 2018

NyakNyakProduction
> А кастить к void на месте уже не комильфо

==>
>сделать макросом через дефайн
Как бы это и есть (макросы так работают).

#25
(Правка: 12:05) 12:04, 4 дек. 2018

nes

Nellow
Как минимум:
1. Достижение бОльшей гибкости и модульности, благодаря открытым исходникам, которые ты можешь модифицировать в любой момент как душе угдоно.
2. Нет проблем с лицензированием.
3. Не нужно тратить время на сборку и настройку движка, берешь и используешь.

Берешь Godot
1. Открытые исходники
Конечно, модифицировать свой код проще, чем чужой, но это только если ты писал его сам лично
2. Бесплатный, кроссплатформенный
3. Берешь и используешь.
Пока что столкнулся только с необходимостью ставить андроид студию для портирования на андроид

P.S. Я на самом деле ничего не имею против создания новых движков, особенно если это происходит не в рамках "очередной новый движок ради движка" а ради какой-то конкретной цели. Если это собственный движок компании - это вообще здорово, крупные компании так и делают.

#26
7:15, 28 дек. 2018

Отчётные новости:

Фигачу дальше, перешёл на уровень над кором.
Ресурс менеджмент полным ходом. Посмотреть можно ->тут<-.

Сделанного из интересного:
модуль library который умеет грузить базовые ресурсы (шейдеры, материалы, текстурки...) и кешить нужное.

Грузит он это всё весело и с прибабахом, а именно: асинхронная загрузка, которая параллелится на доступные ядра, с одним потоком для IO и с остальными для парсинга, декодинга и прочего. Ресурсы которые могут создаться только в определённом треде (текстурки например) откладываются с готовыми прочитанными данными и выполняются в нём.

Всё это стало доступным благодаря написанным промисам, которые вынесены в отдельную библиотеку для страждущих) Ссылочка: promise.hpp. Там не хватает некоторых оптимизаций, но в целом это работает и работает сносно. Там же бонусом лежит простенький тред пул и скедулер для отложенных тасок.

Попутно ещё вынес бэкпорт реализации std::invoke/std::apply для C++14. Смотреть ->тут<-

Вот как-то так. Ставьте звёзды, подписывайтесь на канал)

#27
7:23, 28 дек. 2018

И из совсем интересного забыл рассказать, что начал работу над entity component system (куда сейчас без неё).
Прогресс можно смотреть ->тут<-.
Получается красиво, да ещё и быстро (на бенчах не публично меряюсь пиписьками с другими опенсорс реализациями попутно).

#28
8:15, 28 дек. 2018

Suslik
> из 2д это только sdl и sfml. первый — на ужасном plain c, второй немного игрушечный.
Это не движок, а скорее фреймворк. Движок как минимум должен предоставлять пайплайн по доставке контента в него, а как максиум - иметь гейм обджекты и редакторы, уметь в систему материалов и прочее прочее (да, 2д тоже бывает с нормалмапами). А оно умеет только загрузить текстуру в png. Даже никаких работ с атласами. Спасибо хоть, что разработчики spine сами напилили рантайм под sfml (а sdl в пролете, да).

#29
(Правка: 22:55) 22:53, 28 дек. 2018

эх, написалбы ты это все на Раст, получилбы пару тыщ лайков на гитхабе (пруфы-щас любые, даже хело ворд, проекты и порты кода из 80-х, но на расте, выстреливают огого как)
портировать все на Раст пару вечеров займет

круто конечно, столько работы, автор молодец :)

MrShoor
> Движок как минимум должен предоставлять пайплайн по доставке контента в него, а
> как максиум - иметь гейм обджекты и редакторы, уметь в систему материалов и
> прочее прочее (да, 2д тоже бывает с нормалмапами). А оно умеет только загрузить
> текстуру в png. Даже никаких работ с атласами.

Godot считается движком, кроме встроенного "box2d" и загрузки шейдеров там нет ничего...все относительно

Страницы: 1 2 3 Следующая »
ПроектыФорумОцените