Pull to refresh
20
0
Александр Хохлов @Zaphy

Программист

Не понял причем здесь ActionScript? О нем же ни слова в материале

Я написал, что движок может включать в себя редактор, но это не обязательно.
Да, согласен, что четкой границы между фреймворками и движками не провести. Дело в этой самой степени заменяемости батареек.
Но где-то эта граница все-таки есть, может быть она субъективная. Но назвать Unreal Engine фреймворком, a LibGDX — движком я себя никак не смогу заставить.
Но вообще это тема больше для холиворов как мне кажется.

Копипаста с gamedev.ru:


Фреймворк (англ. framework — каркас, структура) — структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Можно также говорить о каркасном подходе как о подходе к построению программ, где любая конфигурация программы строится из двух частей: первая, постоянная часть — сам фреймворк, не меняющийся от конфигурации к конфигурации и несущий в себе гнезда, в которых размещается вторая, переменная часть — сменные модули (или точки расширения).
Фреймворк накладывает некие ограничения на структуру программы, и пользователю предлагается его расширять до достижения требуемого результата.


Движок (игровой движок, game engine) — программное ядро комплексной программной системы (игры), содержащее базовую функциональность игры, но, при этом, не включающее код, специфичный для геймплейной функциональности конкретной игры.
Движок — комплекс программных модулей, облегчающий создание конечного продукта вплоть до полного отсутствия программирования (визуальное программирование).
Движок может включать в себя также набор инструментов (редактор уровней, редактор логики, упаковщик ресурсов и т.д.)


Таким образом, фреймворк — это только общая структура будущей игры, каркас, вокруг которого она будет нарастать. В качестве примеров фреймворков можно привести LibGDX, Love2D
А движок — более сложная система, состоящая из множества специализированных модулей (физика, анимация, редакторы, просмотрщики ресурсов и многое другое). Иногда движки затачиваются под разработку игр определенных жанров (или по крайней мере лучше подходят для них). Примеры движков: Unity3D, Unreal Engine, движки попроще — GameMaker, Stencyl

Сравнений с Unity я нигде не нашел. Но автор оригинала также является автором HashLink, так что могу предположить, что он проектировал VM с этим расчетом
По поводу скорости работы и вычислений могу только сказать, что ее достаточно для работы упомянутых игр на Heaps.io (они выходили на Nintendo Switch, XBox и Playstation, а Dead Cells должен выйти этим летом и на Android)
В качестве физического движка можно использовать Bullet

К сожалению существующие книги по Haxe были опубликованы довольно давно и устарели: http://old.haxe.org/doc/book (ссылка на старую версию сайта Haxe)
Для ознакомления с языком могу порекомендовать официальную документацию и сборник рецептов
Также есть неплохой сборник уроков, связанных с работой с JavaScript, NodeJS и PHP от Matthijs Kamstra
Кроме того, для относительно крупных фреймворков и библиотек на Haxe есть собственные сайты, на которых можно найти документацию и примеры.
Все зависит от того, для чего вы планируете использовать Haxe — если уточните интересующую область, то попытаюсь помочь с поиском источников информации.
Кроме того, вы может присоединиться к русскоязычному telegram-чату, где можно пообщаться с людьми, разбирающимися в Haxe гораздо лучше меня (также там можно встретить людей, активно участвующих в разработке самого языка и IDE к нему)

В JavaScript эти строчки кода будут выглядеть следующим образом:

Наверное, имелось в виду, что для компиляции в JavaScript необходимо вызвать компилятор Haxe со следующими параметрами

У вас в примере для Haxe почему-то все пробелы куда-то пропали:


class Main 
{
    static public function main():Void 
    {
        trace("Hello World");
    }
}

И, кажется, неверно указан основной класс приложения


haxe -js HelloWorld.js -main Main
Если говорить про геймдев, то крупные компании, использующие Haxe, больше интересуются HTML5-играми на нем (Inno Games, FlowPlay, Playtika), куда они, соответственно, и вкладывают средства.
Нативные игры на Haxe в основном разрабатывают небольшие инди.
А насчет того, загнется он или нет, вам придется еще долго смотреть — Haxe уже больше десяти лет и интерес к нему хотя и небольшой, но он постепенно растет (говорю как человек, который следит за Haxe лет 7)
По первому пункту соглашусь, что interop для нативных таргетов (С++) пока что приходится писать вручную (но, например, для Java-таргета это не так — достаточно скормить компилятору бинарник библиотеки и он сразу «поймет» как работать с ним). Связано это с тем, что команда Haxe Foundation очень небольшая, при этом на full-time работает всего два человека (и то только в этом году нашли второго программиста), и в приоритете были другие задачи. И тот факт, что в Haxe Foundation взяли стажера, для меня хороший знак (он кстати упомянул, что будет и дальше работать с Haxe).
По второму пункту: Да, в основную ветку на данный момент смержены только изменения, касающиеся документации и форматирования кода, но я верю, что новое асинхронное API будет доделано и появится в следующих релизах (4.1?), тем более, что о нем было официально заявлено (ранее такие фичи в Haxe доводились до реализации).
Давайте поступим так, как вы предложили — посмотрим через год на прогресс по ним.
Я давно мечтаю перевести HaxeFlixel на Kha и получить Khaxel :)
Скорее всего с третьей версии, которая вышла в 2013 году. Так что довольно давно.
Насколько я знаю, дата релиза не назначена, но число задач, которые необходимо решить, сокращается (сейчас их осталось 16). Надеюсь, что скоро.
Но уже сейчас можно попробовать второй релиз кандидат или ночные сборки Haxe.
А какой язык тогда вместо него предложите?

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity