Пытаюсь осилить изометрию.
Внезапно пришла идея как легко сделать изометрию в духе Rings of Power и поскольку я ещё плохо знаком с GMS, то быстро собрал это на Tic-80. Плюс сделал конвертацию мышки с экрана на тайлы.
Осталось только переписать этот код с Tic-80 (Lua) на GMS (GML). Надеюсь не сложно, подумал что лучше на КОД сделать изометрический псевдо Bitsy.
- 28 июля 2020, 14:46
- 06
Весь код на Lua для Tic-80 и возможно пойдёт для Pico-8(но это не точно):
Типичный пример и иллюстрация почему на GML проще писать чем на Lua. Берём код Алекса, убираем там лишнее, и получаем код на GML:
Насколько я понял по твоему коду, нужно чтобы в проекте был спрайт s_cell с 32 разными кадрами.
Спасибо! Хотя там я чуть позже код для оптимизации добавил, чтобы рисовался только один кусок всей карты на экране, попробую это переосмыслить на уровне GMS, я ещё не могу проснуться)
Я забыл исправить math.floor на floor, теперь код правильный в моём предыдущем комментарии.
Вот эта строка вряд ли будет работать для GMS, ибо это функция Tic-80 чтобы взять у карты тайлов инфу,
какой индекс тайла находится на этих координатах, но в принципе можно представить как массив,
хотя надо загуглить как из GMS тайлов тырить инфу в массив
Создай скрипт с таким названием, пропиши туда свой массив и будет работать.
Ну можно и больше, просто в Tic-80 это всего-лишь тайл на координате 32 атласа, а так в целом без разницы какое-там будет число, это просто тест перекрашивания тайла.
Вообще в идеале я хочу чтобы там вместо кадров или вместе с кадрами можно было бы задать и другой спрайт, ибо у спрайтов в GMS планируются разные размеры, у дерева один размер, у ящика другой.
Я пытался вкатиться в изометрию и получилось такое (pico8) https://rubel.itch.io/mr-meow-studio
Вообще, было желание сделать более серьёзный изометрический платформер, но в этой игре многие плевались от неудобных прыжков по платформам.
Круто получилось, я карту высот точно не потяну, максимум плоскую карту осилю.
Тут с прыжками местами получается промахиваться мимо платформ, не знаю из-за больших заносов персонажа, или просто неудобно в изометрии ориентироваться, но в целом очень круто для Pico-8.
Дошёл до какого-то котёнка с мешком (вроде).
PS о, там несколько котов)
Там целая команда котиков-разработчиков)
А вообще да, инерция в изометрии - зло, но без неё ощущения не те.
Мне нравится инерция в играх, только не сильно большая.
Как вариант можно слегка уменьшить остаточную силу скорости, чтобы она быстрее затухала на 25-50%.
Можно сделать инерцию без соскальзывания с одной высоты на другую.
Смотри, слишком много сразу не хоти на КОД, а то столкнёшься с зачарованными задачами геймдизайна)
лол) нужно мало, но хочется много
Добавил оптимизацию, чтобы все 300 тайлов не рисовались, те что в радиусе экрана, а только те, что конкретно в экране показываются. Теперь самое сложное - всё это в GMS перекинуть (но возможно завтра начну).