Lua & Instead

Захотел написать свои размышления по поводу платформы Instead, движках вообще и двух языках программирования на нём: на высоком языке Instead и на более низком языке Lua.

Когда я на этой платформе был новичком и делал не сложные игры, используя команды языка instead: obj, room и другие, то не сильно вдавался в системную часть, на языке котором был написан сам интерпретатор. Сам интерпретатор был написан на языке Lua. Когда я узнал, что можно обходится без языка instead вообще и программировать только на lua (конечно используя спрайтовые и звуковые модули платформы), то понял, что был весьма ограничен instead языком. Если делать на Lua, то возможностей для программиста гораздо больше. Примерами могут служить такие программы на Instead:
1."Шарики" Петра Косых (в играх)
2."Starfighter" Петра Косых (в играх)
3."Miner Bold" Петра Косых (в играх)
4.Комиксы "Дара" Владимира Трофичука (в песочнице)
5."Эти милые Зомби" Владимира Трофимчука (в песочнице)
6."Побег из комнаты" Владимира Трофимчук (в песочнице)
7."Цветные лопухи" Владимира Трофимчука (в песочнице)
8."Сказка - плуталка" Владимира Трофимчука (в песочнице)
9."Floor Escape" Владимира Трофимчука (в песочнице)
10."Четыре дня рождения" Владимира Трофимчука (в песочнице)
11."Scrumble Slug" David Mekersa AKA Rockford (в песочнице)
12."Игра Жизнь" Андрея Лобанова (в песочнице)

Из всех перечисленных, только 4, 5, 6, 7, 8, 9, 10 не аркадного жанра.
4 - ридер комиксов, 9 - графический квест, остальные - текстовые квесты.
Причём возможности графические таковы, что ограничены они только ограничениями спрайтового модуля и умом самого программиста. Интерфейс же можно делать любым. Так, например, был сымитирован мной в некоторых играх интерфейс FireURQ. Думаю, что можно так же сымитировать и AXMA интерфейс и даже интерфейс игры Larry. Но это тяжёлая работа системного программиста, так как всё программируется на языке более низкого уровня Lua.

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

Например, язык самого низкого уровня - ассемблер, напрямую понимается процессором. Это язык процессорный. Все остальные языки находятся выше и для их понимания процессором программы сделанные на них "преобразовываются" в понятный процессору язык.
Так команды программы на языке Basic во время работы выполняют ассемблерный код Basic-ОС (операционной системы).
Можно примитивно разделить для понимания так: есть движок и есть слой на нём выше, который понимает движок.
Так вот, например
FireURQ - движок, программы для него - слои
Instead - движок, программы для него - слои
Basic - движок, программы для него - слои
Lua - движок, Instead для него - слой сверху
Assembler - движок процессора, программы на нём слои. Lua-движок для него слой сверху.
Получается следующий пирог:

1. Assembler
2. Lua-движок
3. Instead-движок
4. Game- слой

Я не знаю на каком языке написана Фурка, а то бы пример привёл и с ней.


Теперь о моих играх: они сделаны с помощью промежуточного спрайтового движка, назовём его engine. Теперь пирог в моих играх выполняется так:

1. Assembler
2. Lua-движок
3. Instead-движок
4. Engine-движок
5. Game- слой

Такая вставка называется ещё вставкой "подложки" или "надслоя" над Instead-движком.

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









Комментарии

Популярные сообщения