Pull to refresh
4
Валерий Сурженко@HippimanVS

User

0,1
Rating
Send message

Я даже больше скажу. Любительских игр из серии Dizzy очень много. Так чтобы не соврать в районе сотни. Очень крутых и разных. И стилизованных под амигу, и ближе к спектруму, и маленьких на 10 минут и с огромными картами на много часов прохождения. На DizzyAge сделаны. А спектрум, потому что. Банально интересно бросить себе вызов.

Теоретически компилировать сразу бинарник работало бы быстрее, согласен. Но тут сложности для меня как это реализовать. Байт-код подгружается динамически с дискеты, так как движок позволяет игре быть разбитой на несколько карт. (одна карта в среднем вмещает 40 комнат). Значит код должен быть отдельным файлом, значит если это бинарник, то там своя адресация и свои ссылки. А значит при малейших изменениях в бинарнике самого движка это всё перестаёт работать. Может можно как-то проще, но я уже намучился с виртуальной машиной при разработке движка. Она как раз лежит в отдельной странице памяти и компилируется отдельно от основного движка и каждый чих - полная перекомпиляция обоих бинарников.

Привет. Там не совсем интерпретатор. На выходе из IDE получается байт-код, не текст. В движке реализовано что-то типа виртуальной машины, которая его выполняет. Там же реализация на ассемблере всех методов, используемых в скриптовом языке, типа: взять такое-то значение такого-то объекта. Оно, конечно, медленнее, чем компиляция скрипта в ассемблер и дальше в бинарник, но я не очень представляю как это вообще реализовать. В смысле как бы оно вообще работало на спектруме с учетом архитектуры движка.

Information

Rating
3,661-st
Registered
Activity

Specialization

Бэкенд разработчик, Архитектор программного обеспечения
SQL
Linux
Java
Spring Boot
REST
Apache Kafka
Базы данных
ООП
Docker
Kubernetes