![]() |
TatEngine
Предыстория :
А теперь история : in-house технология идет в опен сорс :crazy: https://github.com/tatemgames/tatengine Что внутри ? Довольно высоко технологический ящик плюшек ! Претендент на один из самых мощных 2д движков для мобильных игр.
Но сейчас SDK находится в alpha preview стадии, пишутся туториалы, пишутся семплы, поправляется код, выпиливаются костыли. В данный момент пока залиты бинарники тулзов только для win, в скором будущем будет и mac версия. Так что прошу оценить пока то что есть :crazy: |
Ответ: TatEngine
|
Ответ: TatEngine
Цитата:
|
Ответ: TatEngine
С масштабирование что-то не то.. точнее наверное с прорисовкой http://f3.s.qip.ru/etSMyDPQ.png UPD: пока ничего не понятно, буду следить, читать мануалы и примеры смотреть) UPD2: было бы клево сортировать ноды по категориям, еще бы нужной фичей было бы перемещение страницы с нодами мышкой. А вращение не в кватернионах задавать никак?) UPD3: После билда тестовое окно с инфой очищается, так надо? Было бы клево иметь пункт в меню WorldEditor'а - Recent Projects |
Ответ: TatEngine
Отдельно вопрос хотел задать - поддержка разных разрешений экранов каким образом будет?
UPD: Туторы прочитал, хочу еще! |
Ответ: TatEngine
Вложений: 1
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Автоматический даунскейл делается вот этой штукой : Вложение 18106 К ней просто аттачится куча трансформов для каждой крайней точки, и она каждой точке задает размер и позицию. Основной проблемой даунскейла раньше были шрифты, но мы заюзали distance field fonts (http://www.youtube.com/watch?v=CGZRHJvJYIg) и с его помощью можем одной текстурой 512*512 (или 256*256) покрыть вообще все размеры гарнитуры. |
Ответ: TatEngine
А что-то типа встроенных эффектов частиц и т.п. планируется?
|
Ответ: TatEngine
Цитата:
|
Ответ: TatEngine
Цитата:
а как вы текстуры для нее генерите? отдельной утилитой или в рантайме? |
Ответ: TatEngine
А бенчмарки какие-то делали, сравнения производительности, и выжимали нагрузку на разных платформах / девайсах - что выдаёт?
|
Ответ: TatEngine
Цитата:
Цитата:
|
Ответ: TatEngine
залил туториалы по Lua скриптам и базовому нативному программингу
|
Ответ: TatEngine
интересно, буду следить
|
Ответ: TatEngine
|
Ответ: TatEngine
хым, залил на virustotal, ничего нет, так что проверь свой exe'шник по md5, вполне возможно троян у тебя на компе
ps. https://www.virustotal.com/file/0167...is/1353855652/ |
Ответ: TatEngine
я уже удалил,
дождусь лучше версии, где не будет глючить прорисовка рабочей области а пока проверю комп полностью |
Ответ: TatEngine
|
Ответ: TatEngine
Цитата:
|
Ответ: TatEngine
Почитал новые туторы и взглянул на редактор еще раз. Оказывается нету проверки типов входов и выходов при соединении, было бы очень клево ее добавить, а то получается что можно назначить что хочешь, куда хочешь... |
Ответ: TatEngine
выложил тулзы под макось, разработка проектов и движка потихоньку переходит на опенсорс репозиторий, showcase дорос до 9 комерческих проектов, но большинство пока под NDA :( надеюсь скоро появится время продолжить серию базовых туториалов и сделать демо проект
|
Ответ: TatEngine
как дела у движка и какие на нем выпущены проекты под какие платформы? будут ли новые туторы, желательно по всем доступным компонентам движка.
вобщем тему надо обновить :) |
Ответ: TatEngine
Цитата:
была куча проектов не под издательство : презентации, конференции и тд, и так же всякие поделки которые не вылились в нечто более серьезное в основном в движке более менее всё обкатано, но нашлись некоторые очевидные проблемы с тулсетом : он неудобный в некоторых случаях мы собрали большой опыт в разных use cases с разными движками и хотим сейчас их систематизировать в универсальном тулсете - llgm (аналогия с llvm - low-level game machine), основная идея в том что WYSIWYG для игр работают не достаточно хорошо, например задача : вставьте 500 анимаций и назначьте их разным объектам, нужно еще поискать редактор в котором это будет удобно делать, и задавшись целью написать тулсет которым хочется пользоваться мы погрузли в R&D в основном за всю историю IT самые сложные и разнообразные use cases были в редакторах текста, люди придумали очень мощные инструменты для редактирования текста : latex, vim, regexp, etc, потому мы решили использовать текстовое представление как основное, сделать некий markup language для игр за основу markup language мы взяли qml (http://en.wikipedia.org/wiki/QML) - json подобный язык на котором внезапно удобно писать, declarative + reactive programming + scripting, и перекраиваем его для нужд realtime, назвали его game markup language - GML оно выглядит примерно так : Код:
material сейчас изучаем использование этого языка, некоторые вещи делаются очень быстро в тексте, некоторые вещи делаются очень наглядно в unity-style редакторе, а некоторые возможно сделать только в excel (вставка 500 анимаций), представление в виде objects with properties позволяет легко переходить из одного вида в другой и обратно плюс разрабатываем универсальный тулсет в которой плагинами можно встроить все что угодно, и продвигаем систему кеширования через весь тулсет, те если мы поменяли только позицию спрайта то бейкинг лайтинга не вызовется, плюс спрайт подвинется в движке моментально, потому что движок будет подключен к тулсету по сети основной фишкой llgm мы стараемся сделать абсолютную универсальность и простоту - GML будет полностью schema-driven без хардкода каких либо имен или структуры, потому можно будет подстроить тулсет под ваш движок, или вообще делать импорт\экспорт из существующих движков по самому движку tatengine : есть планы по его рефакторингу, нужно обновить тулзы по работе с ide, добавить task-driven многопоточность, вынести геймлогику в скрипты и тд так и не решили пока с гуи, возможно declarative + reactive programming упростит создание гуи (в QML оно достаточно просто делается), но это пока только догадки, production бывает ломает любые догадки =) возможно попробуем тупо встроить chrome чтобы забыть наконец-то о гуи ps. дальше еще будет =) |
Ответ: TatEngine
Какие преимущества у GML над JSON'ом?
|
Ответ: TatEngine
Цитата:
разделителем может быть : или , или ; или его вообще может и не быть например : Код:
// gml Код:
[ например : Код:
script так же в schema-driven будет много экспериментальных вещей : lazy types, lazy nested objects, lazy scripts и тд, но это не относится к синтаксису языка например : Код:
/* сам объект sprite по schema требует чтобы к нему был присоединен объект типа transform, у sprite для этого есть дефолтное поле с именем transform которое принимает ссылку (bind в терминологии qml) на объект с типом transform */ |
Ответ: TatEngine
Цитата:
Код:
sprites: [ Цитата:
Да и любая попытка "упростить" требует создание каких либо механик, а они в 90% не оправдываются продакшаном и имеют ограничения. Которые в итоге вынудят других разрабатывать свои велосипеды. Те же schem'ы, всегда имели % разрабов их не уважающих. |
Ответ: TatEngine
Цитата:
плюс опять же - комментариев нету, добавь их и твой файл никто не сможет распарсить, что уже не json а в случае если ты хочешь описать все спрайты с помощью одного массива то получается что тебе нужно добавлять новые спрайты только в этот массив, что не удобно, можно тогда сделать объект "entity" и там уже делать спрайты и тд, получится ровно то что сейчас в юнити основной минус такого подхода - слишком большая сложность и громоздкость, json представление мы делали в tatengine, и единственным плюсом был рабочий merge в системах контроля версий :crazy: формат оказался хоть и читабельным, но писать его руками не хотелось Цитата:
2) разметка с reactive programming взлетает для самописного кода, так же как html взлетает с nested js, nested css и прочим nested которое можно разместить в теле html файла Цитата:
Цитата:
Цитата:
если ты имеешь ввиду "напиши schema для своего же кода" - то нет, с тулсетом будет поставляться дефолтная schema gml с абстракциями уровня примитивов рендера, камеры, трансформов, материалов, скриптов и тд, но сам тулсет будет schema-driven, в чем смысл ? в том что в случае большой необходимости можно поменять schema на свою, например для движков где 3д камеры нету, а трансформам Z позиция не нужна потому для обычного обывателя schema по началу вообще будет не доступна - он о ней даже знать не будет, кроме как из ошибок компиляции =) а нужно это всё чтобы можно было тулсет внедрить в любой движок как промежуточное представление, раньше для этого хотели использовать collada, но её не очень то и удобно писать руками, и дальше промежуточного формата моделей она не сильно ушла из-за слабого тулсета |
Ответ: TatEngine
Цитата:
|
Ответ: TatEngine
Цитата:
http://msdn.microsoft.com/en-us/libr...v=vs.105).aspx http://msdn.microsoft.com/en-us/libr...v=vs.105).aspx |
Ответ: TatEngine
Если у меня есть рендер написанный с d3d9 то мне всеравно его придется переписать через интерфейсы d3d11, или там можно из d3d11 получить интерфейс для d3d9 и не менять основную часть кода?
|
Часовой пояс GMT +4, время: 14:08. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot