Haxe.png31 Кб, 800x1092
Haxe 582327 В конец треда | Веб
В этом треде мы разрабатываем игры на haxe, а так же обсуждаем какие движки и фреймворки лучше всего подходят для этих целей нет, не юнити.

Haxe — это современный, строго типизированный язык программирования с некоторыми интересными функциями и небольшой стандартной библиотекой.

Наиболее существенной особенностью языка является его способность компилировать один и тот же код под разные целевые платформы.

Ниже приведу список лишь некоторых доступных фреймворков и движков, возможно упустил что то важное.

Flambe использовался для разработки HTML5-игр такими брендами, как Disney, Coca-Cola и Toyota.
Heaps — игровой 3D/2D фреймворк, лежащий в основе таких успешных инди-игр как Northgard и Dead Cells.
Библиотека для быстрой разработки awe6 является, возможно, скрытой жемчужиной даже для сообщества Haxe.
Kha — ультра-переносимый мультимедийный фреймворк, с возможностью сборки проектов не только десктопных и мобильных ОС и HTML5, но и под XBox One, Nintendo Switch и Playstation 4. На его основе создано более 20 игровых движков, наиболее интересным из которых является Armory — 3D-движок с полной интеграцией с Blender.
HaxeFlixel, созданный по образцу старого Flash-движка Flixel, является популярным выбором для создания небольших игр, например, для Defender's Quest.
Starling — изначально ActionScript-фреймворк, использовавшийся для порта Angry Birds для Facebook, теперь также обзавелся портом на Haxe.
OpenFL, реализующий Flash API, также позволяет создавать приложения для консолей (PlayStation 4, PlayStation Vita, XBox One и Nintendo Switch), десктопных и мобильных ОС, HTML5. HaxeFlixel и порт Starling работают поверх OpenFL. Примером игры, разработанной непосредственно на OpenFL, является отмеченная наградами Papers, Please.
Native Media Engine (NME), от которого несколько лет назад отделился OpenFL, продолжает поддерживаться и для него выпускаются обновления.
HaxePunk (произошел от еще одного Flash-движка — FlashPunk) — возможно вы могли видеть упоминание о нем в одном из выпусков Github Release Radar.
2 582331
Язык достаточно простой, если знаешь например Java или C#, то выучить его будет не проблема. Да даже если только javascript, lua или python знаешь, то привыкать будешь недолго.
3 582332
Тащем то Kha мне показался удобней того же Monogame. Не нужно бороться с системой сборки.
Если что Kha можно учить на ютубе https://www.youtube.com/playlist?list=PL4neAtv21WOmmR5mKb7TQvEQHpMh1h0po
На данный момент там 127 серий. Правда на инглише.
4 582647
Ищу движок для html5 игр, но с возможностью сборки под ios/android пока остановился на cocos creator но также интересно может на haxe что мне подойдет? Нужно чтоб размер билда получался <= 1мб ну либо незначительно больше. Если в html5 будет не только в webgl уметь но и canvas рендер, то вообще шикарно.
Есть что из перечисленного выше, что мне стоит покурить?
5 582648
>>582647
Размер билда важен только для html5 соответсвенно
6 584561
>>582327 (OP)
Недеюсь ОП еще здесь.
Давно хотел спросить, но все не находил времени. Есть идея отличной концепции игрушки. Для реализации приложение должно запускаться на планшетах, смартфонах и ноутбуках (возможно с линуксом, но не обязательно).
Ищу самый простой язык для написания. Планирую генераторы, пиксельную графику, ничего прожорливого. Подумавал о варианте AIR + AS. Но то что ты описал, похоже, подходит лучше.

Можешь подробней описать процесс разработки? Какую среду можно использовать для кодинга, как это сочитается с фреймворками и движками? Интеграция с GIT? Общее удобство? Какой из фреймворков максимально прост в освоении и дает максимум свободы кода одновременно с простотой? И что проще всего запустить на описанных платформах?
7 639454
sudo apt INSTALL HAXE
8 639456
Читаю документацию и сразу же первый вопрос. Чем этот нах лучше сишарпа? Вместо дотнета у него неко. Чем неко лучше дотнета?
9 639461
>>639456
мультиплатформа. дотнет на сайте не запустишь.
10 639463
чу, решил на пробу языка сделать ремейк final fantasy 1 (ну точнее ресы выдрать). посмотрю как оно будет по сравнению с юнити.
11 639465
>>639461
Как оно там, в 2004 году?
12 639483
>>639465
нативная javascript против всякой неведомой херни которую нигде толком не задокументировали
13 639484
>>639456

>Чем этот нах лучше сишарпа? Вместо дотнета у него неко. Чем неко лучше дотнета?


вообще у тебя неверное понимание.

дотнет - это универсальная единая платформа. как джава машина. Их проблема - что это именно абстрактная машина далекая от текущей платформы.. и как бы ее не оптимизировали, почему юнити компилируется не в байт код нетплатформы а в нативный C++? вот потому что нативное эффективней универсальнго.

неко - это не платформа, а компилятор.

naxe - это про другое - это как бы один универсальный язык программирования который транслируется в нативные яп.

Ты не можешь написать код на C#, нажать кнопку и получить код на php.

А вот написать код на naxe и получить код и для php и для С++ - можешь. Вот она сила данного языка.
14 639486
>>639484

> неко - это не платформа, а компилятор.


Это виртуалка с байткодом. Возможно её байткод более специфичен для игор, чем дотнетовский? Я это хочу узнать.

> Вот она сила данного языка.


Я это уже понял.
15 639488
>>639484
Из этой силы вытекает второй вопрос: как там отладка организована? Отлаживать код на нахе я не смогу? Мне придётся отлаживать, скажем выполняющийся в хроме жс? А потом по сообщениям отладчика переводить жс в уме обратно в нах и править ошибки в исходном нахе? Или как вообще?
изображение.png60 Кб, 996x606
16 639491
>>639486
неко - это всего лишь одна из целевых платформ.

naxe используется именно как транслятор кода, который потом компилируется нативным компиляторм.
Например можно транслировать в C# и использовать дотнет (вот даже ссылка https://haxe.org/documentation/platforms/csharp.html)

>>639488

>Отлаживать код на нахе я не смогу?


Можно, но надо повозится с настройками. отладчик есть в Visual Studio Code. не подскажу, сам пока не пробовал.

>>639488

>А потом по сообщениям отладчика переводить жс в уме обратно в нах и править ошибки в исходном нахе?


ты работаешь только с naxe кодом. Все эти трасляции - они там в черном ящике происходят, можно не парится
(хотя конечно можно использовать и как кодогенератор чтобы потом уже на нативном языке использовать - как хочешь короче)
17 639492
>>582647
Не на Haxe, но можешь глянуть superpowers engine. Самое близкое и подходящее к твоему описанию, что я знаю.
18 668079
>>584561

>Можешь подробней описать процесс разработки?



Ну давай попробуем.

>Какую среду можно использовать для кодинга



HaxeDevelop или VSCode. Первое развивается с переменным успехом силами 1.5 человеков, 2-е развивается мелкософтом, с Haxe работает через расширение. Оба надо брать и пробовать все фичи и выбирать, какие в итоге более удобные в работе.

> как это сочитается с фреймворками и движками?



Зависит от. Где-то template-проект конкретно фреймворка делается одной кнопкой, где-то надо руками все настраивать.

>Интеграция с GIT?



git init
git add remote
git push

>Общее удобство?



Удовлетворительно-хорошо

>Какой из фреймворков максимально прост в освоении



Очевидный OpenFL. Но это в первую очередь фреймворк, а не игровой движок

>максимум свободы кода одновременно с простотой



Противоречит сути понятия фреймворк. Хочешь свободы - пишешь весь код сам с нуля под целевую платформу. Хочешь простоты - используешь готовые решения в рамках созданной архитектуры

>И что проще всего запустить на описанных платформах?



Процесс тестирования и отладки зависит от платформы и может сильно варьироваться. Какой-то общий код можно спокойно дебажить прямо в IDE. А все, что platform-specific - ставить доп. дебагеры, подключать удаленную отладку и прочая менее-удобная возня.
18 668079
>>584561

>Можешь подробней описать процесс разработки?



Ну давай попробуем.

>Какую среду можно использовать для кодинга



HaxeDevelop или VSCode. Первое развивается с переменным успехом силами 1.5 человеков, 2-е развивается мелкософтом, с Haxe работает через расширение. Оба надо брать и пробовать все фичи и выбирать, какие в итоге более удобные в работе.

> как это сочитается с фреймворками и движками?



Зависит от. Где-то template-проект конкретно фреймворка делается одной кнопкой, где-то надо руками все настраивать.

>Интеграция с GIT?



git init
git add remote
git push

>Общее удобство?



Удовлетворительно-хорошо

>Какой из фреймворков максимально прост в освоении



Очевидный OpenFL. Но это в первую очередь фреймворк, а не игровой движок

>максимум свободы кода одновременно с простотой



Противоречит сути понятия фреймворк. Хочешь свободы - пишешь весь код сам с нуля под целевую платформу. Хочешь простоты - используешь готовые решения в рамках созданной архитектуры

>И что проще всего запустить на описанных платформах?



Процесс тестирования и отладки зависит от платформы и может сильно варьироваться. Какой-то общий код можно спокойно дебажить прямо в IDE. А все, что platform-specific - ставить доп. дебагеры, подключать удаленную отладку и прочая менее-удобная возня.
19 672617
>>668079
Лучше поздно чем никогда :3 Со многим уже разобрался пока было свободное время, а его к сожалению очень мало.
Освоил основной синтексис. Определился с VSCode. Разобрался с Git. Операционка кстати Windows 10. Начал было ковырять HeapsIO, но это чисто графический движок. А мне нужны бродкаст запросы для поиска игроков в локальной сети. То что нужно походу есть в OpenFL, так что в следующий отпуск наверну его. Ну и поищу графические библиотеки совместимые с ним. Все очень медленно, конечно, но я никуда не тороплюсь.
Спасибо за ответ в любом случае.
20 682617
тут вот говорят DeadCells целиком на Haxe писался
а еше чего нового появилось? чтобы понимать насколько production-ready это вот все
21 682675
>>682617
evoland 1 и 2 да и прочие продукты их конторы, какая-то там стратежка про викингов.

Да вроде хроники хаоса с флеша была переписана на haxe, но там у них свои велосипеды какие-то.
22 691164
bump
23 691183
>>682675
>>682617
Там документации нет вообще, я хз как это кучу дерьма использовать без документации.
24 691594
>>691183
документации полные штаны, ты куда смотришь-то вообще
плюс на гитхабе по Haxe искать можно, если что не понятно - берешь и смотришь как в других проектах делается
https://github.com/search?l=Haxe&q=openfl&type=Code
25 691621
>>691594
Это ты не туда смотришь.
Дедсел на heaps.io написан, практически единственный движок на haxe, который может в продакшн. И именно у него нет документации нормальной, хз как под него писать.
Если ты хочешь на haxe свой движок писать - документацию по haxe вообще нинужна.
26 691628
>>691621

> Дедсел на heaps.io написан


Ничеси, tnx. Надо поковырять,выглядит солидно

> Если ты хочешь на haxe свой движок писать


Ну есть куча вещей попроще уже готовых, есть флешовый старлинг из коробки я с флеша пересел на openfl+starling безпроблемно

на starling вообще до жопы готового на любую тему,либы под спайн итп
27 691638
>>691628

> Надо поковырять,выглядит солидно


Ну как сказать. Хорошая штука, но это не совсем движок и эти самые проблемы с документацией.
Непонятно всё с этим короче. Непонятно с тестированием по платформам. Я бы даже взял его, но да, всё слишком странно.

> starling


Че-то слишком специфично и узкий круг задач.
28 691641
>>691638

>Че-то слишком специфично и узкий круг задач


для 2D - с головой на нем смачный кусок флешового геймдева сидел. что удобно - API c флеша не поменялось ВООБЩЕ. просто тупой копипаст (с поправкой на синтаксис) - и все работает. даже шейдеры завелись сразу без изменений
29 691773
>>691641
Эх, а у меня триде срань. Везет в 2d работать
30 711529
Здарова бандиты, есть heaps'оводы? кому-нибудь удалось собрать нормально под андроид? (или может перспективе для меня ios)

под свои хотелки понял, что для меня подходит два движка, это heaps и defold. Но у дефолда более странный подход, со всякими сообщениями между объектами. Если прокт разрастется, думаю разработка превратится в ад. еще по умолчанию язык со статической типизацией выглядет намного бодрее, нежеле, прикручивать, что нибудь(тот же haxe) поверх lua в дефолде.

Но вот, что разрабы досихпор не написали туториал для сборки под андроид, меня немного пугает.
31 711713
>>711529
сборка под мобилки - это больше хаксовская тема, heaps это же просто фреймоворк. я к тому что посмотри OpenFLные туторы/на форуме пообщайся - там дофига народу под мобилки пилят
Screenshot2020-12-01-01-06-00-575com.example.testaplication.jpg34 Кб, 1080x2340
32 712337
>>711713
Ухх, вроде получилось с горем пополам. Два вечера убил на все это дело. Честно туторы мне вообще не помогли никакие, помог недоделанный репозиторий Николаса а также натуральное вангование ошибок в Logcat т.к. гугл молчал.
Если зайдет все это дело, нагатаю гайд чуть попозжа.
33 720325
язык нынче непопулярный у нас я вижу. когда-то в разработке был luxeengine, сейчас у него перспективы поменялись и автор решил в сторону с++ двинуть, хотя движок был очень интересным, особенно в совокупе со всеми snowkit утилитами. но есть одно НО. luxe будет поддерживать скриптинг на основе яп wren, который в свою очередь ну очень смахивает на haxe, разве что заточен под встраивание.

я какое-то время самолично игрался с языком, писал всякие штуки на openfl и luxe, сейчас думаю снова попробовать в геймдизайн с haxe.
34 723572
Хороший пост с описанием стэка технологий, которые в ходу у Shiro Games:
https://haxe.org/blog/shirogames-stack/
35 762982
некробамп полчаса скролил чтобы найти

тута запилили тулзу которая считает (плюс-минус криво) под какими движками работают стимовские игры
ht__//steamdb.info/tech/?beta=ohthehumanity 3

и что интересно - OpenFL (lime-based) на Haxe оказался в первой трети списка, сразу за Source. обогнал CryEngine и Defold, так-то
36 787829
>>762982

Бампану пикчей
37 788014
kha выглядит интересно и более понятно чем хипс, практически можно использовать. Но почему практически? я бы ожидал что у библиотеке уже был бы где-нибудь на гитхабе:
рендер spine и drag bones
интеграция текстур пакера
если 2д из коробки работает то хотелось бы видеть хоть в сторонних репах готовый 3д рендер, с поддеркой импорта популярных форматов.
То, что этого ничего нет готоврит о том, что никто особо не делал игры на данном фреймворке. Начать велосипедить все самому, до игр точно не доберешся.
sage 38 788026
>>788014

>spine и drag bones


Есть на haxelib.

>>788014

>готовый 3д рендер, с поддеркой импорта популярных форматов


heaps всё может, может грузить fbx
39 788039
>>788026
я про кха говорил, спайн есть только рантайм, самого рендера нету.
heaps своеобразный движок.
artlel-ru.png1,6 Мб, 1081x1920
40 842409
Давно тут ничего не писал, но бампану тредик Haxe-релизом. может кого заинтересует: довольно долго пилил на Haxe новельный движок (так вышло) и таки допилил движок и новеллу на нем (движок полностью - новеллу пока наполовину). Ссылки и прочая тут - https://2ch.hk/ruvn/res/145206.html (М), если кому интересно хотя кого я обманываю ))

Но зато теперь могу ответсвенно заявить - Haxe жив (+openfl +starling) и для партизанского инди вполне подходит. Web+Mac+Win+мобилки на одной кодовой базе с минимумом костылей вполне работают. проблемы конечно есть - но решаемые
41 842448
>>682675

>Да вроде хроники хаоса с флеша была переписана на haxe


Меня hr их конторы походу как-то нашла по гитхабу и писала аж 3 раза на мыло. Так что хэксобои мотайте на ус.

Раз уж бамбанули.

>>842409

>Haxe жив


Не особо. Там кстати новый релиз HaxeFlixel - 5.0. Можно конечно носится с тем как он офигенно кросскомпилиться и что движок поверх heaps это новое юнити, но в реальности вердикт такой - ненужно. Тем не менее кто запретит что-то на нём до продакшена довести? Да никто. Практика показывает что запросто можно офигенные 3д стратежки делать.

>если кому интересно


Как сам движок нет. На код я бы глянул.

>Ссылки и прочая тут


Not found.
42 842458
>>842448

>Ссылки и прочая тут


>Not found.


странно // может доска скрытая. тогда вот -
- Web (Chrome, FF): https://gamerotor.com/play/nvl_nks
- Win10: https://gamerotor.com/get/nvl_nks_win
- MacOs: https://gamerotor.com/get/nvl_nks_mac

>но в реальности вердикт такой - ненужно


не соглашусь, юнити - тяжелая штука, для работы с которыми надо кучу нервов (особенно между апдейтами) и PC нормального уровня, и даже это не избавит от страданий в редакторе. тут же между тобой и результатом в браузере - 10 секунд компиляции некислого проекта. и если это работает в браузере - это на 90% работает ВЕЗДЕ. короче удобней (но lowlevel по сравнению с айдиешками, конечно), как с флешом - пока он был жив )
43 842491
>>842458

>тяжелая штука


Ну дык многофункциональная зато. Но мне тоже не нравится.

>но lowlevel по сравнению с айдиешками, конечно


А ты на visual studio code пишешь кста?
44 842517
>>842491
там нет ничего чего не было бы везде (я про 2D). и то что есть часто прибито гвоздями (ебучие инициализации). в итоге ты вместо разработки свои костыли сращиваешь с чужими и страдаешь

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

> vscode


ага, ничего больше и не надо :)
45 842521
Вывод такой: Haxe не нужен потому, что поблекла его основная фича, ведь на все платформы компилится теперь каждая собака.
А языку обязательно нудна ниша, просто быть "клёвым" для выживания мало. У C++ есть лоу-левел, у C# Microsoft и Unity, у джавы Oracle, у питона гугл, у JS нода и монополия в браузерах.
Никто не пишет на Ruby не потому, что он плох, а потому, что его потеснили с ниши.
46 842525
>>842521
У него и была ниша - заменить action script для флэша. А потом флэш ни во что не трансфомировался, тупо умер.

>на все платформы компилится теперь каждая собака.


Нативно вообще не каждая. Ты можешь скомпилить свой код в почти любой другой язык и тем самым присобачить его к почти любому другому проекту. Только это в принципе ненужно. Ну мало ли, вдруг это станет важно, например когда будет великий парсинг всего гитхаба нейросетями. Посмотрим, индустрия языков и инструментов всё ещё развивается. А так не умер и то хорошо.
47 842606
>>842525

> Только это в принципе ненужно


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

кстати haxe можно даже В ЮНИТИ компилить - вон разраб ceramic заморочился https://github.com/ceramic-engine/ceramic

>>842521

>ведь на все платформы компилится теперь каждая собака.



с одинаковым уровнем работоспособности НИ ОДНА собака кроме Haxe не компилит, в том-то и проблема. в том же юнити под PC/JS/IOS/ANDROID нужны абсолютно свои костыли, потому что изначально все заточено под полнофичевое окружение и все остальное вкручено на отъебись.

хотя сейчас может чо и поменялось, я про юнити давно забыл и обратно не тянет, потому что 3D в гробу видал (нормально делать слишком геморройно), а для 2D-проектов юнити ничего кроме постоянных страданий предложить в принципе не способен. 2D в Unity - это для идейных мазохистов, как по мне
48 842607
>>842525

>Нативно вообще не каждая


>>842606

>в том же юнити под PC/JS/IOS/ANDROID нужны абсолютно свои костыли


haxe нативно тоже ни во что не конпелируется. для всего нужно писать нативный код платформы, просто это обычно в библиотеках сделано
49 842613
>>842607
haxe нативно компилируется в текст на других языках, который делает ровно тоже самое, и это экономит время на специфических задачах

>для всего нужно писать нативный код платформы, просто это обычно в библиотеках сделано


ну да, просто они не замахиваются на невозможное - зато ровный базовый минимум работает гарантировано везде одинаково.
50 842619
>>842613
то есть это просто транслятор в c++ код
51 842632
>>842619

>то есть это просто транслятор в c++ код


cpp - это под статические таргеты, но ими не ограничивается. под js - генерится js код. можно прям метод с логикой вырезать и скопипастить в бэкэнд на ноде. причем это читаемый код, не бурда какая. или можно "скомпилить в тайпскрипт" (только копипастить придется больше, если надо). или в php, если у тебя бэкэнд на нем, или в lua (для nginx например)

и с cpp тоже свои плюс по сравнению с типичным подходом - у тебя все В ИСХОДНИКАХ. под иос оно тебе прям проект для xcode генерит, причем там весь код ЧИТАЕМЫЙ, а не заранее скомпиленные дллки как в юнити (все что наколбашено в юнити оно уже туда закопилено, не поменять). И если тебе надо впендюрить что-то в конкретное место в твоей логике или под платформу что-то заточить - просто открываешь cpp соотсветсвующий hx-файлу и вписываешь что угодно (впрочем это в haxe можно прописывать, в проект лезть незачем)
52 842914
>>842606

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


Всё таки комплексные задачи - это например написать навмэш систему навигации, чтобы у тебя хотя бы 500 юнитов тянуло. Повторить что-то на бэкэ и на фронте это не то чтобы прямо сложно, скорее муторно.
53 843079
>>842914

>это например написать навмэш систему навигации, чтобы у тебя хотя бы 500 юнитов тянуло.


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

>Повторить что-то на бэкэ и на фронте это не то чтобы прямо сложно, скорее муторно


вот именно. и когда это делается и тестируется ровно в одном месте - это не так муторно.

но так-то да, до всего этого далеко не каждый докатывается
54 843474
>>582327 (OP)
Надо написать игру на Haxe!
55 843939
>>843474
ага
56 843956
>>843939
Написал?
57 843998
>>843956
тебе в ротик ;)
58 844040
>>843474
Напиши. для 3D - Armoury 3D рулит

вот например - https://blenderartists.org/t/last-man-fighting/1186473/61

RPaladin OP — 11/27/2022 12:32 AM
Originally created in the vanilla Blender Game Engine (BGE), ported to Godot, PlayCanvas, and now Armory3D.
59 874521
Ну чо вы там, хексаны?

Ща будут про дюну рассказывать.
https://www.twitch.tv/haxeevents

Ещё объявили, что где-то выйдет Haxe5, но там дропнут поддержку C# походу, что ультраплохо.
60 874587
>>874521
никуда они ее не дропнут, этож нахера

тут вон говорят годот с дефолдом подключили, чтобы значит из экосистемы не вылезать можно было, может бзал кто?
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее