forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   Defold Engine (http://forum.boolean.name/showthread.php?t=20056)

ant0N 25.10.2015 23:02

Defold Engine
 
В общем случайно набрел на этот движок. Поковырявшись немного, был приятно удивлен удобностью, простоте и функциональностью этого движка.

особенности:
- развертывание в один клик на iOS, Android, HTML5, Mac OS X, Windows и Linux
- программирование на lua
- удобная среда, включающая в себя: редактор кода с подсветкой и автодополнением, визуальный редактор физики, редактор эффектов и кучу других утлит
- визульный профайлер и вэб профайлер
- встроенная система контроля версий
- возможность работать одновременно над одним проектом до 5 человек бесплатно
наверное еще много чего есть.

Все завязано на компонентах как в этом вашем юнити
В целом движок выглядит профессионально, хотя находится в бэте.

Кто-нибудь еще щупал его?


Nerd 25.10.2015 23:08

Ответ: Defold Engine
 
Цитата:

Сообщение от ant0N (Сообщение 300838)
- программирование на lua

Фу.

ant0N 26.10.2015 00:17

Ответ: Defold Engine
 
И к чему ты? Не в силах промолчать, когда нечего сказать?

Nex 28.10.2015 11:10

Ответ: Defold Engine
 
Цитата:

- программирование на lua
Луа медленный. Или ты только тетрисы будешь делать?

Nerd 28.10.2015 14:06

Ответ: Defold Engine
 

Цитата:

Сообщение от Nex (Сообщение 300924)
Луа медленный.

Нет. Луа - самый шустрый среди скриптовиков. И для игровой логики производительность не особо важна.
Луа плох как язык. Там нет даже элементарного switch.

Mr_F_ 28.10.2015 14:44

Ответ: Defold Engine
 
Цитата:

Луа медленный. Или ты только тетрисы будешь делать?
авторы - king.com, соответственно на любое 2д казуалие в их духе можно расчитывать

ant0N 28.10.2015 14:52

Ответ: Defold Engine
 
Цитата:

Сообщение от Nerd (Сообщение 300931)

Луа плох как язык. Там нет даже элементарного switch.

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

Если вы говорите что он плох, вы хотя бы приведите аргументы, а то как-то не красиво себя выставляете.

moka 28.10.2015 15:24

Ответ: Defold Engine
 
Цитата:

Сообщение от ant0N (Сообщение 300838)
В общем случайно набрел на этот движок. Поковырявшись немного, был приятно удивлен удобностью, простоте и функциональностью этого движка.

Когда только о них услышал и увидел их сайт, думал что "збсь, что-то хорошее и новенькое".
Когда таки скачал и потрогал, испачкался, пришлось отмываться и разочаровываться.

Цитата:

Сообщение от ant0N (Сообщение 300838)
особенности:
- развертывание в один клик на iOS, Android, HTML5, Mac OS X, Windows и Linux

5.6Mb js кода на html5, это уже перебор для webgl движка.
Мобилкам такое никак не нравится.

Цитата:

Сообщение от ant0N (Сообщение 300838)
- программирование на lua

Фу.

Цитата:

Сообщение от ant0N (Сообщение 300838)
- удобная среда, включающая в себя: редактор кода с подсветкой и автодополнением, визуальный редактор физики, редактор эффектов и кучу других утлит

Честно сказать, после работы с разными движками и редакторами, этот показался очень не удобным и не нашел как бы единого места от куда все управляется. Все разбито на разные детали, нужно следовать очень их правилам по сущностям, создавать всякие коллекции и т.п.
В общем весь визуальный и технический дизайн слишком opninionated.

Цитата:

Сообщение от ant0N (Сообщение 300838)
- визульный профайлер и вэб профайлер

Это хорошо что есть, т.к. многим движкам хорошего профайлера с remote поддержкой часто не хватает.

Цитата:

Сообщение от ant0N (Сообщение 300838)
- встроенная система контроля версий

Я бы не называл это контролем версий. Там мало контроля над механикой. По сути есть master branch, и все локально работают над своим branch'ем, время от времени синхронизируясь. Той гибкости как у git или mercurial для контроля версий и workflow, defold не предоставляет.

Цитата:

Сообщение от ant0N (Сообщение 300838)
- возможность работать одновременно над одним проектом до 5 человек бесплатно

Одновременно - это ты о чем? Defold ничем не отличается от того же Unity, где каждый работает над локальной версией, и время от времени merge'ится. Вообще не вижу зачем даже ограничивать с таким образом работы размер команды.
Вот если бы у них была бы real-time collaboration - это совсем другое дело, но такая фича есть вообще в мире у лишь пары движков - по пальцам пересчитать.

Цитата:

Сообщение от ant0N (Сообщение 300838)
Все завязано на компонентах как в этом вашем юнити
В целом движок выглядит профессионально, хотя находится в бэте.

Кто-нибудь еще щупал его?

Сайт выглядит на самом деле вкусно.
А вот редактор выглядит как 2005 год. И профессиональным я бы его не назвал.
Дизайн и UX видно игнорировались и редактор разрабатывается сугубо разработчиками, без знаний в дизайне и UX.
Многие вещи слишком ограничены, и нужно строго следовать диктовке правил поведения в движке.
Редактор не очень удобный, многие вещи не интуитивные.
html5 таргет страдает теми же проблемами как и unity - большой JS код, один архив с ресурсами (нету кеша, не платформо-дружелюбные ресурсы, и т.п.).

Короче говоря, ожидалось в разы больше, тем более за ними стоят king.com.

ant0N 28.10.2015 16:36

Ответ: Defold Engine
 
Цитата:

Сообщение от moka (Сообщение 300934)
5.6Mb js кода на html5, это уже перебор для webgl движка.
Мобилкам такое никак не нравится.

ну html5 не очень, согласен


Цитата:

Сообщение от moka (Сообщение 300934)
- программирование на lua
Фу.

уж от тебя ожидал реальных аргументов :( . А фукать каждый дурак может.

Цитата:

Сообщение от moka (Сообщение 300934)
Честно сказать, после работы с разными движками и редакторами, этот показался очень не удобным и не нашел как бы единого места от куда все управляется. Все разбито на разные детали, нужно следовать очень их правилам по сущностям, создавать всякие коллекции и т.п.

он просто непривычен, но после прочтения мануалов все становится вполне разумным и удобным.

Цитата:

Сообщение от moka (Сообщение 300934)
Я бы не называл это контролем версий. Там мало контроля над механикой. По сути есть master branch, и все локально работают над своим branch'ем, время от времени синхронизируясь. Той гибкости как у git или mercurial для контроля версий и workflow, defold не предоставляет.

ну там есть вариант прикрутить свой, но для создания простых игр маленькой командой (1-5 чел) этого вполне достаточно и не надо лишних телодвижений.

tirarex 28.10.2015 18:36

Ответ: Defold Engine
 
Получил инвайт , загрузил редактор , залогинился в гугл аккаунте в редакторе! , сбилдил семпл с картинкой под андроид - апк весит 7мб...

moka 28.10.2015 19:16

Ответ: Defold Engine
 
Цитата:

Сообщение от ant0N (Сообщение 300937)
уж от тебя ожидал реальных аргументов :( . А фукать каждый дурак может.

lua как скриптовой язык, может и хорошо. В нем "ок" выражать логику поведения в весьма изолированном пространстве.
Но строить сложные системы - на самом деле весьма не просто.
От языка требуется серьезная производительность и гибкость.
Они компилируют lua скорее всего в машинную репрезентацию, нежели интерпретируют в рантайме.
Нужен конечно единый язык, но lua это далеко не лучший выбор для полноценного языка платформы. Как скрипты - норм, как основной язык - нет.

Цитата:

Сообщение от ant0N (Сообщение 300937)
он просто непривычен, но после прочтения мануалов все становится вполне разумным и удобным.

Я понял концепции и абстракции, они весьма простые.
Просто я не понимаю зачем они изобрели эти весьма ограничивающие концепции на самом деле. Пытаясь изобрести велосипед, они лишь создали дополнительные ограничения.

Цитата:

Сообщение от ant0N (Сообщение 300937)
ну там есть вариант прикрутить свой, но для создания простых игр маленькой командой (1-5 чел) этого вполне достаточно и не надо лишних телодвижений.

Согласен что иметь хоть что-то из коробки - лучше, чем ничего.
Но любой нормальный проект таки будет использовать git/mercurual в итоге.
Если они делают свою систему контроля версий, то она должна быть не только гибкой, но и реально превосходить в данном контексте альтернативы. Иначе могли бы тупо позволить логиниться github аккаунтом, и просто создавать репозиторий у пользователя, такой вариант по сути ничем не отличается от того что они изобрели, и при этом позволяет пользователю иметь полный контроль.

Randomize 30.10.2015 05:09

Ответ: Defold Engine
 
Цитата:

Сообщение от ant0N (Сообщение 300933)
луа наоборот хорош, как язык для программирования логики.

Синтаксис страшненький:
Код:

true ~= false -- Не равно
map# -- length таблицы
"Вальтрон" .. "слияние" -- конкатенация строк

local t = {1, 2, 3, 4}
for i = 1, #t, 1 do -- Перебор "таблицы"
    print(t[i])
end

Ну и нет поддержки юникода из коробки.

ant0N 30.10.2015 13:00

Ответ: Defold Engine
 
Цитата:

Синтаксис страшненький:
чем он страшен то? Наоборот синтаксис наиболее приближен к человеческому языку.

Цитата:

true ~= false -- Не равно
не понял, что ты имеешь ввиду

Цитата:

map# -- length таблицы
вообще-то #map.
И что тебе не нравится? то что так просто?

Цитата:

"Вальтрон" .. "слияние" -- конкатенация строк
мда, непростительный косяк. Фу таким быть!

Цитата:

for i = 1, #t, 1 do -- Перебор "таблицы"
print(t[i])
end
Что здесь не нравится?
Можно еще и так:
Код:

for key, value in ipairs(t) do -- Перебор "таблицы"
    print(key..value)
end

Цитата:

Ну и нет поддержки юникода из коробки.
Уже есть. в луа 5.3

moka 30.10.2015 13:04

Ответ: Defold Engine
 
Ну если сравнивать с привычными и популярными языками, то lua кажется необоснованно "другим".
Даже то как python отличается от многих популярных языков, кидается в глаза, а lua так еще больше тут выделился.
Зачем, не сильно то и ясно :)

ant0N 30.10.2015 13:22

Ответ: Defold Engine
 
Цитата:

Зачем, не сильно то и ясно
Для простоты видимо. Не возможно было бы создать настолько простой и гибкий язык, пытаясь придерживаться других.
Луа минималистичен, в нем из структур есть только таблицы, но они сделаны так, что могут заменить практически все основные в других языках.

moka 30.10.2015 13:34

Ответ: Defold Engine
 
Цитата:

Сообщение от ant0N (Сообщение 300987)
Для простоты видимо. Не возможно было бы создать настолько простой и гибкий язык, пытаясь придерживаться других.
Луа минималистичен, в нем из структур есть только таблицы, но они сделаны так, что могут заменить практически все основные в других языках.

Чем например JS уступает LUA в гибкости?

St_AnGer 30.10.2015 13:43

Ответ: Defold Engine
 
Цитата:

Сообщение от ant0N (Сообщение 300987)
Для простоты видимо.

Для простоты? Што? Может быть он кому то и покажется "простым", но человеку хотя бы пытавшемуся писать на других языках будет не очень просто освоить его. Расскажу на своём примере.
Я с ума чуть не сошёл когда меня, вместо нормальных человеческих выражений вроде array.length, пытались привязать к #array. Что за решётка? Что она значит? Код превращается в нечитаемый набор символов. Далее.
A ~= B - лично я тут вижу что A приблизительно равно B. Зачем такие сложности? Даже в бейсике было понятнее: A <> B. Далее.
Одним из плюсов считается "динамическая типизация". Да с ума с ней может сойти человек, который маломальски разбирается в программировании и точно знает что цифра - это цифра и она должна быть цифрой, и работать с ней надо как с цифрой. А когда у тебя внезапно сравнение двух одинаковых переменных возвращает false просто потому, что одна ВНЕЗАПНО оказалась строкой, а другая числом - полнейшний вынос мозга.
Я после бейсика сразу скаканул на C и C++ и я мог читать код программы (объектом мучений выбрал idTech 2, читал его не без трудностей естественно, но довольно свободно). Когда меня один товарищ попытался подсадить на Луа и дал мне кусок кода, то я (человек свободно читающий Asm, C, Basic, pascal, php и js) не смог понять нифига из за набора каких то странных символов, которые вообще непонятно что означают (читай выше про #). Да блин, язык в 1с куда более "человечный" и понятный чем Луа.
Я не говорю что Луа это плохо. Наоборот, это мощный скриптовый язык дающий крутые возможности! Но называть его синтаксим "простым" - лично я считаю грубой ошибкой.

ant0N 30.10.2015 14:32

Ответ: Defold Engine
 
Цитата:

мока Чем например JS уступает LUA в гибкости?
к сожалению не знаком я хорошо с js, помню лишь то что js и lua очень похожи, только в js много скрытых заморочек, всякие prototype, еще что-то со сравнением nul и false помню (когда-то они равны, а когда нет).
Не помню, в JS таблица может содержать любые элементы (ф-ии, таблицы...)?


Цитата:

St_AnGer Для простоты? Што? Может быть он кому то и покажется "простым", но человеку хотя бы пытавшемуся писать на других языках будет не очень просто освоить его. Расскажу на своём примере.
Я с ума чуть не сошёл когда меня, вместо нормальных человеческих выражений вроде array.length, пытались привязать к #array. Что за решётка? Что она значит? Код превращается в нечитаемый набор символов. Далее.
A ~= B - лично я тут вижу что A приблизительно равно B. Зачем такие сложности? Даже в бейсике было понятнее: A <> B. Далее.
Твои претензии на уровне - "я ничего не знаю о языке, но я не могу на нем писать". Прочитай "lua за 15 минут" и будут тебе счастье.

Цитата:

St_AnGer не смог понять нифига из за набора каких то странных символов, которые вообще непонятно что означают (читай выше про #)
в луа только один сокращенный символ - # (не считая стандартных знаков сравнения). Остальное все простыми английскими словами, ЧТО СЛОЖНОГО? Ты нигде не мог узнать что означает этот символ? Тем более что ты знаешь JS, то после прочтения самых азов по синтаксису, ты должен шпрэхать на луа как на своем родном.

какая же ужасная система цитирования на булке, неужели за столько лет нельзя было переделать?

ant0N 30.10.2015 14:57

Ответ: Defold Engine
 
Цитата:

Nerd Metatables в Lua на фоне этого дела выглядит как ужаснейший костыль
на фоне чего? и причем тут метатаблицы и таблицы? Ты как всегда, лишь бы ляпнуть без каких-либо аргументов.
Приведи пример как в других можно без костыля, а в луа только с костылем.

--------------------------------------------------------------------------------

Забаньте этого чудо-кота, что-ли. Нахер подчищаешь за собой постоянно? Что за неуважение к пользователям

moka 30.10.2015 15:15

Ответ: Defold Engine
 
В JS у object'а, key - строка, а value может быть чем угодно: другим объектом, функция, числа, строки, регулярки, массивы и т.п.
На то и JSON так удобен.


Часовой пояс GMT +4, время: 11:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot