Автор: Лаэрт 29.01.2009 20:04 Печать

Движок игры написан на PFSL. Все звуки/музыка/спрайты взяти из оригинальной FALLOUT2.
Далее информация с официального сайта. Я собрал все полезные посты разработчика в одном месте. Итак:

Итак, все по порядку. Начнем с системных требований.

OS (Операционная система).
WinMobile 2003, WM5.x, WM6.x

Стилус.
Обязательно.

Свободно памяти.
от 7 МБайт (все зависит от карты, которая загружена). Все упирается именно в ресурсы карты (обилие различных изображений, анимаций, объектов и т.п.)

Свободно места на флеш-диске.
от 30 Мбайт. В базовой поставке, ресурсы игры будут «весить» около 30 Мбайт. Дальше, по мере развития игры – ресурсы будут добавляться. ОЧЕНЬ рекомендую иметь флеш-карты с быстрым чтением ибо из-за медленности флешек игра на слабых процессорах изредка, но тормозит.
Графическое разрешение.
Как было неоднократно сказано ранее – в первом релизе будет поддержка разрешения 320х240. А следовательно, должна работать на разрешениях, больше чем 320х240.

Процессор.
Вот тут мы подошли к самому интересному. Для владельцев КПК с частотой процессора НИЖЕ 400 МГц (а таких около 27% — см. тут) есть хорошая новость и плохая.

Сперва, как водиться – плохая новость.
Оригинальные карты Fallout изобилуют множеством графических ресурсов, которые естественно приходится рисовать. Так вот, их на столько много, что на КПК с частотой процессора 300 МГц (при условии отсутствия ГРАФИЧЕСКОГО акселератора) будут выдавать в среднем не более 12 кадров/сек на более-менее открытых локациях (лес, большое скопление юнитов и т.п), и до 5 кадров/сек в закрытых локациях (пещеры, храмы, убежища).

А теперь – хорошая новость.
Скорость работы движка Pocket F.A.L.L.O.U.T. полностью зависит от карты, которая сейчас загружена. Если карта оптимизирована, на ней нет кучи одновременно отображающихся объектов, то на 200 МГц выдает аж 25-30 кадров/сек. Это можно будет увидеть на картах пустыни.
Если у Вас есть иммунитет к лени и Вы умеете ВНИМАТЕЛЬНО читать документацию, то Вы спокойно сможете создать/оптимизировать ряд локаций Fallout для своего КПК с 200 МГц на борту.

Я на своем iPAQ 2210 играю/тестирую на 400 МГц. Но для успокоения души и для обеспечения ПОЛНОГО отсутствия тормозов, при подгрузке изображений (у меня медленная CF-карта), я разгоняю проц до 472 МГц и радаюсь жизни.(слова автора порта)

image

Далее, про «легенды»

1. Релиз, который состоится 29 января 2009 НЕ является бета тестовым. Он полнофункциональный. И геймплей не должен сводится к поиску багов. Да, баги будут, все мы не без греха и Вы сообщать о них будете в соответсвующем разделе. А я, в свою очередь, буду их править по мере своих возможностей.
2. Мультиплеер. Мультиплеера ПОКА не намечается по причине трудной кроссплатформеной реализации.
3. Проект – не «паливо». Он действительно есть и будет. Но его реализация затянулась из-за его сложности.

Дополнительные сведения
Как показывают финальные бетатесты, для нормальной работы не оптимизированных оригинальных карт, минимально необходимо 16 МБайт оперативной памяти.
Это означает, что минимальная планка свободной оперативной памяти равна 16 МБайт.

О редакторе скриптов и самих сриптах
Для тех кто не понял. Скрипты в Pocket F.A.L.L.O.U.T. представляют собой обычные текстовые файлы. Их можно редактировать ЛЮБЫМ текстовым редактором.
Редактор скриптов, которые является ЕДИНСТВЕННОЙ платной программой в данном проекте служит всего лишь для ускорения и оптимизации труда разработчика.
И покупать редактор или нет — это Ваше Святое Право и я на него не посягаю.

Как понятно из последних предложений, будет выпущен удобный редактор игры. По последним сведениям, для русскоговорящих пользователей данный редактор будет стоит 8,5$(покупать его не обязательно, т.к. почти все ресурсы игры — простые текстовые файлы, которые можно редактировать любым редактором текста).

Особенности грядущего релиза

Поддержка различных видео разрешений

Как многие уже успели прочитать, в первом официальном релизе будет поддержка следующих разрешений:
— Для Desktop версии (версия для настольного компьютера) будут поддерживаться любые виды ОКОННЫХ разрешений. Т.е. игра будет идти в окне Windows с любым разрешением (полноэкранный режим не поддерживается). Хотя Вы сможете настроить разрешение окна и на весь экран
— Для PocketPC версии (версия для КПК) будет поддержка ТОЛЬКО qVGA (320x240), но в полном экране.

