"Вы просили". Расскажу, как это выглядит изнутри. Как работает, какие возникают трудности и почему закрылась Игра 1.
Для запуска игры хорошо бы обзавестись движком :) Если вы этого еще не сделали, то подпишитесь на список рассылки atlantisdev После этого вам будет доступен файл-архив конференции, из которого всегда можно скачать свежие сырцы ядра Атлантиса.
Откройте консоль и перейдите в каталог, содержащий нужное вам ядро Атлантиса. Скажите ему
dirи убедитесь, что это именно тот каталог, который вам нужен.
Предполагается, что к этому моменту вы обзавелись исходниками и откомпилировали движок, либо скачали где-то уже откомпилированный для своей платформы.
В первом случае перейдите в каталог, содержащий нужное вам ядро (standard либо conquest).
Во втором случае разархивируйте (скопируйте, если по какой-то глупой случайности оно не архивировано) файл ядра во временный каталог.
Во всех дальнейших манипуляциях я считаю, что вы знакомы с базовыми командами DOS или их аналогами в своей OS и в состоянии адекватно перевести мои рекомендации на свою систему
Остановитесь на минуточку и прикиньте - какой диск у Вас наименее загружен разнообразным софтом и прочей рухлядью? А места нам понадобится МНОГО. Для информации - свежезапущенная игра на карте 128x128 (только монстры и гвардия, ни одного игрока) занимает на диске около ДВУХ МЕГАБАЙТ. Поскольку хорошей идеей является сохранение как минимум шести последних ходов, места понадобится соответственное количество...
Ладно, для меня таким диском является диск 'E:'
Перенесем на него наше ядро:md e:\engine cd e:\engine copy *.exe e:atlantis.exe e:Проверим, что у нас получилось, подав команду dir:
E:\engine >dir Volume in drive E is GAMES DRIVE Serial number is 04F5:1283 Directory of E:\engine\* 15.02.01 6:25 <DIR> . 15.02.01 6:25 <DIR> .. 15.02.01 6:21 711,168 atlantis.exe 711,168 bytes in 1 file and 2 dirs 712,704 bytes allocated 308,871,168 bytes free E:\engine >
Создадим каталог для новой игры:
md newgame cd newgameПроверяем, туда ли нас занесло, заодно определяем местонахождение ядра:
E:\engine >md newgame E:\engine >cd newgame E:\engine\newgame >dir ..\atlantis.exe Volume in drive E is GAMES DRIVE Serial number is 04F5:1283 Directory of E:\engine\atlantis.exe 15.02.01 6:21 711,168 atlantis.exe 711,168 bytes in 1 file and 0 dirs 712,704 bytes allocated 308,869,120 bytes free E:\engine\newgame >
Теперь можно и создать карту для новой игры. Это совсем просто:
..\atlantis.exe newУ вас попросят немного дополнительной информации - размеры карты мира по ширине и высоте. Размеры карты должны быть кратны восьми, и не стоит пытаться создать карту меньше чем 24x24 ;) Не все баги еще исправлены.
E:\engine\newgame >..\atlantis.exe new Atlantis Engine Version: 4.0.4 (beta) Standard Atlantis, Version: 4.0.4 (beta) How wide should the map be? 32 How tall should the map be? 32 Making a level... Making a level... Making land Setting up the anchors ................................ Making a level... Setting up the anchors ........ Densities: ocean 280 plain 115 forest 32 mountain 10 swamp 43 jungle 14 desert 18 tundra 0 cavern 35 underforest 45 tunnels 48 nexus 1 E:\engine\newgame >
Ну вот - карта создана и даже выдано немного статистики, чтобы нескучно было играть... :)
Теперь осталось совсем немного - создать первый ход.md 0 copy *.out 0\*.in cd 0Все! Наш маленький домашний Атлантис готов к работе.
Так, настало время ввести в игру нас, любимых и лелеемых. Делается это простым добавлением пары строк в файл players.in. Способов это сделать несколько, рассмотрим два из них.
Способ первый, ручной. Перейдем в каталог с последним ходом (сейчас это ход 0) и скажем ему type players.in copy /b players.in + con: players.out На экране мы увидим содержимое текущего players.in и нечто вроде E:\engine\newgame\0\players.in => E:\engine\newgame\0\players.out con =>> E:\engine\newgame\0\players.out и курсор, мигающий в пустой строке. Впишем сюда новую фракцию. Faction: new Name: My own great faction Email: my@e.mail Password: пять_звездочек Обратите внимание - НИКАКИХ НОМЕРОВ ФРАКЦИЙ ! При генерации следующего хода Атлантис сам подставит нужные номера. Завершаем ввод, нажав клавиши Ctrl+Z. Проверим, что у нас получилось, введя type players.out E:\engine\newgame\0 >type players.out AtlantisPlayerStatus Version: 262148 TurnNumber: 0 GameStatus: New Faction: 1 Name: The Guardsmen (1) Email: NoAddress Password: none SendTimes: 1 Faction: 2 Name: Creatures (2) Email: NoAddress Password: none SendTimes: 1 Faction: new Name: My own great faction Email: my@e.mail Password: пять_звездочек E:\engine\newgame\0 > Все в порядке, можно заменять players.in на новый. Если же что-то не удалось, просто сотрите players.out и повторите этот шаг сначала. del players.in ren players.out players.in |
Второй способ заключается в некоторой автоматизации способа первого. Для этого в каталог с ядром положим пакетный файлик следующего содержания: copy players.in players.out Echo Faction: new >> players.out Echo Name: %3 %4 %5 %6 %7 %8 %9 >> players.out Echo Email: %1 >> players.out Echo Password: %2 >> players.out type players.out дав ему имя addfaction.bat Способ создания файла можете выбрать по вкусу, но для особых ценителей могу порекомендоватьcopy con: ..\..\addfaction.bat Использовать полученный пакетный файл надо так: Заходим в каталог с текущим ходом и командуем ..\..\addfaction faction@email factionpassword Faction cool and beauty name После чего на экран выведется текст созданного players.out |
Запускается игра просто. Очень просто.
..\..\atlantis.exe run
E:\engine\newgame\0 >..\..\atlantis.exe run Atlantis Engine Version: 4.0.4 (beta) Standard Atlantis, Version: 4.0.4 (beta) Saved Game Engine Version: 4.0.4 (beta) Saved Rule-Set Version: 4.0.4 (beta) Reading the regions... Setting up the neighbors... Setting Up Turn... Reading the Gamemaster File... Reading the Orders File... Running the Turn... Running FIND Orders... Running ENTER/LEAVE Orders... Running PROMOTE Orders... Running Combat... Running STEAL/ASSASSINATE Orders... Running GIVE/PAY/TRANSFER Orders... Running DESTROY Orders... Running PILLAGE Orders... Running TAX Orders... Running GUARD 1 Orders... Running Magic Orders... Running SELL Orders... Running BUY Orders... Running FORGET Orders... Running QUIT Orders... Removing Empty Units... Running Sail Orders... Running Move Orders... Running Teach Orders... Running Month-long Orders... Assessing Maintenance costs... Post-Turn Processing... Writing the Report File... ....Writing Playerinfo File... Removing Dead Factions... done E:\engine\newgame\0 >
Все! Атлантис сформировал файлы отчетов report.N и файлы следующего хода game.out и players.out
Теперь что с ними делать. Рапорты для первой и второй фракции можно прибить - это пустышки нулевого размера. Файлы *.in оставить, пусть лежат.
Свои рапорты забрать :) Чужие рапорты отослать по адресам.
Теперь займемся сухим остатком - собственно результатами игры :) т.е. файлами следующего хода.
Каждый ход Атлантис будет создавать файлы *.out, которые надо перенести в каталог следующего хода. Делаем это так:
md ..\1 copy *.out ..\1\*.in cd ..\1В этот же каталог будем складывать файлы orders.N с приказами фракциям.
Когда подойдет время следующего хода, уже из каталога newgame\1\ вы позовете
Через какое-то время вы поймете, что ручками рулить долго, нудно и напряжно... :) Приходите! У меня есть, что вам рассказать.