как сменить иконку приложения в b3d?
      Существует два способа смены иконки в исполняемом файле - implicit и explicit. Первый способ - это добавление иконки при компиляции проекта. К примеру, можно скомпилировать проект в IDEaLe (IDE редактор), где после компиляции мы получим исполняемый файл с импортированной иконкой.
      Второй способ - грубое HEX-вскрытие исполняемого файла. Для замены иконки нужна программа, которая умеет подменять иконку на уровне ассемблера (работа с байтами), таких программ огромное множество, они работают по принципу HEX-вскрытия. При этом способе необходимо, например ResourceHacker'ом или Microangelo, вскрыть exe и заменить ресурс Icon.          


Проблема со звуком, звучит глухое эхо
      Скорее всего звук запускается постоянно в цикле


Как отобразить на изображении черный цвет... ведь все темное он делает прозрачным?
      Cохранить картинку в tga или dds с альфа каналом


Что дает лайт-мапа? Как ее сделать и в чем?

      Лайтмап это освещение любой сложности, "запечённое" в текстуру. он блендится с диффузной затеняя, засветляя её, меняя её оттенок. лайтмап имеет свои текстурные координаты.
Из простых приложений можно выделить gile[s], он сам делает развертку для лмапа и кладёт его, остаётся только загрузить модель.

можно ли ограничить число ФПС?

     Есть два основных способа регулировки скорости игры: обрезка максимального ФПС и дельтатайминг.  Первый подходит если у тебя буквально на всех конфигурациях (даже на самых старых) игра 'летает'. Делается двумя способами: ждущий таймер или вертикальная синхронизация. Первый способ не зависит от частоты обновления экрана, выставленной в системе, второй зависит. Подробнее в справке блитца по командам WaitTimer и Flip
     Второй способ - дельтатайминг. На основе текущего значения ФПС и желаемого вычисляется необходимая скорость проистекания событий, и на эту скорость домножаются все действия в игре вроде движения объектов, в общем, все, что следует домножить, чтобы компенсировать низкий относительно желаемого ФПС.

period=1000/UPS
time=MilliSecs()-period
Repeat
    Repeat
        elapsed=MilliSecs()-time
    Until elapsed
    ticks=elapsed/period
    tween#=Float(elapsed Mod period)/Float(period)
   
    For k=1 To ticks
        time=time+period   
        If KeyHit(1) End
        UpdateWorld   
    Next
   
    RenderWorld tween
    Flip
Forever