"Вы просили". Расскажу, как это выглядит изнутри. Как работает, какие возникают трудности и почему закрылась Игра 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\ вы позовете
Через какое-то время вы поймете, что ручками рулить долго, нудно и напряжно... :) Приходите! У меня есть, что вам рассказать.