Примечание
Карты от оригинального Fallout изначально были рассчитаны ТОЛЬКО для разрешения 640х480. И по этому на высоких разрешениях (больше чем 640х480) будут проявляться визуальные «костыли». Например – кусок горы, на карте Храма Арройо выглядит как кусок горы на разрешениях 640х480 и меньше, однако при больших разрешениях можно увидеть как эта гора была выстроена. См. скриншот, голубым квадратом показано как проходит видимая граница изображения на расчетных разрешениях, а красным прямоугольником – показано, как выглядит карта на высоких, не расчетных разрешениях. Т.е. гора на самом деле выглядит плоской «картонкой».
Выше описанное примечание является одной из причин, по которой поддержка более высоких разрешений ПОКА не будет.

Еще одна причина в том, что поддержка иных разрешений кроме как 320х240 является то, что координаты GUI объектов зашиты в коде. Пользовательские окна оформлены в виде статических изображений. Все динамические объекты «наносятся» на это изображения внутри кода движка.
Я конечно могу вынести все в скрипт, но процесс стандартизации кода скриптов (формирование методов, событий, прикручивание всего этого к движку) для всего графического интерфейса займет неопределенное количество времени, а раскрывать исходный код я не намерен.

Исходный код можно купить, стоимость вполне приемлемая даже для небольшой игро-разрабатывающей компании. О стоимости исходного кода можно будет говорить после релиза.

Т.к. основной приоритет, относительно видео разрешения, является qVGA (320x240), то весь пользовательский интерфейс (окно характера, инвентаря, стартовое окно и т.п.) имеют размеры в приделах 320x240 пикселей. Это не является «багом» это есть одна из малочисленных особенностей первого релиза.
Делать масштабируемый интерфейс напряжно, да и на разрешении 640х480 окна не плохо смотрятся. Все окна (за исключением окна пипбоя и карты мира) располагаются по центру экрана (на КПК все будет по центру экрана). см. сриншот GUI.

Следует заметить, что разрешение окна геймплея, в отличие от окон GUI, масштабируемо. Т.е. если пользователь установить разрешение (на Desktop версии) в 640x480 пикселей, то основное игровое окно (где ходит Избранный) будет иметь максимально возможное разрешение. См. сриншот “GUI”, на нем отчетливо видно какой размер имеет окно инвентаря, а какой размер имеет окно геймплея.

Алгоритмы

Основываясь на реакции одного из тестеров, я уже заранее могу предположить один из спорных вопросов, который может возникнуть после релиза. Это вопрос об алгоритме расчета кратчайшего пути или обхода препятствий.
В движке встроен «волновой» алгоритм обхода препятствий. Т.к. совсем не ясно какой алгоритм был использован в играх серии Fallout, я принял решение использовать самый простой и на мой взгляд, самый быстрый из алгоритмов такого рода.
В результате – юниты, при передвижении, обходят друг дружку и заранее определенные препятствия или ограниченные зоны (точки обхода – о них Вы узнаете из WiKi), но делают это по большей дуге, нежели так как это делалось бы в играх серии Fallout.

Обясню почему:
— Мне не был известен оригинальный алгоритм, по этому я взял за основу «волновой»
— Специфика движка способствует его всестороннему расширению извне. Волновой алгоритм как нельзя к стати влился в эту специфику без особых трудностей
— Волновой алгоритм, после некоторых оптимизаций, на самые длинные расстояния работает сейчас в 4 процессорных такта
И самое главное – я смог сделать РАСШИРЕНИЕ алгоритма обхода препятствий средствами скриптового языка (об этом подробно написано в WiKi).
Т.е. любой желающий может самостоятельно доработать имеющийся алгоритм используя инструментарий скриптового языка и предоставить его всем. И если это решение действительно будет стоящим (относительно логики) я с большим удовольствием внесу данное решение в базовый набор алгоритмов.

Кроме алгоритма обхода, в движке встроена Fallout-подобная модель формирования характера персонажа (та которая S.P.E.C.I.A.L.). Данная модель практически соответствует оригинальной, за исключением того, что в ней отсутствуют бонусы (громила, снайпер, расхититель гробниц и т.п.). Однако логику данных бонусов, при желании, можно организовать и на уровне скриптов. В классе «MapObject», описывающего юнитов локаций имеются ряд методов для расчета тех или иных параметров характера.

Так же в поставке первого официального релиза Вы сможете найти реализацию основных моделей в виде набора скриптов (будут расположены в папке игры \Resource\modules\user). Это позволит любому пользователю расширять/изменять любую из ниже перечисленных моделей.

А именно:
— Модель боя
— Модель воровства
— Модель использования вещей
— Модель торговли
— Модель навыков
— Модель случайных локаций
— Модель формирования городов на карте мира
— Модель формирования разговора с персонажами

Естественно, код скриптов читабелен и снабжен комментариями на русском языке.

Так же, никто не ограничивает пользователя в создании своей дополнительной модели (например можно сделать так, что бы из одного набора инвентаря создавать/совершенствовать оружие, навыки и т.п.)

В дополнение к выше сказанному в скриптовом языке будет существовать класс «MathModel» при помощи которого можно выполнять различные сложные математические расчеты (расчет длины пути, нахождение точки в полигоне и т.п.)

В данной главе, следует отметить еще то, что в грядущем релизе алгоритм боя разработан только для легких видов вооружения (кулаки, ножи, палки, копья и т.п.). Лично по моему мнению наличие огнестрельного оружия слишком упрощает процесс игры (особенно для «прокаченых» персонажей). Уж больно много на моей памяти было людей, которые любили стрелять в глаз собачки со снайперской винтовки, с расстояния футбольного поля.
Добавить огнестрельное оружие возможно, даже через скрипты. Тут уже Вам все карты в руки.

Разработка модов, расширение игрового процесса

Движок Pocket F.A.L.L.O.U.T. изначально ориентирован на скорость работы на мобильных устройствах, быстрой локализации (перевод текста графического интерфейса с одного языка на другой), удобному и быстрому внедрению новых персонажей. Встроенный язык скриптов PFSL (Pocket F.A.L.L.O.U.T. Script Language) сделан на базе языка Basic (Бейсик), вобрал в себя архитектурные решения языков Pascal (Паскаль) и C#.

Говоря нормальным языком – если Вы в школе/техникуме/университете учили бейсик или паскаль и хоть раз написали самостоятельно контрольную работу, и получили за нее выше среднего бал, то расширять Pocket F.A.L.L.O.U.T. Вам не предоставит особого труда!

Язык PFSL поймет не только взрослый, но даже – карапуз!
Файлы скриптов представляют собой обычные текстовые файлы. Их можно редактировать ЛЮБЫМ текстовым редактором.
Но лучше будет, если у Вас под рукой будет редактор скриптов PFScriptEditor (на правах рекламы blush ).

Локализация (перевод надписей GUI, диалогов персонажей на другой человеческий язык) происходит довольно быстро – надо просто перевести все *.txt файлы, которые расположены в папке Resource (будет такая папка в новом релизе) не меняя при этом ни одной строчки кода!

Так же на нашем сайте Вы сможете скачать БЕСПЛАТНО конвертер карт и ресурсов от Fallout 1,2. При помощи данных инструментов Вы сможете воссоздать полный мир Fallout у себя на КПК, или сможете попробовать сделать свою альтернативу Вашей любимой игры. Все зависит от Вас!
И помните, фраза из серии «я не программист, но хочу сделать...» относительно возможностей Pocket F.A.L.L.O.U.T. не уместна. Все можно сделать, лишь бы не лениться и уметь читать документацию, которая написана на русском языке.

Дальнейшее развитие проекта и перенос на другие платформы

Развитие проекта целиком и полностью зависит от интереса пользователей к нему. Мне и самому хотелось бы расширить ариал «обитания» проекта (не только WinMobile и Win32), но и другие платформы, такие как iPhone, PSP, Symbain. Более того, я хочу сделать КАК МИНИМУМ, поддержку мультиплеера (хотя бы через Bluetooth).

Однако данные решения возможны лишь в том случае, если проект будет переведен на библиотеку EDGE lib (www.edgelib.com). Это есть компромисс между время разработки/геморрой портирования. Одна проблема — стоимость данной библиотеки составляет порядка 1800 долларов США.

Дополнительные особенности

В целях экономии пространства на несущей памяти, а также для переноса на платформы, где постоянный своп не желателен (например — PSP) отменена история брифинга. Говоря нормальным языком — нет истории разговора с персонажем.
Однако лог сообщений игры (вы получили ранение, вы находитесь там-то и т.п.) имеет глубину — до 50 позиций (он храниться в памяти). Как показал мой опрос фанатов Fallout — 50 сообщений вполне достаточно, что бы быть в курсе произошедшего.

Далее, не будет авто карты уровня. Я ее убрал по причине того, что 9 из 10 игроков ей вообще не пользовались и тратить время на этот функционал, на мой взгляд — бессмыслено.

В целях экономии пространства и памяти была убрана система «этажей» на локации (она была в оригинальном Fallout).
Это ничего страшного, т.к. при переходе на другой этаж можно загрузить какую-нить другую локацию.
Т.е. сейчас одна локация = один этаж.
По этой же причине убрана анимация спуска по лестнице. Я долго думал над этим и все-таки решил убрать ее, т.к. она не несет никакой нагрузки, а хорошо подолбаться с ней надо было. Сейчас, для того чтобы «спуститься» в люк, достаточно установить точку выхода (что это такое будет описано в Wiki).

Далее, к сожалению я не успеваю реализовать сбрасывание вещей инвентаря на поверхность локации. Однако я оставил в коде «заглушки» для реализации данного функционала. Я думаю, если проект будет популярен, то этот функционал не заставит себя долго ждать!
В первом релизе игры, вещи можно будет брать/воровать из чужих инвентарей, ящиков, шкафов и т.п. Этого вполне достаточно для реализации всех возможный идей.

Автор порта некий maskin из Белоруссии, все вопросы к нему на офф форуме проекта — http://www.pocketfallout.net

UPD: Уже есть первые зеркала! Игра доступна для скачивания!
Зеркало №1, narod
Зеркало №2, rapidshare
Зеркало №3, rapidshare premium
Зеркало №4, 4pda forum



Источник:Habrahabr