Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

Starbound


  • Авторизуйтесь для ответа в теме
1138 ответов в теме

#181
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

2 августа. Сегодня кратко.

 

Основная работа на день - исправление ошибок и прочих косяков.

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

 

Художники занимаются биомами и их содержимым.

 

screen2.png

 

Это скриншот, который Tiy постил ранее (в твиттере), снятый во время игрового теста по балансу. В данный момент отладке подвергается ядро всего геймплея. Через день должен быть стрим первой ступени игрового процесса, который включает в себя обучающие квесты, создание первого лагеря, выживание с улучшением экипировки, и убийство первого босса.

 

//Лучше бы бету выпускали. Может, за нас всю игру на стримах пройдут? :)


  • 0

#182
AVE

AVE

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4249 сообщений
3717
  • EVE Ingame:Thrundarr
  • Corp:Hazardfree
  • Channel:t2y
  • Client:Eng


Лучше бы бету выпускали. Может, за нас всю игру на стримах пройдут? :)

спойлерАГА! :troll:


Сообщение отредактировал AVE: 03 August 2013 - 13:22

  • 1

I think than the phrase "EVE Online is the game about internet spaceships" was misheard.
It is pronounced like "EVE Online is the game about internet spreadsheets".


#183
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

3 августа.

 

Очередной раунд исправлений и технических изменений.

 

Было проделано много работы по совмещению MSVC с игрой, что поможет быстрее проводить отладку и исправлять косяки в будущем.

Отслеживание стека сделано настолько информативным, насколько это возможно.

Журналы по записи производительности и графикам переделаны, чтобы показывать дополнительные сведения.

В поддержку D3D режима добавлены опциональные вертикальная синхронизация и тройная буферизация, а так же улучшена система вывода ошибок в этом режиме.

Завершена ещё пачка работы над GUI. теперь завершение оного почти на отметке в 100% - осталось добавить пару мелочей.

Босс первой ступени продолжает получать новые фичи, так же, как и его спутники.

Внесено несколько исправлений в погодный механизм.

Tiy надел оранжевые солнечные очки, пошёл работать на улице, и получил солнечный ожог.


  • 2

#184
Edgardus

Edgardus

    gaybond pilot

  • Tech III Pilots
  • PipPipPipPipPip
  • 2017 сообщений
308
  • EVE Ingame:sold
  • Ally:GE
  • Channel:noobian club
  • Client:Eng
долго они мучают, ждать надоедает ужо <_<

Сообщение отредактировал Edgardus: 04 August 2013 - 14:38

  • 0

Eve account - $15 US a month, dreadnaught - 2 Billion ISK, hiring a mercenary Dust group to assault a planet- $5 million ISK now, $50 million when the job is done.
Bombarding the Dust team from orbit and laughing like the machiavellian and sociopathic dickhead spreedsheet have made you, then recording the console tards emo tears and posting them on youtube? Priceless

 


#185
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

4 августа.

 

Не смотря на то, что было воскресенье, случилось много интересного.

Пойдём по списку:

 

Прогресс по первоступенчатому боссу идёт вперёд! Он генерирует мини-боссов вокруг себя, и у них уже есть своё поведение, плюс в этом направлении кое-чего исправлено и подклеено.

Tiy взял и внедрил совершенно новый генератор монстров!

Bartwe (с небольшой помощью Kyren) во всю катушку пытается научить Starbound сотрудничать с Visual Studio, а так же исправляет небольшие косяки. MSVC нужен, потому что используемый метод компиляции под форточками устарел, он скрипит и слишком требователен (MinGW), и от него вообще голова болит. Но вообще, даже поддержка последнего компилятора MSVC будет вызывать головную боль, но всегда прекрасно иметь выбор, не так ли?

Omni занимался конфигурированием оружия и исправлением мелочей.

Художники делают своё художественное дело, немножко по объектам и немножко по интерфейсу.

 

И совершенно новая фича: плавное освещение по утрам и вечерам, а так же по параметрам биома/ближайшей звезды. Технически это ранее упомянутая работа Omni по освещению в зависимости от цвета звезды в системе, только теперь изменение освещения влияет не только на бэкграунд и параллакс, но и на всё вообще.

 

спойлерПОНЕСЛИСЬ СКРИНШОТЫ
Screen-Shot-2013-08-05-at-1.55.14-AM.png
Screen-Shot-2013-08-05-at-1.54.42-AM.png
Screen-Shot-2013-08-05-at-1.54.39-AM.png
Screen-Shot-2013-08-05-at-1.54.34-AM.png
Screen-Shot-2013-08-05-at-1.54.19-AM.png

 

спойлерЕЩЁ СКРИНШОТЫ
Screen-Shot-2013-08-05-at-1.49.08-AM.png
Screen-Shot-2013-08-05-at-1.49.18-AM.png
Screen-Shot-2013-08-05-at-1.48.50-AM.png


  • 2

#186
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

5 августа. Небольшое сообщение от GeorgeV.

 

Сегодня отряд программистов поймал и раздавил баззилион багов в GUI, заодно портировав большую часть HUD в файлы JSON. Так же они занимаются созданием корней для всех не-эфемерных растений.

 

Художники возятся с новым генератором монстров и даже поправили пару глюков в нём. В планах у них новые элементы одежды, которые можно будет создавать и носить.

 

И ещё идёт работа над различными опасными препятствиями, в основном в духе игры "Шипы". Они будут встречаться в разных биомах и по-разному выглядеть, а при контакте с ними - наносить урон. Осторожнее!

 

donttouch.png


  • 0

#187
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

6 августа. Сообщение от Omni, не соскучились? Поехали.

 

Хотите верьте, хотите нет, но каждый день все из команды разработчиков занимаются отладкой всяких мелочей. Правда, Omni занят этим чуть больше остальных - по долгу профессии.

Сегодня он занялся следующими вещами:

 

- Исправление косяков со вчерашней отладки (удаление из консоли отладочного спама);

- Исправление проблемы с отображением панели топливного бака. Благодаря недавней оптимизации, виджет не устанавливал свой размер правильно, и в итоге ничего не вырисовывал (потому что нечего было вырисовывать);

- Свою долю внимания получила и панель быстрого доступа (ActionBar). Omni упоминал на форумах, что слоты L и R, привязанные к кнопкам мыши, будут сделаны реальными слотами, с возможностью быстрого переключения между ними. Проверка началась с создания базового предмета и помещения его в один из слотов. В чём не было необходимости, как выяснилось позже - ограничения на предметы в этих слотах никто не ставил. Ну да ладно. Так же в дополнении имеется новый тип параметра InventoryType и два новых слота в инвентаре, которые пока не используются. В процессе пара-тройка вещей была сломана, пока проводились эксперименты с оружием в магазине;

- Затем код в инвентаре игрока (PlayerInventory) был почищен, и туда же добавлен тип слота для вспомогательных функций;

- Поступили отчёты, что отклик от GUI идёт как-то не так. И в самом деле, во время разработки никто не занялся разницей между HUD и основным окном, потому элементы HUD опрашивали ввод некорректно. Всё добавлено в менеджер окон и рассортировано, чтобы команды ввода проходили корректно;

- Снова в PlayerInventory, на этот раз исправлен замечательный косяк, связанный с деньгами, забираемыми из контейнера;

- Возвращаемся к HUD. Небольшие твики размеров виджетов, чтобы они вписывались в задуманные позиции корректно. Так же исправлен небольшой баг - окно отладки показывало элементы больше, чем они были на самом деле (и получали команды ввода, которые не должны были);

- Поступил отчёт, что кнопки L и R на ActionBar работают криво (система всё ещё старая, а не та, что упоминалась выше). Исправлено. Параллельно прибит ещё один баг.

- Работа над шифт-кликом, компиляция, а затем Bart сообщил, что Omni не так понял семантику, и что всё гораздо проще, чем выглядит.

 

Что делали остальные?

 

Kyren начала свой день с закрепления блоков под большими объектами, вроде деревьев и контейнеров, чтобы их невозможно было убрать или повредить, пока они "на якоре" с этими объектами. Затем она внесла кое-какие исправления, и игра перестала вылетать, если загружался более старый файл с профилем игрока (ура!). Так же с её подачи убраны старые направляющие и вспомогательные указатели, которые остались без дела и только память жрали. Затем - исправление начала дня, некоторые тайлы становились на якорь некорректно. Наконец, она провела оптимизацию в Генераторе Подземелий, убрав бессмысленные перераспределения объектов, и уменьшила потребление оперативной памяти в целом.

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

 

Bart изменил принцип повреждений блоков при условии, что на них действует Манипулятор Материи (Matter Manipulator). Так же он расширил диапазон повреждений разных инструментов - было 1, 9, 25, стало 1, 4, 9, 16, 25. Затем он сделал множественное размещение блоков настройкой по умолчанию. Выглядит логично, хотя и не ясно, в таком ли виде это будет под релиз. После этих мелочей он занялся большим делом - порядком отрисовки различных объектов в окне предосмотра тайлов, ну и ещё что-то там.

 

Legris работал над сдвигом оттенков небесной части фона, чтобы выглядело опрятно. Затем двинул изменять параллаксы биомов пустыни, и внёс некоторые изменения в облака планет.

 

Кстати о параллаксах - с подачи Rho сегодня был изменён и снежный вариант. А ещё был удалён ogg файл смеха Эдди Мерфи и добавлено несколько разршураемых объектов.

 

George провёл много времени над UI. На форумах уже видели, тут в конце сообщения будет прикреплён скриншот. Сейчас решается, как всё это распихать по экрану, учитывая обилие чёртовых панелек.

 

Tiy (как обычно) занимался сразу горой дел. Помогал Legris настраивать цвета небосклона, затем занимался отсутствующими конфигами для дропа в различны биомах, чтобы движок правильно распределял вещи по сундукам, по открытым пространствам, и так далее. Потом он взял и добавил новый мини-биом и пошёл участвовать в правке новых штуковин.

 

Короче, продуктивный денёк. Может, более насыщенный, чем обычно, но ничего из ряда вон выходящего не зафиксировано.

 

Может показаться, что иногда отчёты сухие и никто ничего интересного не рассказывает. Но чтобы собрать такие вот сообщения, нужно порядком времени. Куда более важно, что все стараются вложить максимум усилий именно в разработку игры. Короче, вот такие вот дела в отделе разработки.

 

Тот самый скрин:

 

lbxfih4.png


  • 1

#188
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

7 августа. Спискота:

 

- Новый пакет поведения у первого босса

- У деревьев появилась адекватная анимация, когда их кто-то рубит

- Предприняты определённые действия касательно перемещения объектов между инвентарём и контейнером через shift+клик

- Исправлен косяк, запрещающих стирать набранную строку при зажатом backspace

- Внедрены слоты визуального отображения брони

- Небольшое исправление интерактивной области на используемых объектах

- Теперь кнопка "Е" является кнопкой "использовать" вместо правокй кнопки мыши, чтобы предотвратить случайное использование предметов при активации вторичного типа атаки

- Пачка дополнений для генератора местности, чтобы было интересно и красиво

- Все объекты получили флаг "переносится в двух руках" по умолчанию

- Попытка загрузки несуществующего изображения больше не создаёт падение клиента игры

- Билд для OS X исправлен, его чуть ранее сломали.

- Новый арт для минибиомов

- Новые мелочи для коллекционирования

- Огромное число глубоко зарытых и исправленных багов

 

спойлерИ случайные большие скриншоты, которые ничего особого не показывают
largeimage.png
large2.png
large3.png
large4.png

 

Да, я целую неделю не линковал, и никто не пнул, так что пну сам себя, и вот вам газета за август.


Сообщение отредактировал Caliber .50: 08 August 2013 - 15:30

  • 0

#189
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

8 августа. Сегодня кратко, но эт потому что много работы вокруг.

 

Добавлено ещё больше обучающих квестов, и начало для даже совсем незнакомых с песочницами игроков будет прямолинейным и доступным. Так же постоянно добавляются новые биомы, и да будет разнообразие!

 

Bartwe влепил большие улучшения в производительность игры, и теперь всё идёт очень плавно.

 

Анимация срубаемых деревьев получила немного внимания. Теперь ветки будут раскачиваться, а само дерево выше зоны срубки будет колебаться.

 

И так-то пока всё, вот вам скриншот, который вполне себе ничего.

 

starbound-2013-07-15-00-09-56-65.png


  • 0

#190
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

9 августа.

 

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

 

Главное меню и подменю получили некоторый редизайн:

 

main.png

 

Фон каждый раз будет разный и он "живой", то есть анимация присутствует и прочее.

 

Внесены некоторые изменения в механизм рендера, чтобы всё работало плавно.

Выпадающие части растений отрисовываются позади игрока.

У лавы новая текстура и параметры освещения.

Сейчас много внимания панели быстрого доступа и двум главным кнопкам на ней, к которым игрок должен иметь возможность вернуться после использования других ячеек.

Порядок частиц на Z-уровне был модифицирован.

Новые рецепты для крафта/блоков добавлены в игру.

Shift+клик теперь перемещают предметы между инвентарём и контейнером.

Поправлен специальный бонус "орлиный глаз", который дают некоторые предметы.

Исправлен баг с лианами, когда их что-то срубает.

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

Поправлена задержка при варпе на планету.

И тонна прочих очень технических вещей поправлена или дополнена.

 

"Лось вернулся, и утка на нём сидит. Это не может быть хорошо."

 

//Комментарий с ветки обсуждения: "это всё больше напоминает патчлог, чем девблог"

 

Интересное дополнение с этой же ветки: сейчас полируется контент ступени 1/10 - самой большой из всех, всего их 10. Это не значит, что готово только 1/10 игры - например, все эти меню и хотбары касаются всех ступеней, а в каждой уже давно готовы кучи вещей, рецептов и ассетов, которые не до конца внедрены. Можно сказать, что общий прогресс ступеней 2-10 стоит на отметке 80-90%. Tiy надеется, что в бете все 10 ступеней будут стоять на отметке 100%.


Сообщение отредактировал Caliber .50: 10 August 2013 - 15:56

  • 1

#191
Ssa

Ssa

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1812 сообщений
216
  • Client:Eng

Дайте людям альфу, ироды)


  • 0

#192
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

10 августа.

 

Что сегодня? Добавлена система навыков к случайно генерируемым монстрам, у каждого будет свой набор. В целом, вспомните покемонов, вот вроде того.

Когда всякого поднимаемого барахла на экране крайне много, оно всё организовывается в стопки, чтобы производительность не страдала.

Работа над полировкой панели быстрого доступа продолжается.

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

Ещё одна волна существенного улучшения производительности!

Новые менюшки появились тут и там.

И конечно же, тонна исправлений мелких багов.

 

Помните, как-то давно публиковалось видео по лесной разнообразности? Короче, идея в целом такова:

 

 

//Обновил первое сообщение в теме, линки за прошедшие месяцы на новые фичи добавил. Ещё с форумов:

- Бета не выйдет на этой неделе. Tiy извинился, что многие после вчерашнего сообщения так подумали.

- Почему нет точных сроков? Этот же чувак в шляпе сказал, что "движок новый, и мы его полируем, сами не знаем!". Я 3 раза готовил вкладку с цитатой, 3 раза она терялась, поверьте на слово, или поищите в комментах за 9 августа.


  • 3

#193
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

11 августа. Уже второй день ребята упорно отказываются подписывать "th" к цифре даты.

 

Мега-короткий отчёт от GeorgeV, ага. Ну, помимо регулярных багфиксов, были добавлены кое-какие навыки к монстрам, слегка переделаны прочие компоненты UI в главном меню и добавлены микро-подземелья в подземный слой.

Также ещё слегка изменена полоска здоровья врагов и продвинулся прогресс по работе над первым боссом.

 

Что вам показать? Вот, немного пожевать.

 

foodies.png


  • 0

#194
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

12 августа. Окей, 3 разных разработчика одинаково пропускают "th" в дате, совпадение? Наверное.

 

Привет от Mollygos!

Команда (или какая-то её часть) постепенно собирает ассеты, чтобы сгонять на Insomnia Gamimg Festival, который начнётся 23 августа и закончится 25 августа. В субботу, сцена i49, 01:00PM по Лондону - тут Yogscast будет в прямом эфире играть в текущий билд Starbound.

 

"Микропещеры", над которыми сейчас идёт работа, должны разнообразить подземные исследования и сделать их интереснее. И опаснее. Следите за ловушками!

Продолжаются правки UI. Когда монстры используют навыки, появится иконка этих навыков. Ещё немного поправлена панель быстрого доступа. И некоторая часть озвучки была улучшена.

 

Может, не очень эпические, но важные апдейты, да.

 

спойлерНаслаждайтесь крипотой в виде глазо-деревьев под дождём.gif
rain2.gif


  • 0

#195
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

13 августа.

 

Legris пишет с аккаунта Bartwe, потому что он и остальные, походу, заснули за своими клавиатурами. Посмотрим, что сегодня происходит.

 

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

 

BD20h0M.png

 

Curtis запилил ещё один музыкальный трек, который наверняка будет звучать во время создания персонажа. Продолжительность трека более 10 минут.

Продолжается полировка UI, в основном по мелочам.

Так же забросили пачку низкоуровнего барахла, которое можно будет найти в начале игры, чтобы совсем уж грустно не было.

 

спойлерМоргаем в момент фотоснимка
sLKbF2R.png

спойлерТопор не помогает, лучше свалить вглубь пещер
ND8tX7X.png


Сообщение отредактировал Caliber .50: 14 August 2013 - 13:49

  • 0

#196
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

Тут записи стрима игрового процесса на ютубе. Смотрите на тормоза (спасибо кэпу niner за инфу, что это из-за программы для стрима), глюки и то, что успели сделать. Стрим должен был быть приватным, так что как он дальше себя чувствовать будет, я не знаю.

 

Следующий девблог будет добавлен к этому же сообщению.

 

Add: Bartwe кодит в прямом эфире, прямо щас (03:19 по Москве). Для тех, кто пропустил: в основном, отладка панельки доступа, рисование тестовых объектов и компиляции по 5 минут реального времени, во время которых он болтал со зрителями в чате. Спрайты для предметов рисовались в формате .png через Paint.NET, лежат открыто, без запакованных игровых архивов - это на заметку будущим модерам.

Да, работа велась в Eclipse SDK.

 

*****

 

14 августа. Ура, вернули "th" в дате!

 

Ещё один долгий день твиков, улучшений и дополнений. Вы будете видеть такого рода уведомления остаток недели и кусок следующей, но после выставки на следующих выходных обновления должны стать поинтереснее.

 

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

Так же продолжается работа по полировке UI - по нажатию Esc у меню будет фон (уже есть, Bartwe ночью его прицепил, правда криво), улучшение списка квестов и исправление глюков панели быстрого доступа.

Добавлено ещё немного боевой музыки. Tiy возится с планетарной температурой, и вроде как завершающие штрихи вносятся в поведение первого босса. Наверное, завершающие. Никто не знает наверняка.

 

Показать толком нечего из того, что вы ещё не видели.

спойлерПотому вот гитара под снегопадом посреди ночи "потомучто".gif
guitar.gif


Сообщение отредактировал Caliber .50: 15 August 2013 - 14:16

  • 1

#197
Proletariat

Proletariat

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 756 сообщений
264
  • Channel:Help
  • Client:Eng

Быстрей бы бета уже :Е

*кэп* А записи на ютубе лагали из-за Хсплита.


  • 1

#198
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

15 августа.

 

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

 

Что сделано:

Всплывающие подсказки для брони и одежды, которые показывают как класс брони, так и степень тепловой защиты. Система позволяет так же понятно показать иные эффекты, если они присутствуют.

Убиты несколько больших багов. Например, когда броня в руках, её свойства учитывались так, словно она надета. Или другой вариант - персонажи, раздеваясь и ложась в постель, замерзали до смерти, так как постель не защищала от холода. Всё это поправлено.

Говоря о замерзании - температура по всему диапазону генерируемых планет была подвергнута ребалансу.

Добавлена пачка новой одежды в рецепты для крафта.

Слоты визуальной брони теперь полностью функционируют.

Поправлена пачка визуальных элементов тут и там, и добавлено ещё больше боевой музыки.

 

Tiy очень рад возможности лечь спать до 3 утра! Первый раз за последнее время.

Кто будет в Лондоне на i49 - идите и отпишитесь в официальных комментариях.


  • 0

#199
Caliber .50

Caliber .50

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1912 сообщений
599
  • Client:Eng

16 августа.

Всем привет от Omni, сегодня будет стена текста.

В целом денёк был занятой, в основном Omni и Bartwe играли вдвоём и убивали найденные баги (должен быть стрим на твитче). Это скучно. Кратко, что получилось, перед тем, как перейти к интересным вещам: Omni солгал, сказав, что всё ограничилось только багфиксами - с его подачи в игре появился вторичный инвентарь для автоматической сортировки материалов, так что теперь у игрока 92 доступных слота, не считая слотов экипировки. Он просто об этом забыл, денёк длинный выдался. Итак, поехали.

Сначала Bartwe сделал несколько изменений в методе отлова ошибок под Windows, пытаясь сделать трассировку стеков, чтобы получать более продуктивный отчёт при падении игры. Это поможет в будущих отладках и не является багом. Далее он убрал проблемные цифры, вылетающие при нанесении невероятно низкого урона (из стримов: снос некоторых растений). После он поправил код опасного окружения, чтобы оно умело наносить значения урона, отличные от 100% показателя здоровья игрока и поправил несколько недоглядок в вышеупомянутой фиче. Omni занимался пропущенными логическими элементами из раздела функционализма. А ещё были поправлены частицы при заносе противников - теперь они не будут генерироваться, когда это не нужно. Ну и общая чистка кода и опечаток.

Omni начал день с добавления второстепенного инвентаря. Затем он пошёл разбираться с глюками инструмента под названием BeamAxe (лучевой топор), в частности с методом рендера его лазера - смещения были неверные. Далее он поправил недосмотр в коде GUI, который мог привести к тому, что элементы Panes (панели) регистрировались в PaneManager, хотя на самом деле формально никогда не регистрировались нигде, что приводило к определённым глюкам. После этого последовали исправления в система крафта - рецепты не учитывали наличие материалов в новом инвентаре, а после того, как это было исправлено, пришлось исправлять новый баг, когда материалы не исчезали из этого инвентаря после создания вещей, ы!

Вы когда-нибудь замечали, просматривая стримы, что когда используется BeamAxe, рука персонажа начинает вести себя странно, дико вращаясь вокруг или дёргаясь, а затем медленно возвращаясь в исходное положение? Исправлено. Да, при слишком близком положении курсора встречался похожий глюк с любыми вещами - тоже поправлено. Ещё были поправлены некоторые крайние методы обработки инвентаря, о которых будет сказано позже, и очередная проблема с UI, когда не отображалось содержимое слотов "сейчас в руках" после перезапуска файла сохранения.

Позже поступили свежие баги от George, который сообщил, что навигационное меню не пропадает и не возвращается на экран корректно. Пришлось заняться и этим. Панель не получала статус как фактически существующая, к тому же её код жрал слишком много строк, так что сразу два бага поправилось. Наконец, Omni ввёл фичу, которая ему давно нужна была, да и вообще полезна - шифт+клик переносит вещи с инвентаря на панель быстрого доступа и обратно. Всё ещё определяется горячая клавиша для быстрого перемещения выбранного предмета в конкретную руку, есть идеи?

Длинный день, что сказать.

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

Вот панель доступа от Omni. Таких полно, но это лично его панель.

 

8-16_update2.png

Наверняка вы заметили, что теперь слоты L и R это реальные слоты, а не просто отображение вещей, которые выбраны где-то ещё на панели. Да, есть и двуручные предметы, как же быть с ними? Ну, это просто! Второй слот отключается и обесцвечивается:

 

8-16_update1.png

Это решение выглядит куда более элегантно, чем форсированное удаление предмета из слота и помещение его в инвентарь, где может и не быть места. "Но!" - уже слышны вопли недовольных, "Этот метод какой-то громоздкий! Где же возможность быстро переключаться между слотами? Придётся физически таскать предметы в эти L и R..."

"Не так быстро!" - отвечает Omni, "Вы всё ещё можете переключать слоты достаточно быстро".

 

8-16_update3.png

И это работает с двуручными предметами!

 

8-16_update4.png

А теперь о том, как это всё устроено.

Панель быстрого доступа управляется файлом /source/frontend/StarActionBar.hpp, совместно с cpp-файлом определяет объект, который будет обрабатываться через MainInterface, source/frontend/StarMainInterface.hpp. MainInterface отвечает за весь GUI. За инвентарь игрока отвечает класс /source/game/StarPlayerInventory.hpp, который тоже надо неплохо редактировать, чтобы всё это вообще работало.

Переходим к изменениям высокоро уровня, начнём с инвентаря игрока.

Класс инвентаря получил два существенных изменения - во-первых, там были прописаны два экстра слота, которые существуют вне остальной панели для более лёгкого внедрения. Называются они просто, "LeftHand" и "RightHand". Во-вторых, тут имеется концепт слота "сейчас в руках". Ранее использовалось отслеживание предмета, который был помечен на панели как выбранный, но для этого применялось лишь смещение значения size_t в сумке, вместо определения через InventorySlot уникальной ячейки из всего инвентаря. Пока что это не используется, но эта штука позволит пометить абсолютно любой слот в инвентаре как "сейчас в руках", вместо потенциально кривого смещения в какой-нибудь лишней сумке.

Итак, у нас есть 4 разных предмета, которые можно экипировать разными методами, у двух предметов есть 3 возможных значения, и 4 у оставшихся двух. Слоты левой и правой "рук" могут быть либо двуручными, либо одноручными, либо пустыми. Занятые, эти слоты могут быть двуручными, одноручными, выбранными (но пустыми), или просто не выбранными.

Что приводит к вопросу - какой предмет будет отображаться в левой руке, а какой в правой? Сложный вопрос - тут имеется 144 возможных комбинации двуручных, одноручных, пустых, не выбранных, и так далее. Так что единственный метод внести сюда здравый смысл, это пронумеровать каждый возможный случай. Так же это позволит поймать баги, так как тут всё прозрачно и линейно.

спойлерТекущий варианты матрицы выбора для левой руки.
// The following is a grid of the possibilities here
// Source:
// AE = Alt hEld Item, AH = Alt Hand Item
// PE = Pri hEld Item, PH = Pri Hand Item
// 2 = two handed item
// 1 = one handed item
// 0 = empty slot (selected)
// N = not set (Held items only)
//
// Result:
// X = invalid / don't care
// P = primaryHeldSlot();
// p = leftHand();
// A = altHeldSlot();
// a = rightHand();
// 0 = none();
//
///////////////////////////////////////////////////////////
// XX |AE | 2 | 2 | 2 | 1 | 1 | 1 | 0 | 0 | 0 | N | N | N |
// XX |AH | 2 | 1 | 0 | 2 | 1 | 0 | 2 | 1 | 0 | 2 | 1 | 0 |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// PP | | | | | | | | | | | | | |
// EH | | | | | | | | | | | | | |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// 22 | | X | X | X | X | X | X | X | X | X | P | P | P |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// 21 | | X | X | X | X | X | X | X | X | X | P | P | P |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// 20 | | X | X | X | X | X | X | X | X | X | P | P | P |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// 12 | | X | X | X | A | A | A | 0 | 0 | 0 | 0 | a | a |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// 11 | | X | X | X | A | A | A | 0 | 0 | 0 | 0 | a | a |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// 10 | | X | X | X | A | A | A | 0 | 0 | 0 | 0 | a | a |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// 02 | | X | X | X | A | A | A | 0 | 0 | 0 | a | a | a |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// 01 | | X | X | X | A | A | A | 0 | 0 | 0 | a | a | a |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// 00 | | X | X | X | A | A | A | 0 | 0 | 0 | a | a | a |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// N2 | | A | A | A | A | A | A | p | p | p | p | p | p |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// N1 | | A | A | A | A | A | A | 0 | 0 | 0 | 0 | a | a |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+
// N0 | | A | A | A | A | A | A | 0 | 0 | 0 | a | a | a |
// ---+---+---+---+---+---+---+---+---+---+---+---+---+---+


Понять не трудно, так как описание присутствуюет и похоже на табличку.

спойлерТо же самое в виде кода

auto priHand = underlyingPrimaryHandItem();
auto altHand = underlyingAltHandItem();

// If we have a two handed primary held item, return it
// Covers 0,0 to 2,11 submatrix
if (safeTwoHanded(primaryHeldItem()))
return primaryHeldSlot();

// If we have a alt held item, it takes priority
// Covers 0,0 to 11,5 submatrix
if (altHeldItem())
return altHeldSlot();

// if we're flagged as holding an empty item in altHeld
// and a two-handed item in our priHand, return priHand
// Covers 9,6 to 9,8 submatrix
if (validInventorySlot(altHeldSlot()) &&
!altHeldItem() &&
!validInventorySlot(primaryHeldSlot()) &&
safeTwoHanded(priHand))
return InventorySlot::leftHand();

// If we have a alt held slot selected, but not item...
// Covers 3,6 to 11,8 submatrix
if (validInventorySlot(altHeldSlot())) // implicit !altHeldItem()
return InventorySlot::none();

// If we have a no selected primary held item and primaryHandItem is two handed, use that
// Covers 9,9 to 9,11 submatrix
if (!validInventorySlot(primaryHeldSlot()) &&
safeTwoHanded(priHand))
return InventorySlot::leftHand();

// If we have no item in primaryHeldSlot, but it's selected, and we're two handed, use rightHand
// Covers 6,9 to 8,9 submatrix
if (validInventorySlot(primaryHeldSlot()) &&
!primaryHandItem() &&
safeTwoHanded(altHand))
return InventorySlot::rightHand();

// If we have have a valid one handed primary hand item, and we're two handed, return none
// Covers 3,9 to 5,9 submatrix
if (validInventorySlot(primaryHeldSlot()) &&
safeOneHanded(primaryHeldItem()) &&
safeTwoHanded(altHand))
return InventorySlot::none();

// If we have a one handed primary hand item, and a two handed alt hand item, return none
// Covers 10,9 cell
if (safeTwoHanded(altHand) &&
safeOneHanded(priHand))
return InventorySlot::none();

// Covers remainder
return InventorySlot::rightHand();


Вот это ничего себе, верно? На самом деле это достаточно трудно сделать "правильно", особенно когда это определение не так явно. Например, в случае, когда главная рука выбрана как активная, но в ней всё же ничего нет, а в слоте второй руки лежит двуручный предмет. Кажется, что верным решением будет выбрать отключение обоих слотов, но эт не самый лучший дизайн, так что альтернативная рука в данном варианте перехватывает первенство у главной, не смотря на то, что это нарушение обычного хода вещей, но это "правильно".

Далее, про область панели быстрого доступа. Теперь, когда готова почва для поддержки в игре инвентаря, надо бы добавить несколько дополнительных штук в панельку. Сначала, добавить интерактивные слоты на места L и R. Они должны что-то делать, если на них кликнуть - например, убрать выбор текущего выбранного предмета, или выстрелить из пушки, если оная в слоте и может стрелять.

А что насчёт других предметов на панельке? Это уже сложнее. Есть три способа выбрать предмет, который будет помечен как "взятый", но только ОДИН действительно отметится на интерфейсе панели. Остальные два пройдут обработку через MainInterface, потому что он отвечает за перехваты нажатия клавиш и опрашивает мышь, так что вся эта ерунда не должна быть где-то в оболочке самой панели.

 

Однако метод, который напрямую за это отвечает, не так прост! Всего есть три штуки для UI, которые отслеживаются, как и число методов выбора:

selectedslot-2h.pngselectedslot-l.pngselectedslot-r.png

 

Эти три штуки учитываются, как одна. Далее - можно скроллить колесо, чтобы выбирать положение иконки для левой и для правой руки - значения хранятся в MainInterface, так как на него все ссылки. И объект под курсором определяется через InventorySlot, и тут значения тоже хранятся в MainInterface. Все они похожи, но всё же отличаются, так как следуют разным правилам, хотя бы потому, что отслеживаются независимо друг от друга.

Например, каждый раз, когда Omni говорит "обнови то и то", логика этих контроллеров срабатывает на всех трёх вариантах, но только если это применимо к текущей ситуации, которые ещё не слишком определены, чтобы о них чётко рассказать, но всё вроде бы работает как надо - до первой серьёзной профилактики, ага.

С кликом на слотах панели есть парочка вариантов. Если кликнуть с зажатым шифтом, то будет инициирована попытка отправить предмет в контейнер, если он существует в мире и открыт. Если нет, предмет пытается отправиться в инвентарь. Если шифт не зажат, идёт проверка на открытый инвентарь, и если он открыт, предмет перемещается в "слот для перемещений", о котором ещё не было речи. Но если кликнуть правой кнопкой мыши, то предмет из этого "слота" будет применён - например, так используются предметы друг на друге, скажем, для ремонта. Если же инвентарь не открыт, предмет перемещается в главную руку и помечается как "взятый", если нажать правой кнопкой мыши - то в другую руку с тем же результатом. Затем проверка на то, что объект не двуручный, и если он двуручный, то быстренько обновляется информация по трём методам, упомянутым ранее. Если одноручный, то само собой, помещается в слот согласно ситуации.

 

Когда крутится колесо мыши вверх или вниз, или нажимаются кнопки 1-9+0 на клавиатуре, MainInterface берёт на себя заботы по этим вопросам. Код почти такой же, но проще, так как вариантов действий меньше, но всё равно проверяются все три позиции.

 

Все, кто смотрели стрим на этой неделе, видели 90% того, что выше написано. Началось всё не так гладко, потому заняло порядком времени. Всё работает и не нервирует никого, что прекрасно.

 

спойлерА теперь Omni затыкается и награждает всех прочитавших сие медалькой!
1376715994741.gif

 

//Хочу заметить, что порой понять Omni и перевести мысль дословно мне трудно :( если у кого есть конструктивные предложения по качеству - вещайте. Стараюсь переводить так, чтобы был понятен принцип - всё и правда несколько сложнее, чем выглядит на первый взгляд.


  • 4

#200
constantcrusher

constantcrusher

    Officer slayer

  • Tech III Pilots
  • PipPipPipPipPip
  • 2106 сообщений
659
  • EVE Ingame:Aurora Fortis
  • Corp:npc
  • Client:Eng

я правильно понял, что в стиме ее нет еще?


  • 0




2 посетителей читают тему

0 members, 2 guests, 0 anonymous users