Кто нибудь занимается сабжем? Может об'единим усилия. Или просто будем оказывать помощь? Вообще есть на форуме интересующиеся данной темой?
Для того, чтобы оставить комментарий, необходимо регистрация или !login
Кто нибудь занимается сабжем? Может об'единим усилия. Или просто будем оказывать помощь? Вообще есть на форуме интересующиеся данной темой?
В планах написать игру типа UFO играл на пк, а также видел порт на спектрум. Надеюсь, что скорости бейсика будет достаточно для пошаговой стратегии...
Скорости будет достаточно, но вот адресного пространства для сложной проги на Бейсике, тем более с графикой, может не хватить. Придётся графику убирать в дополнительные файлы и грузить напрямую в видеопамять, но без дисковода это проблематично.
Я кстати бинарные образы шрифтов добавлял к концу Бейсик программы и так записывал на диск. При изменении программы хоть на один байт шрифты слетали нафиг и на экране была каша. Копипротекшн для бедных.
Ну, с дисковводом у нас проблема. Я даже не смог без него фрагмент экрана скинуть в файл, хотя такая возможность есть, но не для магнитофона
Я по шрифта даже не заморачиваюсь, действительно с памятью напряг, так что только стандартный шрифт, или на гмл :-) . Я так понял только максимальная оптимизация позволит что-то впихнуть. Не подскажешь как сделать цветной спрайт но не с цветными горизонтальными линиями а с вертикальными? Или только использовать наложение спрайтов?
Ещё вспомнил один приём, фрагменты уровня рисуются в заставочном экране а потом копируются блоками в ходе работы самой программы.
Ну ок. А как планируется фоновую музыку/звуки реализовывать?
Сорри, я спрайтами плотно не занимался, так что подсказать не могу.
Фоновую музыку в Бейсике нереально сделать, разьве что только объектным кодом и данными, подгружаемыми в верхние адреса памяти и вызываемыми через defusr в нужный момент. Интерпретатор очень ограничен в области графики и музыки, так что вряд ли удастся создать нормальную игру на Бейсике со всеми прибамбасами...
С прибамбасами, неверное, не выйдет, но в основном цикле можно в play что-нибудь подкидывать - должно звучать. На сколько я помню, что sound, что play вполне нормально в фоне работают. Тут проблема в интерактивности. Надо как-то научиться перезапускать звук до того, как он до конца доиграет. Буффер play-ю штатно не знаю как очистить. Beep, вроде, его глушит, но сразу все каналы и он сам по себе будет пищать. Как взаимодействуют play и sound, честно говоря, не экспериментировал. Вероятно, придется частично в обход команд бейсика play-ем управлять.
По-моему я встречал в своём учебнике как не только с помощью beep очищать буфер, но по моему там тоже очищались все каналы. А чтоб узнать что буфер чист есть команда on play gosub по-моему как-то так, могу ошибаться, надо в букварн посмотреть. По зоунду конечно сложнее, но ведь он для создания эффектов, а эффекты звучат только в момент события. В общем со звуком вообще очень мало работал, как-то руки даже не доходили, последний раз наверное на GWBasice писал какое-то подобие пианино, с возможностью записи, но столкнулся с проблемой длительности, и так и не доделал
Ну, там есть оператор play, который заполняет очереди каналов и есть функция play(номер канала), которая возвращает 0, если в соответствующем канале очередь пуста. При нулевом номере канала проверяется пустота всех очередей.
Во! Значит правильно помню что было про слежение за буфером, правда у меня в памяти что это прерывание :-) что-то с памятью моей стало...:-)
Don't you have an account yet? Become an MSX-friend and register an account!