|
Star Control 2 (UQM) Сайт - sc.bursa.ru - Star Control 2, The Ur-Quan Masters, UQM. |
12.02.2015, 15:40
|
#1
|
Регистрация: 23.09.2013
|
Сообщений: 1,269
|
|
Создание мода "Бортовой журнал"
Создание мода "Бортовой журнал".
Из рецензии Владимира Горячева на Legend of Grimrock 2:
Если вы, невзирая на сказанное мной в адрес Legend of Grimrock 2,
возьметесь за прохождение, непременно держите под рукой карандаш
и блокнот. Записывайте туда всё: где побывали, какие подсказки
нашли и куда направляетесь. Только так вы вспомните, что делали,
если отложите игру в сторону и вернётесь через несколько дней.
Ведь её разработчики не утруждали себя такой «мелочью»,
как автоматический дневник. И ещё много чем…
----------------------------------------------------------
Казалось бы, почему не сделать нормальную записную книжку?
Almost Human, обласканная критикой и фанатами за «дух старой школы»,
перепутала «хардкорность» с банальными неудобствами.
Не так давно я очередной раз прошёл UQM, на этот раз HD-версию. HD-мод подтянул графику до современного уровня, ремикс-паки от Precursors сделали то же самое с музыкальной частью, а вот интерфейс по-прежнему никто не трогал... Безусловно, все мы любим эту игру такой, какая она есть. Однако ей уже более 20 лет, и есть моменты, которые просто можно сделать лучше и удобнее, тоже немного подтянуть под современные стандарты. К примеру, ей бы очень не помешала банальная поддержка мыши, при помощи которой было бы в разы удобнее выбирать пункты меню, нужные для взаимодейстия корабли и совершать покупки модулей. Также было бы очень удобно видеть на карте квазипространства в игре обозначенные линиями пути перемещания с того или иного портала, которые уже были открыты. Но больше всего при прохождении мне не хватало дневника, в данном случае "бортового журнала", в который бы заносилась вся важная информация. Или нашими руками, или автоматически.
Как это должно выглядеть.
Как я себе это вижу.. Если взять исходную картинку с соотношением сторон 4:3 и добавить к ней слева блок, чтобы получить 16:10, то мы сразу получим и симметричный интерфейс на протяжении всей игры и поддержку широкоформатных мониторов, и, самое главное, всю важную информацию перед глазами.
Нажмите, чтобы увидеть полный размер

Стиль я взял из текста, который можно просматривать после каждого диалога:
Хотя, такие цвета вовсе необязательны. Можно, к примеру, и так:
Это картинка 16:10. Что касается мониторов 16:9, там по бокам можно просто оставить небольшие чёрные "ушки" - так, к примеру, было реализовано в King's Bounty от Катаури. Думаю, поклонника UQM они испугать не должны, ведь со стандартной картинкой 4:3 чёрные "уши" по бокам вообще огромны.
Как это должно работать.
Вариант 1. Журнал с ручным вводом.
Подобно тому, как мы попадаем по нажатию пробела в меню игры справа, должна быть клавиша, по нажатию которой мы попадём в "Бортовой журнал" слева. Там мы должны иметь возможность выбрать нужную нам строку стрелками вверх-вниз (как реализовано в меню справа), а при нажатии "Enter" на нужной строке иметь возможность её радактировать. Подобные блоки в игре используются, когда мы только начинаем игру, и вводим имя и название корабля.
Так мы будем иметь возможность в любой момент вносить важную для нас информацию и всегда иметь её перед глазами. Другими словами - что-то вроде блокнота, стилизованного под игру и прекреплённого к ней.
Вариант 2. Автоматический журнал.
В этом варианте информация должна будет заноситься автоматически после срабатывания тех или иных реплик. Т.е. если прозвучало предложение с ценной информацией, должна занестись соответствующая строчка или несколько. Этот вариант предполагает, что придётся перелопатить весь текст, найти все предложения с ценной информацией, и написать текст строчек, который должен после них занестись. Если кто-то сможет реализовать техническую часть, я готов за это взяться. Только тут ещё должна быть проверка на наличие той или иной строчки в журнале, чтобы одно и тоже не заносилось по 100 раз.
Вариант 3. Идеальный (2 в одном).
Совокупность первых 2-х вариантов. Т.е. и чтобы строчки заносились автоматически, и чтобы была возможность их править и удалять, а также можно было вносить свои собственные заметки.
Нужен человек или несколько, которые смогут реализовать техническую часть. Я готов помочь с идейной и визуальной частью, а также с поиском триггеров (в смысле с поиском нужных предложений и формулировкой соответствующих коротких информационных строчек). Вместе мы сможем сделать нашу любимую игру ещё лучше!
|
|
|
|
12.02.2015, 16:59
|
#2
|
Регистрация: 13.12.2011
|
Адрес: Санкт-Петербург
|
Сообщений: 814
|
|
|
Re: Создание мода "Бортовой журнал"
Я всегда играл либо с бумагой либо с Window'совским блокнотом или Word'ом (благо UQM хорошо сворачивается и разворачивается + оконный режим).
Бывало мой бортовой журнал доходил до крайностей
Пример крайности
[15 июня 2155 года] Орбита альфы Павлина - II. Планета слишком горячая для высадки. Принято решение не собирать ресурсы. Курс на планету III.
[16 июня 2155 года] Орбита альфы Павлина - III. Обнаружено наличие...
И всё в таком духе
Честно говоря, игре не хватает не просто журнала с заметками подобного плана, а журнала квестов. Типа списка из названий ("Тайна 17-го числа", "Нашествие Зондов"), которые могли бы разворачиваться и показывать что сделано в этом направлении, а что ещё надо сделать + указание на карте места где надо это сделать.
Но это уже более сложная задача.
По существу.
Вариант 1. Конечно же простейший, но мало отличается от Word'a и бумаги. Причём уступает им в удобстве (банально зачеркнуть, составить список...).
Вариант 2. Нужно чтобы в программном коде игры как минимум срабатывало событие (в нужном нам месте!), которое вызывало функцию, которая понимала бы что и куда надо записать.
|
|
|
|
12.02.2015, 18:31
|
#4
|
Регистрация: 13.12.2011
|
Адрес: Санкт-Петербург
|
Сообщений: 814
|
|
|
Re: Создание мода "Бортовой журнал"
|
12.02.2015, 19:30
|
#5
|
Регистрация: 24.01.2011
|
Сообщений: 2,674
|
|
|
Re: Создание мода "Бортовой журнал"
|
12.02.2015, 20:00
|
#6
|
Регистрация: 23.09.2013
|
Сообщений: 1,269
|
|
Re: Создание мода "Бортовой журнал"
Понятно, что в игре есть много информации, которую можно фиксировать до бесконечности. Полезность каждый определяет для себя сам. Я же речь виду о самом основном - списке контрольных точек, которые нам сообщают в диалогах, и в которых может продолжиться сюжет. Просто чтобы всегда знать, куда можно полететь. Всё остальное вторично.
 |
Цитата: |
 |
|
|
 |
Сообщение от Malin |
 |
|
|
|
|
|
|
Вариант 1. Конечно же простейший, но мало отличается от Word'a и бумаги. Причём уступает им в удобстве (банально зачеркнуть, составить список...).
|
|
 |
|
 |
|
Бумага в данном случае - тот самый способ, от которого я стремлюсь избавиться. Во-первых, по современным меркам игровой индустрии это моветон - игра должна быть самодостаточна и играться не только за столом, а в любом месте и в любой позе (если говорить о ноутбуках). Во-вторых, уже к середине сюжета появляется куча разных чёрканых бумажек, оперировать которыми не очень удобно.
Самое удобное, что я смог для себя найти в последний раз, это играть в оконном режиме с виндоусовским блокнотом слева, подобно тому, как я изобразил выше. Но это всё равно было неудобно. Потому что во-первых, только оконный режим, а хотелось фулл-скрин; во-вторых, не очень удобно переключаться; в-третьих, в блокноте по умолчанию крупные буквы, всё разлеталось на несколько строк; в-четвёртых, белый блок слева тоже явно с игрой не сочетался и немного портил впечатление. Понятно, что 3 и 4 - можно регулировать, но желанного лампового результата, который я попытался изобразить выше, всё равно не получится. Ну и прежде всего хотелось бы, конечно, фулл-скрин. А с фулл-скрина на текстовые редакторы переключаться не очень удобно.. Те же координаты представляют из себя 8 цифр, которые нужно запомнить, что не для всех является тривиальной задачей. Само по себе это мне, допустим, не тяжело, но когда начинаешь водить курсором по карте и читать другие коодинаты, на которые наводишь - сбиваешься. Поэтому просто хочется иметь всегда слева перед глазами тот самый ключевой список.
 |
Цитата: |
 |
|
|
 |
Сообщение от Malin |
 |
|
|
|
|
|
|
Вариант 2. Нужно чтобы в программном коде игры как минимум срабатывало событие (в нужном нам месте!), которое вызывало функцию, которая понимала бы что и куда надо записать.
|
|
 |
|
 |
|
Я далёк от программирования, но в игре каждая реплика вызывается по определённому тегу:
пример
#(GLAD_WHEN_YOU_COME_BACK) commander-000.ogg
Поскорее возвращайтесь, Капитан.
#(GIVE_FUEL) commander-001.ogg
У нас есть немного топлива для кораблей, бесполезное для наших энергетических систем.
Сейчас мы передадим 5 единиц топлива на Ваш корабль.
#(GIVE_FUEL_AGAIN) commander-002.ogg
У нас почти закончилось топливо, но ещё ЧУТЬ-ЧУТЬ осталось.
Вам следует бережнее к нему относиться.
Запускаем перекачку топлива.
#(ARE_YOU_SUPPLY_SHIP) commander-003.ogg
Внимание неопознанному кораблю!
Я командир Хэйс орбитальной станции порабощённой планеты Земля.
Сигнал нашего гиперволнового передатчика крайне слаб.
Ситуация критична -- энергетические ресурсы исчерпаны,
сканеры и дальнодействующие радары не работают,
мы не можем опознать ваш корабль.
Вы -- плановый корабль-заправщик Иерархии?
Повторяю, вы -- корабль-заправщик?
#(DO_YOU_HAVE_RADIO_THIS_TIME) commander-004.ogg
Вы нашли радиоактивные элементы для наших энергогенераторов?
Т.е. под "событием" я понимаю обращение к определённому тегу, после которого должна заноситься соответствующая строчка в журнал. Ну а "функцию" как раз кто-то и должен создать.
 |
Цитата: |
 |
|
|
 |
Сообщение от Vasaka |
 |
|
|
|
|
|
|
Просто не удастся найти программиста, который это сделает.
|
|
 |
|
 |
|
Я и не рассчитывал, что сразу все найдутся, и всё получится. Даже на свои иногда амбициозные идеи я умею трезво смотреть со стороны. Просто мысль эта уже давно вертелась в голове, и хотелось её уже сформулировать и выразить. Пусть здесь просто будет эта информация как пища для размышлений. Может быть и мы с вами к чему-нибудь придём. Может и другие со временем подтянуться. Может дойдут руки, и я её ещё в английский вариант переведу и на родной UQM-форум закину. А для этого её тоже нужно было сначала сформулировать на родном языке  .
 |
Цитата: |
 |
|
|
 |
Сообщение от Vasaka |
 |
|
|
|
|
|
|
Проще с нуля делать, чем эти старые авгиевы конюшни разгребать. Где-то я видел сделанную боёвку старкона написанную на C# + XNA. Теоретически, на этой базе можно доделать остальное, но тоже желающих делать не найдёшь.
|
|
 |
|
 |
|
Понятно, что проще. Но если идти по автоматическому варианту в любом случае придётся искать обращение к репликам и как-то привязываться к ним. А ручной вариант можно (наверное, вам виднее) и отдельно написать.. что-то типа текстового редактора, стилизовать под UQM и примагнитить слева к игре. Самая большая проблема мне здесь видится в том, чтобы он работал в фулл-скрине, и чтобы при этом основное окно игры смещалось вправо. Но, опять же, вам виднее. Я не программист.
|
|
|
|
12.02.2015, 20:33
|
#7
|
Регистрация: 13.12.2011
|
Адрес: Санкт-Петербург
|
Сообщений: 814
|
|
|
Re: Создание мода "Бортовой журнал"
|
|
|
|
по современным меркам игровой индустрии
|
|
 |
|
 |
|
К этой игре это не относится. К ней относится термин, который ты привёл ниже - "ламповый". Листок и карандаш в принципе тоже.
|
|
|
|
играться не только за столом, а в любом месте и в любой позе
|
|
 |
|
 |
|
Игра делалась не для этих целей, то есть в ней изначально не закладывалась подобная идея. Конечно ты прав, хотелось бы, но...
|
|
|
|
реплика вызывается по определённому тегу:
|
|
 |
|
 |
|
Вызов реплики обрабатывается определённой функцией, которая и обрабатывает "входящие параметры" тега. Она же (функция) вызывает другие функции, если срабатывают некоторые условия (типа "Если игрок получил от Слайландро код, то разрешить в репликах с зондом реплику самоуничтожения зонда").
Так вот, нужно найти эту функцию, добавить к ней кучу условий (на каждую реплику которую мы хотим занести в журнал).
 |
Цитата: |
 |
|
|
 |
Сообщение от Vasaka |
 |
|
|
|
|
|
|
Там ещё и на Си. Кто бы его понимал?
|
|
 |
|
 |
|
Есть опыт. Найти функцию не беда. В ставить туда кучу условий в принципе тоже (рутина жуткая, конечно, о списочном поиске там можно и не мечтать). Понадобиться добавить конечно ещё пару функций на добавление новой записи в журнал, проверку наличия записи в журнале и проча...
Сложнее другое - экран. Отображение всего этого дела как "примочки" сбоку может вызвать адовы глюки, ибо отображение пускает глубоченные корни в код игры, например. банальная проблема - начало координат верхняя левая точка - значит весь интерфейс, все штучки нужно сместить руками!
SLY, тут ведь ещё вопрос в переносе строки. Не любая ведь запись влезет в такой узенький экранчик. А если писать многострочно - читать будет жутко неудобно, когда записей будет много.
|
|
|
|
12.02.2015, 20:49
|
#8
|
Регистрация: 24.01.2011
|
Сообщений: 2,674
|
|
|
Re: Создание мода "Бортовой журнал"
 |
Цитата: |
 |
|
|
|
|
|
|
|
Т.е. под "событием" я понимаю обращение к определённому тегу, после которого должна заноситься соответствующая строчка в журнал. Ну а "функцию" как раз кто-то и должен создать. |
|
 |
|
 |
|
Там всё сложнее. Надо ещё в тексте оставлять метки для этих событий и писать код который будет их проверять и заносить в блокнот. Но это ещё не самое сложное. Мы же не с виндовс формами дело имеем, где одной командой создаётся нужный элемент и ещё несколькими строчками нужные параметры. Тут это всё надо будет рисовать так, как это сделано в игре. Проще было бы вызывать записную книжку как вызывается трюм, например, но и там придётся дорабатывать. Тоже много мороки. Плюс ко всему ещё Си знать надо.
 |
Цитата: |
 |
|
|
|
|
|
|
|
Я и не рассчитывал, что сразу все найдутся, и всё получится. Даже на свои иногда амбициозные идеи я умею трезво смотреть со стороны. Просто мысль эта уже давно вертелась в голове, и хотелось её уже сформулировать и выразить. Пусть здесь просто будет эта информация как пища для размышлений. Может быть и мы с вами к чему-нибудь придём. Может и другие со временем подтянуться. Может дойдут руки, и я её ещё в английский вариант переведу и на родной UQM-форум закину. А для этого её тоже нужно было сначала сформулировать на родном языке . |
|
 |
|
 |
|
Я очень не хочу тебя расстраивать, но ты никогда не найдёшь человека на эту работу.
 |
Цитата: |
 |
|
|
|
|
|
|
|
Понятно, что проще. Но если идти по автоматическому варианту в любом случае придётся искать обращение к репликам и как-то привязываться к ним. А ручной вариант можно (наверное, вам виднее) и отдельно написать.. что-то типа текстового редактора, стилизовать под UQM и примагнитить слева к игре. Самая большая проблема мне здесь видится в том, чтобы он работал в фулл-скрине, и чтобы при этом основное окно игры смещалось вправо. Но, опять же, вам виднее. Я не программист. |
|
 |
|
 |
|
Я даже не знаю как тебе объяснить, что у тебя из этой идеи ничего не выйдет. Наверное, тебе всё-таки надо побегать с этой идеей и понять это через пару лет.
|
|
|
|
12.02.2015, 20:55
|
#9
|
Регистрация: 24.01.2011
|
Сообщений: 2,674
|
|
|
Re: Создание мода "Бортовой журнал"
 |
Цитата: |
 |
|
|
|
|
|
|
|
Есть опыт. Найти функцию не беда. В ставить туда кучу условий в принципе тоже (рутина жуткая, конечно, о списочном поиске там можно и не мечтать). Понадобиться добавить конечно ещё пару функций на добавление новой записи в журнал, проверку наличия записи в журнале и проча...
Сложнее другое - экран. Отображение всего этого дела как "примочки" сбоку может вызвать адовы глюки, ибо отображение пускает глубоченные корни в код игры, например. банальная проблема - начало координат верхняя левая точка - значит весь интерфейс, все штучки нужно сместить руками! |
|
 |
|
 |
|
Да мне-то это можно не объяснять. Я выше предложил как можно это решить, куда её засунуть, чтобы эту проблему избежать, но даже с этим будут проблемы и много-много работы, которую никто никогда не сделает.
|
|
|
|
12.02.2015, 21:43
|
#10
|
Регистрация: 13.12.2011
|
Адрес: Санкт-Петербург
|
Сообщений: 814
|
|
|
Re: Создание мода "Бортовой журнал"
SLY, как это ни печально, Vasaka прав.
Вот тебе утешительный приз. Специально для тебя.За твоё рвение и любовь к SCII.
OnboardLog
Что делает:
- В зелёном поле можно печатать что душе угодно.
- Правый клик мыши вызывает контекстное меню.
- Через контекстное меню можно включить отображение рамки окна для изменения его размера.
- При закрытии автоматически сохраняет текст, положение и размер окна.
Качнуть OnboardLog
Последний раз редактировалось Malin; 13.02.2015 в 16:57..
|
|
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
|
|
|
Текущее время: 09:52. Часовой пояс GMT +4.
| |