LINUX.ORG.RU

Разработка движка для roguelike libtcod-duktape

 , ,


0

4

Если кому интересно - я создал: https://github.com/Crutchmaster/libtcod-duktape
Что это?
Обёртка из js движка duktape над библиотекой libtcod. Последний умеет рендерить в opengl/sdl тайлы/псевдографику, там есть a*, fov (field of view), генератор подземелий, карт высот и еще кое что по мелочи
Что и этого получится?
Простой движок, на котором можно легко клепать игрульки на 7DRL или просто поиграться.
Киллер фичи?
Stand-alone движок, код для которого не нужно компилять, а для начала разработки достаточно текстового редактора. Duktape реализует функции изоленты, всё остальное, сколько-нибудь тяжелое, допиливается на си.
Почему не lua/v8/python/etc
Луа мерзкий, v8 избыточен, обёртка для питона уже есть, питон тоже мерзкий.

Это мой первый былдокод на си, учтите это, когда будете строчить свои язвительные комменты. Ну и всё еще только в разработке, но я постараюсь пилить и не забрасывать.

★★★★★

Последнее исправление: crutch_master (всего исправлений: 4)

Поправил Makefile прими pull, картинки перемести в data исходники в src, добавь README, include файлы либо вместе с исходниками в одном каталоге src или все в include каталог положи.

Dron ★★★★★
()
Ответ на: комментарий от Dron

Не, не бинарный. Исходник просто жирный. Спасибо.

crutch_master ★★★★★
() автор топика

Луа мерзкий, v8 избыточен, обёртка для питона уже есть, питон тоже мерзкий

Ты посмотри, какая цаца
А вообще звучит очень круто, молодец, обязательно попробую на досуге.

Aswed ★★★★★
()
Ответ на: комментарий от crutch_master

В смысле попробую что-нибудь на нем замутить

Aswed ★★★★★
()

Годно. Сейчас нет времени заниматься разработкой, но если соберешься писать сам рогалик — пни меня :)

buddhist ★★★★★
()

луа мерзкий

Сделай вдоль, только это тебе поможет...

А за наводку на libtcod спасибо, ушел писать биндинги к luajit...

timdorohin ★★★★
()
Последнее исправление: timdorohin (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Там говно, а не биндинги. (т.е. стандартные биндинги Lua, а не Luajit)

Я же хочу приклеить либу к luajit...

timdorohin ★★★★
()
Ответ на: комментарий от buddhist

но если соберешься писать сам рогалик

А на какую тему хотелось бы запилить? У меня идей, как обычно, масса.

crutch_master ★★★★★
() автор топика

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

crutch_master ★★★★★
() автор топика

Движок вошел в стадию pre-alpha. Есть обёртки для fov и a*. Можно читать/писать файлы из js, есть конфиги. Дальше, по большей части, будет разработка js фреймворка поверх всего этого, добавление нужный функций libtcod. Скоро будут доки. Многие вызовы из js небезопасны, но мы работаем над этим.

crutch_master ★★★★★
() автор топика
Последнее исправление: crutch_master (всего исправлений: 1)

Работа продолжается. Прицепил еще несколько функций вывода, сделал кусок js фреймворка, чтобы ворочить логику игры - открытие всяких разных меню, обработка того, что они возвращают. Есть зачатки ui, в будущем появятся всякие менюшки, поля ввода, карты, инвентарь и прочие нужные вещи. Есть модульность™ - можно приделать множество игр/тестов. Выбирается это через главное меню, всё на js, есть интерфейс, но он еще упорот.

crutch_master ★★★★★
() автор топика

buddhist Aswed
Сишный код уже совсем не пишу, только всякие абстракции на js. Технически уже можно сделать рогалик. Есть пример, с картой, fov, выводом, менюшкой и зачатками «фреймворка». Js выдаёт нормальный trace, можно отлаживать, хотя, возможно, где-то еще остались грабли в нативных вызовах.

crutch_master ★★★★★
() автор топика
Последнее исправление: crutch_master (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.