В 12 мы начали. Пока takvur ещё был на работе и консультировал по механике удаленно, я решил начать с самого сложного - генерации комнат и перемещения между ними. Сделать матрицу комнат, отображать только подмножество элементов в центре матрицы - казалось, что может быть проще. Но довольно большой массив комнат, существующий за границами видимости, был плохой идеей, поэтому я решил генерировать и рисовать только те объекты, которые станут видны игроку в момент перехода. Чтобы хранить состояние отрисован/не отрисован для объектов, нужны были привычные кортежи, но их не было в языке, пришлось добавить ещё одну матрицу. К середине дня я понял все недостатки gml: адово не хватало матричного исчисления (да, потом я узнал про GMatrix), юнит-тестов и нормального хранилища для состояний,. Через десять часов работы настал переломный момент: я был уверен, что закончить в срок не получится, будет много багов и нафига оно, вообще, надо, но, несмотря на эти мысли, заставил себя продолжить - открылось второе дыхание на этой стометровке.
Годная аркадка.
Единственное, что мне не понравилось - резкие переходы, при входе в дверь. Я вижу тут два варианта решения: Ставить врагов и персонажа "на паузу" во время перехода или сделать переход предсказуемым и плавным. А то ты переходишь возле врага, и он может наносить урон, а ты мышкой не успеваешь за "камерой" и не попадаешь по врагу.
Как вариант могу предложить "режим темноты", когда известна только та комната, в которой ты находишься и ты не знаешь, какая комната за дверями.
спасибо за братную связь, тоже думаю, это узкое место. в первую очередь просто будем останавливать время