Решил помечтать, как могла бы выглядеть игра на Специалисте:
https://youtu.be/NkravXR7gC0
https://rutube.ru/video/bbab0fd5fb3293e5ddd83daf35e31577/?r=wd
Отталкивался исключительно от видеороликов. Другого источника, увы, не было.
Вид для печати
Решил помечтать, как могла бы выглядеть игра на Специалисте:
https://youtu.be/NkravXR7gC0
https://rutube.ru/video/bbab0fd5fb3293e5ddd83daf35e31577/?r=wd
Отталкивался исключительно от видеороликов. Другого источника, увы, не было.
уже есть ( начальный вариант) для спека
https://www.pouet.net/prod.php?which=97212
Скажите, это игра по мотивам "Montezuma's Revenge"?
https://ru.m.wikipedia.org/wiki/Mont...80%99s_Revenge
А для компьютеров с горизонтальным разрешением 256 пикселей можно сделать скроллинг в пределах одной "комнаты". Как, например, сделано в "Prince of Persia" для Денди.
Нет, это совершенно другая игра!
Авторы пилят эту же игру для ZX Spectrum:
https://www.youtube.com/watch?v=t8iH1CsEl2M
Скачать, чтобы запустить эту демку на ZX можно, например, отсюда. Авторы пошли путём урезания ширины комнат, но не везде. Кое-где, судя по всему, одни переносили содержимое на следующий экран.
Карта демо-уровня (реальный 4-й уровень полной игры) с Atari XL:
https://pic.maxiol.com/thumbs2/17254...evel4atari.png
Упихнул её в Специалист. Перемещение по экранам курсорными клавишами.
Графика уровня: 2 016 байт
Карта комнат: 30 комнат * 800 байт
Итого: 26 016 байт
а ты исходники ДемоВерсии (для с64) видел ?
https://github.com/maciejmalecki/tony-demo/
Ух ты! Нет, конечно, не видел! Даже предположить не мог, что они где-то могут в открытом виде лежать.
Я хоть и не знаю того ассемблера, но тем не менее какие-то вещи понять можно, глядя на код. Ну и вся графика с масками, где нужно, теперь есть, без нужды выдирать её из видеороликов.
Со мной на связь вышел автор оригинальной игры - Рафаль Дудек. Он не против, чтобы я адаптировал игру под Специалист при условии, что игра будет бесплатной, а он будет указан в титрах в качестве автора и дизайнера игры. Подкинул мне полезных материалов и подарил полную копию своей игры для Atari.
https://pic.maxiol.com/images2/17258...4.tonyanim.gif
https://pic.maxiol.com/images2/17265...4.tonydemo.gif
Вывод спрайта с маской, дискретность сдвига 2 пикселя (как в оригинале). В левом верхнем углу выведен буфер для визуального контроля.
По скорости ещё есть крохотный запас на какие-то другие вещи. Но я почти уверен, что этого запаса не хватит на все нужды.
А что является критической границей? Ну будет медленнее, но не один же FPS.
Кстати, насчет экономии памяти и скорости. Есть довольно простой (намного проще того, о чем писал Lethargeek) вариант загрубления маскировки. Объединяем попарно строки масок (это можно сделать автоматически) и используем каждую такую строку для двух строк спрайта. Артефакты на границах спрайта возможны, но скорее всего они будут заметно меньше, чем при однострочной автомаске (но и памяти займет больше).
Думали, что я забросил всё? А вот те, кто сидит в Telegram-группе по Специалисту, знают, что не забросил, и хоть и медленно, но продолжаю работать над переносом. Делюсь и здесь с вами прогрессом.
RuTube:
https://rutube.ru/video/1ad63472edee069d88364e8fa0a6c206/
YouTube:
https://youtu.be/8s89qLkBbqU
Автор игры у себя отписался: https://fb.watch/uYTizaASVx/
не совсем в тему, но можешь взять `на заметку` игру Wiking
https://spectrumcomputing.co.uk/entr...pectrum/Wiking
ч/б, нет IM2 и IX/IY
+ ещё одна игра про Tony
https://youtu.be/iA1o6-JUd9I?si=_5IjdDErz6WNQrvR
Я периодически скидываю автору игры (Rafal Dudek) свой прогресс. На основе одного из моих отрывков он сделал вот такой ролик:
https://plvideo.ru/watch?v=1kNu-lW1fKiP
CityAceE, Как Тони поживает?
Пока на паузе.
CityAceE, процедуру вывода спрайта персонажа можешь привести? Как обрабатывал клавиатуру - методом "бегущего нуля"? Можешь,привести процедуру?
CityAceE, а как будешь вмещать игру в память Специалиста? Подзагрузками или отдельными частями с паролями? Лучше, возможно, сделать отдельными частями с паролями. Прошёл одну часть - получил пароль к другой.
CityAceE, если сделаешь через подзагрузку уровней, то на каждом уровне сделай бесконечные продолжения, чтобы не перезагружать игру с первого уровня. Как меня и многих других, всегда раздражала загрузка игры с первого уровня после неудачи в игре. Может, кто своё мнение напишет как разбить игру на части.
Продолжаем делать Tony. Пока взялся за оформление. Хочу чтобы на стандартном Специалисте появилась игра не хуже, чем на остальных платформах!
У Специалиста нет стандартной возможности делать автозапуск для загружаемых программ. Любую загруженную программу нужно запускать вручную. Однако используя недокументированные возможности можно таки организовать автозапуск и на стандартном компьютере. Проверил на эмуляторе и своём реальном Лике - работает! Идея на поверхности, но мне до этого на Специалисте её реализация не встречалась.
Ну и хотелось сделать эффектрую загрузку заставки. Такое я видел на Спектруме и под Монитором SP580. Реализовал то же самое и под стандартный Монитор. Опять же проверил на своём реальном Лике - всё загружается.
И вот как это всё получилось:
https://plvideo.ru/watch?v=riBF4nWWF3aw
точнее в мониторе нет такой функции. а в ПЗУ загрузчика очень даже есть. 0xc453 если ПЗУ не патченная.
грузить первый блок в область стека?Цитата:
Однако используя недокументированные возможности можно таки организовать автозапуск и на стандартном компьютере. Проверил на эмуляторе и своём реальном Лике - работает! Идея на поверхности, но мне до этого на Специалисте её реализация не встречалась.
Да, помню ту публикацию в МК и конкретно упоминание автора про автозапуск программ и заставки, "как на Синклере". Тогда я подумал, что как круто, и что вот сейчас заживём :) Набрал все дампы из журнала, купил ППЗУ, прошил. Поигрался совсем чуть-чуть и вернул стандартное ПЗУ. Так и не получил этот Монитор никакой поддержки. Но кто ж знал в тот момент, что и на стандартном мониторе возможен и автозапуск, и заставки.
Ну это если только про сбросу что-то загружать, как было задумано автором. Это не считается :)
Другой способ перехвата управления мне неизвестен ;) Это ещё хорошо, что нашёлся такой возврат, который не затирался другими подпрограммами, и который можно было в итоге перехватить. И удачно получилось, что метод одинаково хорошо работает и на стандартном Мониторе, и даже на ЛИКовском.
Я возобновил работы над игрой. Есть определённый прогресс. Преодолел серьёзный барьер - обработку коллизий с предметами. Скоро покажу, что получилось.
Попробовал запустить на Орионе-128, просто заменив адресацию памяти - игра запустилась. Нужно будет только процедуру управления поменять. Дайте, пожалуйста, ссылку, где можно почитать про обработку нажатия клавиш? Или всё здесь?
А пока посмотрите какой ужас сделали на Amstrad CPC (спасибо jerri за ссылку):
https://www.youtube.com/watch?v=liTFXCDuFAE
Какой ужас? У меня отображается большое пустое поле.
Посмотрите на текущий прогресс работы над игрой и послушайте хорошую песенку ;)
https://plvideo.ru/watch?v=1rCmmVcwCR0c