|
23.11.2012, 05:18
|
#1
|
|
TatEngine
Предыстория :
В общем последний опенсорс двиг от меня был аж в 2008-2009 году http://forum.boolean.name/showthread.php?t=6284 (он так и лежит http://code.google.com/p/enesea/), а дальше я устроился работать в Tatem Games. Много чего повидал, много чего наделал, с 2009 года я проектировал\писал in-house движок, он пережил полный рефакторинг в конце 2011 года.
Глядя на все движки под мобильные платформы, понимаешь всю их ущербность, особенно всяких кокосов и корон Потому было решено попробовать свои силы на поприще 2д движков. Вышло довольно не плохо в итоге. Но наш двигло и 3д умеет. Showcase пока не имеет выпущенных проектов, но в течении 6 месяцев выйдет социальная 3д игра на нём ( http://www.tuaw.com/2012/03/13/tatem...-gym-and-more/) и 2д квест.
А теперь история : in-house технология идет в опен сорс
https://github.com/tatemgames/tatengine
Что внутри ? Довольно высоко технологический ящик плюшек ! Претендент на один из самых мощных 2д движков для мобильных игр. - Pure aggregation scene graph (http://cowboyprogramming.com/2007/01...your-heirachy/) и редактор к нему.
- Constant size design, aka полное отсутствие каких либо аллокаций памяти во время игры, только при загрузке уровня.
- Data oriented design, всё на пулах объектов.
- Data driven design, вы описываете в коде только классы контролёров объектов, а все инстансы создаются в редакторе.
- Baked render pipeline, оптимизация очереди рендера происходит в заранее
- Очень простой рендер, движку нужен всего 1-2 VBO и пара текстур, потому наш рендер очень упростился, сейчас поддерживается OpenGL, d3d9 рендер в разработке ( для wp8 ).
- Content pipeline, создание атласов, подсчёт AABB для заскиненых моделей и тд, всё происходит в оффлайне отдельной тулзой, а игра представляет собой просто минимальный плеер подготовленного контента.
- Photoshop content pipeline, сделали интерфейс и лень его нарезать и вставлять ? Просто вставьте его в игру в три клика. Экспортёр и импортёр уже в комплекте.
- FBX конвертер, самописный монстр на fbx sdk (кто юзал, тот знает), поддерживает скелетку, меши, процессинг uv, гибкий формат структуры вертексов и тд.
- И еще много чего.
Но сейчас SDK находится в alpha preview стадии, пишутся туториалы, пишутся семплы, поправляется код, выпиливаются костыли. В данный момент пока залиты бинарники тулзов только для win, в скором будущем будет и mac версия.
Так что прошу оценить пока то что есть
Последний раз редактировалось jimon, 23.11.2012 в 13:28.
|
|
|
Эти 19 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
devolonter (02.12.2012), Dzirt (23.11.2012), falcon (23.11.2012), ffinder (24.11.2012), FireOwl (25.11.2012), FREE MAN (19.01.2013), h1dd3n (26.11.2012), H@NON (24.11.2012), Harter (26.11.2012), HolyDel (23.11.2012), KCEPOKC (27.12.2013), moka (23.11.2012), mr.DIMAS (24.11.2012), Mr_F_ (23.11.2012), pax (23.11.2012), Phantom (02.09.2013), Program23 (25.11.2012), SBJoker (23.11.2012), Taugeshtu (25.11.2012)
|
23.11.2012, 07:34
|
#2
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: TatEngine
понимаешь всю ихнюю ущербность
|
если не ошибаюсь, то правильно будет "их", а "ихнюю" не правильно.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.11.2012, 11:14
|
#3
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: TatEngine
Constant size design, aka полное отсутствие каких либо аллокаций памяти во время игры, только при загрузке уровня.
|
если у меня игра какая-нибудь ртс с заранее неизвестным числом юнитов? выделять память по максимуму?
|
(Offline)
|
|
23.11.2012, 12:31
|
#4
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: TatEngine
Появился повод снова ковырять С++
С масштабирование что-то не то.. точнее наверное с прорисовкой
http://f3.s.qip.ru/etSMyDPQ.png
UPD: пока ничего не понятно, буду следить, читать мануалы и примеры смотреть)
UPD2: было бы клево сортировать ноды по категориям, еще бы нужной фичей было бы перемещение страницы с нодами мышкой. А вращение не в кватернионах задавать никак?)
UPD3: После билда тестовое окно с инфой очищается, так надо? Было бы клево иметь пункт в меню WorldEditor'а - Recent Projects
|
(Offline)
|
|
23.11.2012, 13:13
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: TatEngine
Отдельно вопрос хотел задать - поддержка разных разрешений экранов каким образом будет?
UPD: Туторы прочитал, хочу еще!
|
(Offline)
|
|
23.11.2012, 13:45
|
#6
|
|
Ответ: TatEngine
Сообщение от HolyDel
если у меня игра какая-нибудь ртс с заранее неизвестным числом юнитов? выделять память по максимуму?
|
Мы не зря долго сидели и всё продумывали, представь, да, выделять по максимуму, но юниты очень дешевые получаются, думаю до 500-1000 байт на юнит. И самое интересное - нет ситуации где надо было бы выделять, максимум надо стримить геометрию и текстуры, но ведь это же не аллокация памяти.
Есть такое
UPD2: было бы клево сортировать ноды по категориям, еще бы нужной фичей было бы перемещение страницы с нодами мышкой. А вращение не в кватернионах задавать никак?)
|
Там сама сцена для удобства имеет страницы (последняя закладка в редакторе), между ними можно перемещать ноды с помощью пункта в тулзах. Да, добавлю эдитор для углов эйлера, но и с кватернионами хорошо
UPD3: После билда тестовое окно с инфой очищается, так надо? Было бы клево иметь пункт в меню WorldEditor'а - Recent Projects
|
Там два текстовых окна, одно выводит информацию про Bake стадию (Ctrl + B если отдельно надо), если она завершается без ошибок то окно закрывается и открывается окно запуска приложения (Ctrl + Alt + R)
Отдельно вопрос хотел задать - поддержка разных разрешений экранов каким образом будет?
|
Хороший вопрос, с приходом в iOS аж 4 ppi, стало понятно что 4 раза рисовать графику просто не реально, а под Андроидом их еще больше, потому было решено рисовать графику интерфейса под самое большое разрешение экрана (сейчас 2048 * 1536), а потом только даунскейлить.
Автоматический даунскейл делается вот этой штукой :
К ней просто аттачится куча трансформов для каждой крайней точки, и она каждой точке задает размер и позицию.
Основной проблемой даунскейла раньше были шрифты, но мы заюзали distance field fonts ( http://www.youtube.com/watch?v=CGZRHJvJYIg) и с его помощью можем одной текстурой 512*512 (или 256*256) покрыть вообще все размеры гарнитуры.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
23.11.2012, 14:15
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: TatEngine
А что-то типа встроенных эффектов частиц и т.п. планируется?
|
(Offline)
|
|
23.11.2012, 14:23
|
#8
|
|
Ответ: TatEngine
Сообщение от pax
А что-то типа встроенных эффектов частиц и т.п. планируется?
|
Я в идеале заюзал бы какие нибудь готовые частицы, но сейчас получается что проще их самому написать отдельно для каждого проекта, так что пока хз. В двигло хорошо вставлялись magic particles, но автор не хочет раскрывать код плеера своих партиклов.
|
|
|
23.11.2012, 18:26
|
#9
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: TatEngine
клевая техника.
а как вы текстуры для нее генерите? отдельной утилитой или в рантайме?
|
(Offline)
|
|
23.11.2012, 19:16
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: TatEngine
А бенчмарки какие-то делали, сравнения производительности, и выжимали нагрузку на разных платформах / девайсах - что выдаёт?
|
(Offline)
|
|
23.11.2012, 19:43
|
#11
|
|
Ответ: TatEngine
Сообщение от HolyDel
клевая техника.
а как вы текстуры для нее генерите? отдельной утилитой или в рантайме?
|
генерим шрифт размером 8192*8192 с помощью BMFont, а дальше в сдк есть Tools/DistanceField тулза которая превращает текстуру в картинку 512*512
А бенчмарки какие-то делали, сравнения производительности, и выжимали нагрузку на разных платформах / девайсах - что выдаёт?
|
Синтетика пока только предстоит, но в общем 3д социалочку с 200+ объектами держит
|
|
|
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
24.11.2012, 05:29
|
#12
|
|
Ответ: TatEngine
залил туториалы по Lua скриптам и базовому нативному программингу
|
|
|
Эти 5 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
24.11.2012, 12:13
|
#13
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Ответ: TatEngine
интересно, буду следить
|
(Offline)
|
|
25.11.2012, 19:25
|
#14
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Ответ: TatEngine
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:01.
|