UFO 2000 beta version home: http://pages.ykt.ru/ufo2000/ mailto: sanami@chat.ru Версии Существуют версии: 1) djgpp - компилирована в djgpp, может запускаться из под dos и windows ipx, modem, tcp/ip(со специальным vxd) 2) linux - требуется glibc 2, ядро не ниже 2 tcp/ip 3) win - используется DirectX 6, компилировано на Visual C++ 6.0 полный DirectPlay (ipx, tcp/ip, modem, serial) Почти вся используемая графика и звуки из UFO1 X-Com: Enemy unknown На сайте лежит архив с минимально необходимым - файлами из директорий: GEODATA GEOGRAPH MAPS SOUND TERRAIN UFOGRAPH UFOINTRO UNITS Карта В UFO1&2 тактическая карта собирается из готовых блоков 10x10 находящихся в директории MAPS, максимальное возможное число блоков - 36 или 6x6 или 12x3, такая карта храниться в файле "GEODATA.DAT" UFO2000 тоже читает начальную карту из этого файла, кроме того можно запустить UFO2000 с параметром - именем файла карты например "UFO2000.EXE GEODATA.DAT_cult" или можно сгенерировать новую карту в connect чате. Размеры новой карты (в блоках 10x10!) определяют опции "map_width" и "map_height" в "ufo2000.ini". Пока нормально работают карты из блоков CULTA00.MAP ... CULTA18.MAP формат GEODATA.DAT: struct GEODATA_DAT { unsigned short x_size; //Distance e/w in tens of tiles unsigned short y_size; //Distance n/s in tens of tiles unsigned short z_size; //Height of map (tiles) unsigned short ship[2]; //The types of each of the two ships unsigned short terrain; //Terrain set; refers to the MCD combo sets --- //JUNGLE, FOREST, etc... unsigned char map[36]; //The actual map data- refers to the number at the //end of map name; i.e. urban12 would be number 12 ...... остальная часть не используется }; unsigned short terrain: #define JUNGLE 0 #define CULTA 1 <---- #define FOREST 2 #define XBASE_ 3 #define UBASE_ 4 #define URBAN 5 #define DESERT 6 #define MOUNT 7 #define POLAR 8 #define MARS 9 Игра по модему ( djgpp only ) Опция "comport" должна содержать правильный номер порта. Соединение может быть установленным до запуска ufo2000.exe, лучше всего соединиться через терминал Дос Навигатора, убедиться, что связь нормальная и затем уже начать игру. Игра по сети с ipx протоколом ( djgpp only ) Клиент автоматически производить поиск серверов по сети. Подключается происходит к первому найденному. В сети могут играть одновременно неограниченное количество клиент/серверов. Так как ipx не надежный протокол в сильнозагруженных сетях игра нежелательна. Игра по сети с tcp/ip протоколом ( djgpp only ) Для работы необходимо установить windows socket extention (sockvxd.exe). Используемый порт по умолчанию - 2000. Клиент должен ввести ip адрес сервера. Последний введенный адрес сохраняется под опцией "server". Игра через DirectPlay ( win only ) В локальной сети предпочтительнее играть по ipx протоколу - под DP он позволяет гарантированную доставку сообщений. При выборе modem, serial и клиента tcp/ip экран переключается с fullscreen на стандартный диалог windows выбора опций при этом игровой экран полностью стирается (беда в DirectX) при переключении обратно в игру не всегда экран автоматически перерисовывается поэтому жмите F4 или F5 также для клиента он может оставаться долгое время (не более 1 мин) не реагируя на F4 это из-за того что он находиться в вызванной функции DirectX, например подключении к серверу и поиска сессий, и не вернул управление игре. После возврата экран сам перерисуется - не надо паниковать!:) ufo2000 еще никогда не зависал. Начало игры Один игрок должен стартовать как клиент, другой как сервер. До начала игры клиент должен подключиться к серверу. Если у игрков загружены разные карты, то один из них во время чата должен послать свою карту. После генерации новой карты, она автоматически посылается удаленному игроку. Команды в окне предварительного чата: F10 - start game начать игру ESC - cancel прервать F1 - send mapdata послать свой вариант карты F2 - generate new map сгенерировать и послать новую карту F4 - redraw screen т.к. в DirectX при переключении задач экран не сохраняется Управление Все действия солдатами, как и в UFO1 производятся мышкой. Во время игры можно отправлять и принимать сообщения от другого игрока, они выводятся в окно "Инфо" видимое в SVGA режиме. F1 вкл/выкл вывод служебных пакетов F2 сохранить F3 загрузить F4 перерисовать экран F5 рестарт F9 вкл/выкл WATCH режим (-) F10 переключение в SVGA режим и обратно (-) ESC выход из игры ALT+X быстрый выход в OS курсоры, keypad +/- изменение размеров окна карты F11 включение/выключение режима оповещения служит для определения, того что связь нормальная с интервалом в 1 сек, посылаются пакеты "NOTE" в удаленный компьютер и принимаются с удаленного, если такой пакет не приходит включается счетчик секунд от последнего принятого пакета - они выводится в правом верхнем углу "Инфо". Если в терминале необходимо выполнить непрерываемую команду модема, например "atdp123456", лучше перед этим выключить режим оповещения. F12 сохранить экран в файл "snapshot.pcx" правый CTRL переключение рус/лат, индикатор в правом верхнем углу "Инфо". в игру встроен собственный русификатор, другие, в том числе виндовые не работают. ENTER послать сообщение BKSP удалить последний символ в сообщении TAB в VGA режиме рисует на экран содержание "Инфо" В окне "Инфо" выводятся получаемые и отсылаемые сообщения, а также служебные пакеты используемые самой игрой - вида "_Xcom_...". Звук Программа делает автодетект звуковых карт, единственная проблема, что звук очень тихий, так что делайте громкость повыше :) Громкость звука можно увеличить уменьшив значение опции digvoices - количество одновременно проигрываемых сэмплов. Возможно проигрывание модулей IT, MOD, S3M, XM - для этого опция modules установлена на yes, modname - имя модуля modvolume - громкость, modvoices - количество голосов для проигрывания модуля. В процессе игры можно загрузить другой модуль (временно удалено). Значения digvoices и modvoices должны быть степенями 2. Модули играются только в djgpp версии. Главное меню Внешний облик главного меню с кровью или без, выбирается через опцию "bloodymenu" в файле "ufo2000.ini". Правда существуют очень маленькая вероятность того, что значение "bloodymenu" будет изменено на обратное. Настройки "ufo2000.ini" Некоторые измененные параметры записываются самой программой перед завершением. Общие опции: [General] port=2000 ;ip port server=10.0.0.2 ;default ip address of server width=500 ;battle screen width height=280 ;battle screen height map_width=6 ;new map size map_height=4 ; map_width*map_height <= 36 ! russian=yes ;no disable CTRL rus/lat, yes - enable bloodymenu=no ;no - no bloody menu, yes - yes! sound=yes ;yes - включить звук, no - нет comport=2 ;номер COM порта, к которому подключен модем ; 1 - COM1, 2 - COM2, 3 - COM3, ... digvoices=16 ; ^2 (2, 4, 8, ...) кол-во голосов выделяемых для звуковых эффектов modules=yes ; modvoices=8 ; < digvoices and ^2 кол-во голосов из digvoices для проигрывания модулей modname=templsun.xm ;имя автоматически загружаемого модуля modvolume=125 ; 0..255 громкость модуля Настройки начального расположения солдатов, для первого игрока ("сервера") Для нормальной игры необходимо, чтобы опции в [Platoon1] и [Platoon2] совпадали у обоих игроков! [Platoon1] size=5 ;количество солдатов startcol=5 ;x map coords, от 0 до map_width*10 startrow=12 ;y map coords, от 0 до map_height*10 Здесь для второго игрока ("клиента") [Platoon2] size=5 ;количество солдатов startcol=15 ;x map coords, от 0 до map_width*10 startrow=12 ;y map coords, от 0 до map_height*10