User Tag List

Страница 12 из 14 ПерваяПервая ... 891011121314 ПоследняяПоследняя
Показано с 111 по 120 из 219

Тема: Descent - демо игры с 8-цветными спрайтами для УКНЦ

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    486
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Господа, я-ж прикалываюсь. Ну некое подобие сюжета там уже имеется даже (поиграть вполне уже можно хотя и называется демо).
    Правда в игрухе сделано лишь штук 15 экранов и а-ля "первый эпизод". А вся карта 64 экрана.

    Учитывая что один тайл или спрайт я рисую по полдня и то когда настроение есть - сколько дальше делать еще - уму непостижимо.

    Это проблема программистов - сначала делается некое подобие движка, а когда дело доходит до серьезной работы с его наполнением - ууух, тут-то включается лень и прочее. Хорошо вот когда портируешь что-то - там сразу уже всё готовое есть, а когда нечто свое собственное делаешь - э... запала хватит вот ну на движок да.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

    Эти 3 пользователя(ей) поблагодарили BlaireCas за это полезное сообщение:

    nzeemin(18.09.2022), Oleg N. Cher(17.09.2022), Titus(18.09.2022)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,058
    Спасибо Благодарностей отдано 
    1,159
    Спасибо Благодарностей получено 
    1,480
    Поблагодарили
    528 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Это проблема программистов - сначала делается некое подобие движка, а когда дело доходит до серьезной работы с его наполнением - ууух, тут-то включается лень и прочее. Хорошо вот когда портируешь что-то - там сразу уже всё готовое есть, а когда нечто свое собственное делаешь - э... запала хватит вот ну на движок да.
    То же самое с портированием, уж поверь. В убийственном режиме почти без сна делаешь адаптацию до уровня, когда уже всё более-менее шевелится, сам удивляешься такому результату за такое короткое время. А потом запал куда-то пропадает и надо уже себя заставлять хоть что-то доделать.

    Этот пользователь поблагодарил nzeemin за это полезное сообщение:

    Oleg N. Cher(18.09.2022)

  4. #3

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,467
    Спасибо Благодарностей отдано 
    1,751
    Спасибо Благодарностей получено 
    2,295
    Поблагодарили
    899 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    То же самое с портированием, уж поверь.
    Наверное, это связано с тем, что основным двигателем и интересом является только определенная часть задачи. Например, написать движок, чтобы он был быстрым. А все остальное, идущее прицепом, уже так не мотивирует и напоминает скучное перекладывание листочков в бухгалтерии)

    Этот пользователь поблагодарил Titus за это полезное сообщение:

    Oleg N. Cher(18.09.2022)

  5. #4

    Регистрация
    06.10.2020
    Адрес
    г. Москва
    Сообщений
    10
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Игра отличная, сейчас включил на железке цвета отличные прорисовка тоже, это наверно лучшая игра на сегодня на УКНЦ, делайте дальше не бросайте проект.

  6. #5

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,411
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    180
    Поблагодарили
    139 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    вот когда портируешь что-то - там сразу уже всё готовое есть
    Запал давно уже кончился Пытаюсь заставить себя допилить LastMission.
    Вопрос: В чем ты редактировал звуковые эффекты или они у тебя процедурные?
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  7. #6

    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,504
    Спасибо Благодарностей отдано 
    331
    Спасибо Благодарностей получено 
    256
    Поблагодарили
    224 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Запал давно уже кончился Пытаюсь заставить себя допилить LastMission.
    Может такие проекты стоит делать open source? Глядишь то там сто грамм, то тут сто грамм и проект допилили общими усилиями?
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  8. #7

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,557
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    720
    Поблагодарили
    602 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Может такие проекты стоит делать open source? Глядишь то там сто грамм, то тут сто грамм и проект допилили общими усилиями?
    По наблюдениям - не законченный проект редко доводит до ума неавтор.
    И так же по наблюдениям - такие не законченные проекты неавтор часто переписывает чуть больше, чем полностью.
    А сто грамм только затушат так и не загоревшися костер.

  9. #8

    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,504
    Спасибо Благодарностей отдано 
    331
    Спасибо Благодарностей получено 
    256
    Поблагодарили
    224 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    А сто грамм только затушат так и не загоревшися костер.
    Я скорее про то, что изначально в open source. Тут было несколько проектов, когда люди успешно писали при помощи и с подсказками корифеев. Были, правда и неудачные примеры. Это наверное зависит от характера пишущего...
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  10. #9

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    486
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Заодно сюда напишу как тут сделана примитивная музыка и звук:
    Хорошая статья кстати: https://www.gamejournal.it/the-sound...r-zx-spectrum/

    Собственно в УКНЦ как и на спеке и прочих биперных компах звуки извлекаются переключением 1/0 в регистре бипера (хотя есть и другие способы, но ну их в баню, будем придерживаться стандартов - 1/0 и все тут
    Регистр в периферийном (!) процессоре @#177716
    Чтобы туда послать бит 1 в динамик надо сделать mov #200, @#177716 (а нефиг париться с bis/bic - поверьте прокатит и так, mov быстрее, а другие биты в этом регистре нам не нужны, пусть будут нулями и зшб)
    Чтобы послать 0 в динамик соответственно clr @#177716

    Итого весь звук состоит из переключений 1/0 в определенной последовательности.

    Можно заюзать ВЕСЬ периферийный проц чтобы издавать звуки (ведь у нас фактически два компа в одном, но блин периферийный проц нужен чтобы рисовать в "синий" план видеопамяти поэтому ну нафиг его полностью юзать под звук)
    И тут ведь в УКНЦ в периферийном проце есть таймер который может генерить прерывания по заданной длительности. Вся идея музыки тупо переключать 1/0 и менять длительности этого переключения.

    Сначала инициализируем (отключаем) таймер:
    Код:
    ; pp timer ready wait
    PptIni:	clr	@#177710
    	tst	@#177714
    	tst	@#177710
    	bne	PPTINI
    	return
    Затем его надо включить будет однажды (при звучании эффекта или очередной ноте музыки)
    Код:
    10$:	clr	@#177716		; low signal to speaker
    	mov	#SndIntHi, @#304	; set next sound interrupt to high signal proc
    	mov	SndLLo, @#177712	; low signal duration
    30$:	tst	@#177714
    	tst	@#177714
    	bis	#^B01000101, @#177710	; allow int, start, timer = 8mks
    99$:	mtps	#0
    Срабатывает прерывание например по вектору таймера 304 - вот обработчик бита 1
    Код:
    SndIntHi:
    	mov	#200, @#177716		; set high level
    	mov	#SndIntLo, @#304	; next interrupt addr - set to low tick
    	mov	SndLHi, @#177712
    	tst	@#177714
    	tst	@#177714
    	rti
    Тут-же устанавливается вектор прерывания на другой адрес (а там включится бит 0), заносится длительность бита 1 в таймер 177712 и два раза считывается регистр 177714 чтобы подтвердить изменение таймера (поверьте - это для надежности! я сам не знаю зачем ДВА раза считывать регистр, вроде одного должно хватать, но так надо и все тут)

    Для одноголосной музыки все банально. Делаем "ровные" переключения 1/0, но для более комфортного звучания лучше сразу менять duty у сигнала и например уменьшать таймер переключения динамика в 1 на скажем некоторую величину, а таймер переключения в 0 соответственно увеличивать. Получится более весело.


    -- тут сообщение из лички с S_V_B ---

    За саму идею я взял спектрумовский BeepFX (редактор под винду конечно). Под мои звуки там надо параметры пересчитывать будет.
    Сам его код на прерываниях УКНЦ реализовать разумеется нет воозможности. Он там написан под 100% зажирания процессора, а у меня на прерываниях таймера.

    Смысл такой. Есть N "фреймов" звука. (это не экранные фреймы, просто цикл)
    Есть изначальные параметры "длительность циклов переключения 1/0 во фрейме, длительность 1 в динамике, длительность 0 в динамике"
    Также есть дополнительные параметры при смене фрейма мол изменить длительность переключения 1/0, изменить длительность 1, изменить длительность 0"

    Врубилось прерывание от таймера 4мкс допустим. Врубаешь 1 в динамике, ставишь длительность 1 в таймер, переставляешь вектор прерывания на другой где будет дальше 0 идти.
    Врубилось очередное прерывание, там ставишь 0, ставишь длительность нуля в таймер. Проверяешь что не закончилась длительность локального переключения 1/0
    Если закончилась - пошел новый фрейм. Добавляешь к длительностям всем некие числа которые прописаны и по-новой.

    Минусы такие что чаще чем сколько-то циклов процессора - прерывания не обслужишь и есть некий минимум на длительности 1/0

    Код сам собственно имеется в том-же descent на гитхабе в файле descnt_ppu.mac по метке SNDSTA: но там разбираться долго. Итого весь эффект описывается такими например вещами:
    SND005:
    .word SND_TONE ; звук (еще есть пауза например и должен быть шум)
    .word 04 ; четыре "фрейма"
    .word 8*256 ; тут используется только старший байт - 8 циклов смены 1/0 изначально
    .word 2*256 ; при смене "фрейма" добавить это к предыдущему мол каждый фрейм длительность смены 1/0 общая будет увеличиваться на 2
    .word 124, -20 ; 124 тика таймера для 1 в динамике и каждый фрейм уменьшаем на 20
    .word 114, -18 ; 114 тика таймера для 0 в динамике и каждый фрейм уменьшаем на 18 (теперь понятно зачем прибавлять к длительности фрейма 2 чтобы не терять в общей длительности)
    .word 0 ; конец хорош звучать

    ---

    Еще можно добавить что таймер в счетчик который пишется 177712 юзает только 12 бит, и не байт и не слово но как сделали так сделали
    Последний раз редактировалось BlaireCas; 22.09.2022 в 15:48.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

    Эти 2 пользователя(ей) поблагодарили BlaireCas за это полезное сообщение:

    S_V_B(22.09.2022), Titus(22.09.2022)

  11. #10

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,411
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    180
    Поблагодарили
    139 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    BeepFX
    экспортирует в удобоваримый для нас формат который потом можно скриптом причесать?
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

Страница 12 из 14 ПерваяПервая ... 891011121314 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 42
    Последнее: 22.11.2021, 02:55
  2. Демо-версия новой игры SaNchez-а ;)
    от SaNchez в разделе Игры
    Ответов: 91
    Последнее: 26.02.2014, 22:08
  3. Помогите найти Демо из игры Dizzy
    от женя999 в разделе Демо
    Ответов: 8
    Последнее: 15.09.2012, 00:08
  4. Ответов: 10
    Последнее: 07.06.2012, 12:24

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •