Oolite
Имя
Пароль
 Запомнить
Форум по OOLITE, современной реализации космического симулятора ELITE



Новая тема  Ответить    ↑↑↑Наверх
  Oolite глазами программиста
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
Я не очень люблю оставлять информацию о себе в сети, так что буду краток: Максим, по образованию - программист. Работаю по специальности (т.е. программистом - ведущий инженер, руководитель проекта).

С оригинальной Elite я не встречался. В то время я был слишком молод, чтобы интересоваться подобными играми. Да и в целом, на глаза она мне не попадалась (выпущенного порта на Sega Mega Drive не было, а на спектруме (пока он был жив) я играл в основном в Dizzy).

В целом, мой взгляд на Oolite лишен ностальгии по Elite, и некоторые моменты хочется подправить. Эти моменты я собираюсь в меру сил решать своими дополнениями.

Советы желающим писать плагины для Oolite
Рекомендуемый мной инструментарий описан в топике Инструменты для создания OXP.
Руководство по версионированию плагинов: http://semver.org/lang/ru/
Как правильно писать CHANGELOG (историю изменений): http://keepachangelog.com/ru/

Всем желающим начать программировать на JavaScript могу порекомендовать учебник: http://learn.javascript.ru/
Практически все, что написано в первой части можно применять в Oolite при разработке модулей. Помимо теории даются небольшие упражнения на закрепление материала.

Мои дополнения:

MFD Restore After Load 0.1
Данный плагин добавляет небольшую функцию - сохраняет конфигурацию MFD в save-файл. При загрузке сохранения - соответственно восстанавливает конфигурацию MFD.
Корректно работает и при удалении плагинов с MFD - отсутствующий MFD просто отключается.

Доступен через встроенный диспетчер дополнений (HUDs)!
Ссылка для скачивания: MFDRestoreAfterLoad_0.1.oxz

Zero Map - исследуй галактику самостоятельно! (v0.6)
Очищает карту звездных систем.

Доступны уровни сложности:
  • Easy - показывается вся карта без имен систем. Доступна вся информация о соседних системах.
  • Normal - скрывается карта, доступно немного информации о соседних системах. Изолированные области могут быть найдены.
  • Hard - скрывается карта, доступен минимум информации о соседних системах.
  • Disable - используется стандартная карта галактики.

Карта открывается по мере прохождения (Normal):
  • Посещенные системы - доступна вся информация
  • Системы в 7LY от посещенных - доступно только имя
  • Системы в 10LY от посещенных - отображаются в виде точек на карте (позволяет находить изолированные области)

Требует Oolite 1.83+. Рекомендую 1.85+ (исправлены некоторые недоработки Oolite).

Легенда:
Инфо-террорист Дрендер запатентовал карту галактики. А анти-пиратские законы настолько суровы, что GalCop был вынужден удалить карту галактики из всех доступных источников (в том числе и с каждого корабля!) и запретить ее передачу под угрозой преследования. Дрендер надеялся, что этим шагом он парализует сообщение в галактике, что отбросит галактическую жизнь далеко назад. Но выручил старый закон времен освоения галактики: каждая система должна предоставлять всем кораблям координаты соседних звездных систем (это делалось для возможности срочной эвакуации при каком-либо катаклизме). Этот закон позволил каждому капитану хранить карту с теми системами, в которых он уже побывал.


Доступен через встроенный диспетчер дополнений (Mechanics)!
Ссылка для скачивания: ZeroMap_0.6.oxz

PlanetFall Market Saver 0.1
Сохраняет в Save-файл состояние рынка временных станций из пакета PlanetFall (PlanetLand).
stranger:
Порт в PlanetFall/PlanetLand создается непосредственно перед посадкой и уничтожается после взлета. Рынок порта соответственно никак не запоминается и можно циркулировать между ними до бесконечности, вообще не покидая систему.


Доступен через встроенный диспетчер дополнений (Dockables)!
Ссылка для скачивания: PlanetFallMarketSaver_0.1.oxz

Asteroid Remover 0.3
Данный плагин позволяет сохранить ранее уничтоженные астероиды в текущей системе в save-файл, чтобы после загрузки можно было продолжить их планомерное уничтожение. При переходе между системами уничтоженные астероиды сбрасываются.
stranger:
Внимательный геймер обратил внимание, что паттерн засева астероидов в системах, по крайней мере на линии входной маяк-планета, воспроизводится детерминированно. Входишь, к примеру, в систему, Leesti, по пути к станции чистишь астероиды, сохраняешься на станции, стартуешь - а они все там же и все те же. Было бы неплохо повторный засев уничтоженных астероидов блокировать, пока геймер не покинет систему.


Доступен через встроенный диспетчер дополнений (Mechanics)!
Ссылка для скачивания: AsteroidRemover_0.3.oxz

Asteroid Randomizer 0.1
Данный плагин перемещает статичные астероиды на реально рандомную позицию (в пределах 5 км от стандартной).
stranger:
Внимательный геймер обратил внимание, что паттерн засева астероидов в системах, по крайней мере на линии входной маяк-планета, воспроизводится детерминированно. Входишь, к примеру, в систему, Leesti, по пути к станции чистишь астероиды, сохраняешься на станции, стартуешь - а они все там же и все те же.


Внимание! При установке перестает работать AsteroidRemover.

Доступен через встроенный диспетчер дополнений (Ambience)!
Ссылка для скачивания: AsteroidRandomizer_0.1.oxz

RRS Black Box - Hot&Cold game 0.1
В некоторых случаях RRS Group ставит в очень отдаленном месте астероидные поля с черным ящиком. Для решения этой проблемы сделал мини-игру "горячо-холодно". Показываются сообщения Холодно - Горячо - Очень горячо в зависимости от того, в какую сторону летишь. Летишь куда надо - горячо. Отдаляешься - холодно.

Требуется:
Rescue Stations OXP (RRS Group).

Доступен через встроенный диспетчер дополнений (Activities)!
Ссылка для скачивания: RRSBlackBoxHC_0.1.oxz


Fuel Generator 0.2
Новое оборудование - Fuel Generator. Позволяет синтезировать топливо из энергии. 1LY топлива за 1 энергоблок. Повреждает щиты из-за субпространственных возмущений. Занимает 5т в багажном отделении.
Это актвируемое оборудование, по умолчанию вешается на кнопку быстрого вызова защитного оборудования (кнопка 0 на клавиатуре). Или выбирается через Shift-N и активируется (N).

Доступен через встроенный диспетчер дополнений (Equipment)!
Ссылка для скачивания: FuelGenerator_0.2.oxz

P.S. исходные коды дополнений и история версий: https://bitbucket.org/S_Max/
P.P.S. я на Oolite Wiki.


Последний раз редактировалось Max 14.10.16, всего редактировалось 36 раз(а).

  Re: Oolite глазами программиста
Не в сети
---Elite---

Зарегистрирован: 06.10.11
Сообщений: 565
Откуда: Москва
Max:
ZeroMap (в разработке) - очищает карту звездных систем. Доступна карта только посещенных систем или смежных с ними.

А как будет выглядеть поиск системы по имени?
Если взял контракт на доставку\перевозку или в миссии ставят задачу прилететь куда-то? Будет на карте галактики в режиме поиска отображаться, чтобы хотя бы иметь представление в какую сторону лететь?


  Re: Oolite глазами программиста
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
На сколько я видел код генерации миссий (на доставку) - миссия не будет сгенерированна, если целевая система недоступна. А вот для встроенных миссий надо будет тестировать.

В одном из вариантов я рассчитываю скрытые системы отображать по краю карты - как проекцию от текущего положения игрока и реального положения системы. В таком виде игроку будет доступен и поиск, и направление.

Но это если хватит того лимита времени, который выделяют на работу скрипта ("задумчивые" скрипты отрубаются от игры). Если лимита не хватит, то надо будет придумывать что-нибудь еще.

P.S. а крайнем случае карту можно и в интернете глянуть, туда GalCop еще не добрался 8-)


  Re: Oolite глазами программиста
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
Реорганизовал личную рубрику.

Теперь ссылки на новые версии будут появляться только тут, а в остальных местах - ссылка на рубрику.

P.S. начинаю выкладывать дополнения в встроенный менеджер дополнений.


Новая тема  Ответить  
Показать сообщения за:  Сортировать по:  









Список форумов / Авторские рубрики

cron