Внимательно перечитал свой код - про 16-битную компиляцию и отсутствие floating point придётся забыть - от плавающей точки там так просто не избавиться...
Ещё из мыслей:
- вместо языка описания 3D-карт 3DMap (файлы с расширением .3dm) разработать более вменяемый синтаксис с объектным подходом
- светотени станут программными (до сих пор затемнение или высветление сторон кубов приходилось прописывать в 3dm-файле путём заведения тёмных или более светлых версий одной и той же текстуры)
- появится возможность наклеивать на стены кубов разные текстуры друг над другом (до сих пор на одной стороне повторялась одна текстура)
- вернуть в движок туман, полумрак и реальные 3D-объекты (пока лишь с одноцветными гранями без текстур)
- входным файлом для движка вместо исходного кода 3D-карты будет монолитный бинарный файл, скомпилированный из исходника и включающий все необходимые текстуры и байткод скриптов (до сих пор монолитный файл VDS использовался только лишь как хранилище стандартных текстур)
- любая поверхность внутри игры может быть модифицирована по ходу, например забрызгана кровью, изрешечена пулями или разукрашена
- сохранение игры создаст новый монолитный бинарный файл, который даже может играться без оригинального бинарного файла игры
- кроме того этот сохранённый файл будет содержать записть всего происходящего до момента сохранения с возможностью проиграть "видео" с различных точек зрения, либо запустить это как демо (как вдуме)
- допускается возможность наличия в природе коммерческих бинарных файлов с игровыми уровнями, распостраняемыми отдельно от опенсорцного GPL движка
P.S. Сегодня со своей уже пятилетней дочкой (в августе будет 6) создавали уровни - она рисовала на бумажке что она хочет увидеть, а я описывал в 3dm