Спрайтовый движок. #2

После того, как у меня получилось сделать графический квест, я подумал, а можно ли на таком же движке (я его тогда просто тестировал) сделать Крестики-нолики. Сделал их, но только с вариантом игры на двоих, делать стратегического противника желания не было: слишком примитивная игра. Я в то время только изучал спрайтовый модуль и возможности вывода спрайтов на экран. Оказалось графика выводится не тогда, когда подаются команды на вывод с помощью sprite.draw или sprite.copy, а когда завершаются функции в lua. Вывод был сделан из такого теста: сначала выводил спрайт, потом делал большую задержку циклом, потом  заканчивал функцию end-ом. Так вот, после запуска был чистый экран и он завис на время моей паузы и только по окончанию паузы, когда программа подошла к end. Появился экран со спрайтом. Это в моём движке с instead-ом так получилось, а вообще-то надо спрайты выводить в таймер функции, как в Instead шариках, например. Но я пошёл другим путём и программирование игры стало похожим на язык URQ или Fire URQ.
После того, как я создал текстовой рендеринг, который меня устроил (он посимвольный), то я забросил старый конструктор и начал создавать другой движок, более удобный.
Вначале там были в основном переходы по сценам-локациям с помощью кнопок. Потом добавил переходы по ссылкам. Потом были добавлены переходы по любым областям экрана. Первая качественная игра на новом движке была Сказка-Плуталка.

После неё мне нужно было перейти к играм с инвентарём. Так как программирование было URQ подобным, то проще было протестировать движок на уже готовой игре из URQ сообщества. Я выбрал Цветные лопухи Ajenta Arrow. Она была одна из последних игр на URQ портале. Предметов там немного, особых применений их не было, только взятие и удаление их из инвентаря. Хотелось еще чтобы графика была такой же, как в оригинальной игре, шрифты те же. Эту игру я с помощью urq модуля уже доделывал под instead, поэтому она мне знакома была. Но интересно было увидеть её такой, как на фурке. Сделал её на своем движке и, вроде, получилось.


Адженте понравилось.
Получив добро от неё на портирование других игр, я посмотрел её список игр на фурке, начиная с самых первых. Интересный подход к инвентарю обнаружился у игры "Эти милые Зомби". Я взялся за портирование. Код игры вручную адаптировался под мой движок. Объясню подробнее.

такой, например, код на URQ

:начало
cls
pln Эти милые зомби
btn старт, играть
end

Преобразовывал в вызов функций lua:

function room_nachalo()
cls()
pln ("Эти милые зомби")
btn ("играть", "start")
finish()
end



Оригинал "Зомбов" на фурке посмотреть для меня нет возможности: лишился персонального компьютера давно. 
Есть планшет SUPRA. У него есть и плюсы и минусы. Программировать с планшетной клавиатурой не очень легко, зато можно с ним лечь, сесть, уйти на кухню, даже в туалете посидеть :)
На планшете у меня несколько IF приложений: Instead-NG, QSP, AXMA. Программировать можно только  на Instead-NG, на остальных можно только любоваться готовыми изделиями. 
"Зомби" посмотрел сначала с помощью urq модуля, имеющегося на instead. То, что выводилось - было ужасно. Может быть на фурке было гораздо красивее. Я взялся за неё и с учётом своих желаний портировал. Мой вариант мне понравился. Не знаю, как Адженте, она по этому поводу не коментировала. Правда не хотела чтобы я возился с ними: эти игра для неё была первой на фурке, а современные её игры гораздо профессиональнее. Но мне-то и нужна была простота, не сложность. Я ведь только начал делать свой движок. Много чего там ещё не было...
Много чего нужно внедрять...

Комментарии

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