Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пт дек 15, 2017 3:48 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 41 сообщение ]  На страницу Пред. 1 2 3 След.
Автор Сообщение
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Вт сен 17, 2013 3:55 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Я бы сказал, что утверждение не очень верное, потому что PNG можно хорошо оптимизировать через pngcrush, а RAW - не очень.


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Вт сен 17, 2013 7:00 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
SoUrcerer писал(а):
Я бы сказал, что утверждение не очень верное, потому что PNG можно хорошо оптимизировать через pngcrush, а RAW - не очень.
Leency, вероятно, хотел сказать, что авто-сборка принудительно сжимает все программы KPACK. А, как известно, хорошо уплотнённые файлы (например, PNG) после сжатия могут становиться даже больше, чем до сжатия. Для примера, попробуйте сжать несколько фотографий.

Поэтому, (ASM+RAW)->KPACK может в результате занимать места меньше, чем (ASM+PNG+LoadPNG)->KPACK.
Хотя отдельно (ASM+RAW) занимает больше, чем (ASM+PNG).


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Вт сен 17, 2013 7:53 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
yogev_ezra писал(а):
Поэтому, (ASM+RAW)->KPACK может в результате занимать места меньше, чем (ASM+PNG+LoadPNG)->KPACK.

А зачем компилировать в бинарник сам PNG файл? Его нужно просто положить рядом и загружать. Не нужно упаковывать упакованное.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Вт сен 17, 2013 10:11 pm 
Не в сети

Зарегистрирован: Пн сен 16, 2013 2:15 pm
Сообщения: 14
Попробовал сжать KPACK'ом то что есть, получил бинарник 4 кб вместо 12 кб. Тогда, действительно, не нужно сжатых изображений, просто бинарник упаковывать. А я велосипед изобретал)


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Вт сен 17, 2013 10:45 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
segr писал(а):
А я велосипед изобретал)

Любое знание и любой опыт на первый взгляд не нужные в текущий момент обязательно бывают нужны в будущем.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Ср сен 18, 2013 3:26 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
segr
Особых сложностей со звуком нет, но микшировать семплы лучше самому.
Для примера стоит посмотреть исходники doom http://websvn.kolibrios.org/filedetails ... Fi_sound.c
http://websvn.kolibrios.org/filedetails ... Fs_sound.c
void S_Init() инициализация звуковой системы.
void sound_proc(void) поток, в котором работает микшер.
Когда происходит событие, Doom записывает адреса начала и конца семплов в один из свободных массивов (channels)
// The channel data pointers, start and end.
unsigned char* channels[NUM_CHANNELS];
unsigned char* channelsend[NUM_CHANNELS];
void I_UpdateSound( void ) собственно микшер. Поочерёдно выбирает семплы каждого активного канала и микширует.

API звуковой подсистемы http://websvn.kolibrios.org/listing.php ... 724a6c72f6


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Ср сен 18, 2013 8:12 pm 
Не в сети

Зарегистрирован: Пн сен 16, 2013 2:15 pm
Сообщения: 14
Mario_r4 писал(а):
Любое знание и любой опыт на первый взгляд не нужные в текущий момент обязательно бывают нужны в будущем.
Абсолютно согласен. Я просто иронизировал.

Serge, спасибо за ссылки, изучаю


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Вс сен 22, 2013 7:23 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Игрушка зачётная. Чувствуется, что сделана с душой :)

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Вс сен 29, 2013 5:21 pm 
Не в сети

Зарегистрирован: Пн сен 16, 2013 2:15 pm
Сообщения: 14
Идея давно была, но руки не доходили, а тут колибри увидел...)

Разобрался со звуком, вот результат

Микшер писал только под 16-битные 2-канальные сэмплы, поэтому размер звуковых файлов довольно большой.


Вложения:
Комментарий к файлу: исходники
src.zip [509.15 КБ]
66 скачиваний
Комментарий к файлу: игра
bomber_0.1.zip [487.23 КБ]
63 скачивания
Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Вс сен 29, 2013 10:38 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Все замечательно, но вот взрывы бомб по краям экрана приводят к тому, что край окна затирается синим цветом.
А почему не использовать моно семплы? Для таких игр стерео уже роскошь. :-)

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Вс сен 29, 2013 10:42 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Отлично всё получилось !
Есть ещё предложение сделать позиционирование звука. В зависимости от положения источника по горизонтали ослаблять левый или правый канал.
segr А есть семплы с большей частотой ? 24 КГц будет оптимально.
Mario_r4
Стерео лучше. И чем качественнее, тем лучше.


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Пн сен 30, 2013 12:08 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Вылет игры, если data-файл найден, но звук не работает (Hardware not found)
Звуки зачётные.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Пн сен 30, 2013 7:25 am 
Не в сети

Зарегистрирован: Пн сен 16, 2013 2:15 pm
Сообщения: 14
Mario_r4 писал(а):
край окна затирается синим цветом.

Это не только от бомб, но и от любого спрайта, который уходит за границы. До сих пор откладывал этот косяк. Думаю достаточно будет каждый раз перерисовывать рамку окна.

Согласен насчет качественных звуков, пробовал меньшее качество, как то не так звучит. Сэмплы есть качественные, все звуки с инета. Думаю имеет смысл упаковать звуки в mp3. Как читать mp3 пока не знаю. Управлять раздельно левым и правым каналом для каждого звука не сложно - сразу сделал это в микшере, сделать позиционирование возможно, но, мое мнение, сначала нужно звуки упаковать.

Игра вылетает, скорей всего, при обращении к памяти по неинициализированному указателю. Косяк в коде. Буду смотреть.

Кстати, почему работа со звуком сделана только через драйвер? И микшер каждый раз писать приходится заново? Может имеет смысл выделить функции работы со звуком в отдельную библиотеку в системе, и просто обращаться из приложения, что-то вроде: "создать микшер (столько то каналов)", "проиграть сэмпл (микшер, указатель на сэмпл)" и т.д. И кодеки сделать системные. Или сделано уже?


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Пн сен 30, 2013 9:57 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Можно без mp3 - просто запаковать ресурсы kpack-ом :) и распаковывать в памяти во время загрузки. Для этого вроде бы есть библиотека. Пусть кто-то знающий расскажет.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: игра "приземление"
СообщениеДобавлено: Пн сен 30, 2013 10:16 am 
Не в сети

Зарегистрирован: Пн сен 16, 2013 2:15 pm
Сообщения: 14
kpack-ом пробовал, сжатие не очень (процентов на 30 размер уменьшился), звук обычными алгоритмами упаковки плохо сжимается. а mp3 - самое то, размер в разы уменьшится


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 41 сообщение ]  На страницу Пред. 1 2 3 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB