Просмотр полной версии : Digger
Hacker VBI
16.12.2016, 12:00
Итак, представляю Вашему вниманию новую игру для платформы ZX Evolution with TS Config:
http://zxn.ru/screens/161216/dig_crack.png
в меню нажатиями вверх/вниз можно выбрать вариант игры вдвоём по очереди.
http://www.digger.org/animate.gif
Кредиты:
Интро: код и дизайн мой, музыка — wbc, логотип — Baimu studio.
Игра: код — vbi, улучшенная графика — Er, музыка — nq.
Немного о разработке:
Работает в графических режимах 16ц / 256ц, в зависимости от версии + спрайты.
Озвучка: стандартный АУ
Размер размер С кода (движок) — 150кб, результат его компиляции — 30кб, дополнительные процедуры: 4кб.
Работа над игрой заняла прошлый месяц и ещё неделю.
При исследовании и создании этой версии мне очень много помог Blade, за что ему отдельное спасибо.
Скачать! (http://hype.retroscene.org/blog/games/579.html)
Ошибка: 404
скачал тут http://hype.retroscene.org/blog/games/579.html#comment16730
Игруха супер,молодцы.
Hacker VBI
16.12.2016, 12:31
AndyD, спасибо, поправил
Jimbo_77
16.12.2016, 13:06
Ура! С наступающим всех, желаю побольше новых, хороших релизов под новый год! :)
avk.ghost
17.12.2016, 01:15
Спасибо!
Много ли правок пришлось делать в коде?
Интересуют следующие моменты в игре:
1. Подъехать к мешку с золотом снизу и не отпуская движения вверх так держать. Мешок падает? В оригинале не падал.
2. Исходная ситуация из п.1. Едем вверх, стреляем. Выстрел должен уйти вниз.
Реальной железки нет, утром попробую на эмуляторе.
Отправлено с моего iPhone используя Tapatalk
Hacker VBI
17.12.2016, 11:19
avk.ghost, правок - достаточно.
почеканы все типы переменных, заюзаны unsigned char везде где переменная находится в пределах 8 бит.
поправлены все вызовы функций - старый синтаксис, огромная рутинная работа.
копирование массивов в игре было циклами, поменял на мемкопи.
убрал всё связанное со звуком, переделал как вызовы спец эффектов для ау
переделан ввод имени игрока, работу с long для score.
полностью написаны заново опрос клавиатуры, корректный относительно движка вывод графики и спрайтов, вычисление коллизий - был х86 асм.
оба момента работают именно так как ты описал.
собственно вещи подобно этим и были основой для портирования, а не переписывания заново. хотелось сохранить оригинальный характер игры.
avk.ghost
17.12.2016, 13:30
Hacker VBI, спасибо за разъяснения.
Поиграл - рад несказанно!
Проверил тактику, работает как и в оригинале!
Пара моментов, которые заметил во время игры:
* спонтанная активация бонуса. Один раз на втором и один раз на третьем "уровне". В правый верхний угол даже не подъезжал.
* при активации бонуса, см. Выше начисляется большое количество очков, добавляются жизни. После этого жизни не добавляются при достижении очередных 20000.
Было 4 жизни, съели. Стало 3, потом набрал более 60000 на жизнь не добавило.
Это, что мне пока бросились в глаза.
Реального железа у меня нет, использовал эмулятор.
Теперь задумался о приобретении железки.
А исходники conquest этой же компании не выкладывали?
Ещё раз огромное спасибо за порт данной игры! Затянуло на пару часов!
Отправлено с моего iPhone используя Tapatalk
Hacker VBI
17.12.2016, 13:42
avk.ghost, из-за невнимательности и слишком быстрого тестирования - пролезла эта бага в релиз.
утром сегодня перекомпилировал и проверил, перекачай (http://zx.kaniv.net/games/digger.zip)
http://hype.retroscene.org/uploads/images/00/00/14/2016/12/17/1a4d8a.png
Спасибо за тёплые слова :)
на digger.org есть ещё что-то, но я с этими играми не знаком.
да и, в общем, эксперимент состоялся.
avk.ghost
17.12.2016, 14:12
Hacker VBI, Спасибо, скачал.
Играю в original version, CGA палитра очень нравится.
Небольшой багрепорт по перекачанной версии:
* активируем бонус. съедаем одного или 2х nobbin. было 53хх очковб стало 46ххх.
Скрин ниже.
https://s29.postimg.org/c74n8knp3/sshot000000.png
За наовдку на digger.org - спасибо!
- - - Добавлено - - -
2 All, Можно ли в UnrealSpeccy писать видео?
Было бы проще описывать кейсы.
Oleg N. Cher
17.12.2016, 16:22
Hacker VBI, планируется ли версия для ZX Spectrum 48/128?
Flash_zx
17.12.2016, 18:02
VBI спасибо за игру!
Enhanced палитра отличная.
Поиграл на железе в перезалитую версию.. баг с бонусом похоже всетки остался. Появляется в определенном месте и там остается.. при этом он не видим и бесконечен ) в общем снял видео.. отправил тебе на почту.
тоже чтоли дёрнуть её на Спринтера?
Oleg N. Cher
18.12.2016, 12:32
Или на MSX :-)
Hacker VBI
19.12.2016, 16:53
Исходники доступны на prods.tslabs.info (http://prods.tslabs.info/) для всех желающих.
Hacker VBI, а почему решил использовать ужасм в качестве компилятора для асмового кода, а не родной сдццшный? тем более можно было бы завернуть весь код в библиотеку и по факту собирались бы только те процедуры. которые хотя бы раз использовались. а так может набраться прилично кода, который собрался, но не вызывается, а место занимает.
Hacker VBI
19.12.2016, 22:07
Sayman, твой вопрос связан с удобством.
Но ты не знаешь одной вещи.
Время компиляции
150кб С кода компилится 49 секунд. 4 ядра, 9450 интел проц.
Это время не стоит тратить на поход на кухню, это время ты обычно ждёшь.
Потому что - меньше 5 минут, что-бы что-то сделать; и больше привычных пары секунд компиляции асм кода и секунды сборки, которые - вот они, сразу всё, тестируй.
ожидание демотивирует -охота видеть результат и править. а ты ждёшь.
отсюда, как видно в моём сумбурном изложении (http://hype.retroscene.org/tag/digger/), я и пришёл к кернелю для вызывающих асм функций С кода. смешно было осознать что о кернеле я читал ещё в бумажных спектрумовских изданиях как супер методологии :)
увы, не все статьи на форуме я успел выложить до релиза.
оригинальная игра была разбита именно по этой причине на десяток блоков, которые потом линковались. причина - время выполнения.
я же всё сразу свёл в один файл. возможно, это было не лучшее решение. возможно.
я был не знаком с С :)
если будет желание - могу рассказать об основах организации игрового процесса в коде
Oleg N. Cher
20.12.2016, 17:33
Hacker VBI ответил деликатно: вам надо - вы и делайте :-)
Если на SDCC делать библиотеку с возможностью смарт-линковки (чтобы в целевой бинарь попадали только те функции, которые хотя бы раз использовались), то нужно каждую функцию оформлять в виде отдельного файла. Или же использовать мою резалку исходников smartlib (http://zx.oberon2.ru/forum/viewtopic.php?f=10&t=34).
При работе на SDCC оправдано функции для повторного использования (системные, графика, звук) выделять в библиотеки со смарт-линковкой, прикладную логику подразделять на небольшие модули по смыслу (с как можно более минимальными связями между модулями), и маленький основной блок, который использует все остальные. Это чтобы получить преимущество от раздельной компиляции, хотя бы экономя время сборки (чтобы перекомпилировался только изменённый модуль и основной блок, остальной код бы брался из собранных ранее .rel и .lib).
Хотя конечно люди спешат и кодят как попало.
Oleg N. Cher, не надо вводить людей в заблуждение. можно сводить нужные функции и процедуры в один файл и собрать одну отдельную либу. нужные процедуры будут подключаться без проблем. такое работает и в старом хайтехе и тут. вопрос разделения это вопрос удобства. я когда под спринтера ковырял сдцц, я себе так и делал отдельную либу. проблем не замечал.
Oleg N. Cher
20.12.2016, 21:09
Sayman, а ты сам попробуй. И отпишись. Можно сводить в один файл. Но смарт-линковки не будет.
- - - Добавлено - - -
Насчёт хайтека не знаю. Я про SDCC. Это касается всех версий SDCC, включая самые последние сборки.
- - - Добавлено - - -
Так мы точно узнаем кто вводит людей в заблуждение.
- - - Добавлено - - -
59058
P.S. Во избежание терминологических споров уточняю: под смарт-линковкой я понимаю включение в целевой бинарник только использованных функций.
Oleg N. Cher, сильно флудить тут нет желания, но могу сказать следующее:
1. я с вами соглашусь и признаю свой косяк - разбираться (по новой ставить сдцц и вспоминать как я там и что делал в начале года желания нет) сейчас, как там и что не стану, поверю вашему посту)))
2. в данном конкретном случае употребление полностью всего колхоза процедур и функций собранных ужасмом вполне оправдано. Пройдясь диагонально по исходниками коротко прикинул. что вероятней всего, всё что там написано и собрано, всё в итоге хотя бы раз да вызывается.
3. а что если мы взглянем на тот же эво сдк? берём пустой проект, кидаем туда простую печать на граф.экране эвы надписи типа "хай чуваки!" и собираем. Опа, 6кб как не бывало. 6 килобайт, Карл! В пустом проекте! А вы говорите, "вам надо - вы и делайте ". при этом проект в памяти сожрал сразу 160кб. прикольно, чё.
вообще, там в папке _temp_ столько бинарей собралось, жесть. 66кб и это всё пакуется в mlz и потом собирается в 1 бинарь. если использовать библиотеку, то такого гемора не было бы.
Oleg N. Cher
21.12.2016, 16:17
Это хорошо, что ты веришь моему посту, потому что я работаю с SDCC много лет. К тому же здесь есть другие пользователи SDCC, и они бы непременно меня поправили. И потом, я же разработал утилиту для разрезания исходников. Считаешь, что это блажь?
Массивный проект предполагает большой объём кода. Вопрос не в том, считаю ли я его большим. Вопрос в том, как для экономии времени сборки поюзать раздельную компиляцию. Здесь прозвучало много слов в оправдание монолитного исходника, но всё равно обоснование под этим какое-то недостоверное. Я сказал об этом раньше. Люди спешат и кодят как попало.
ну я монолиты не использую. но при этом я и сдцц не использую.
Hacker VBI
21.12.2016, 22:14
http://www.youtube.com/watch?v=YchkV6uTi1A
Интро и игра с оригинальной cga графикой
Видео игры инханс, кнопка для запуска 2 (https://www.youtube.com/watch?v=EatmwQHXdto)
и за ide, Visual Studio Code:
59075
хорошая!
У меня игра выглядит вот так:
https://pp.vk.me/c837532/v837532108/1a5f0/NvOjJwnWxKE.jpg
https://pp.vk.me/c837532/v837532108/1a5f8/Pibe9wtMc80.jpg
https://pp.vk.me/c837532/v837532108/1a600/bTYF_n9SWIc.jpg
Hacker VBI
28.12.2016, 22:25
razer, какой у тебя компьютер?
я не тестировал игру без вдака, со встроенным ШИМ.
видать зря.
считаешь, стоит сделать версию для тех кто не использует плату видео-dac?
zxevo,revC да сама игра еще более-менее,играть можно..
в ide у меня воткнут ide-cf переходник на шлейфе,закреплен в корпусе,
удобно софт переносить.
считаешь, стоит сделать версию для тех кто не использует плату видео-dac?
Вдака ни у кого нет почти. Надо было изначально сделать игру под zxevo + tsconf, а потом - версию для вдак. Или хотя бы в интро (которое должно без вдак работать) выбор предоставить. Или автоматически его детектить и включать соответствующую логику.
Hacker VBI
29.12.2016, 16:29
thims, согласен. сделаю версию.
ps: очень зря не пользуете вдак. штука - реально маст хэв
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot