Change Log #2 (от 31.07.2017)
*Change Log #2 (от 31.07.2017)
Привет. Это западавший чейжлог №2.
Пока достаточно сложно держаться графика, и выпускать недельные чейнжлоги вовремя, но я буду стараться как можно меньше отклоняться недельного графика.
На этой неделе, к сожалению, было достаточно мало времени для работы над проектом, из-за основной работы, на которой в настоящий момент сильная загруженность.
*WEB
На этой неделе мы начали работу над редактором сокращений, и планирование блога.
Редактор сокращений это достаточно бесполезная штука, которая просто пришла к нам в голову. Мы стараемся не ограничивать себя рамками, и позволять некий фан и творчество в разработке. Если нам хочется потратить время на разработку какой-то не сильно нужной системы, которая кажется нам интересной, то мы делаем это. Просто потому, что нам это нравится.
Суть идеи проста: мы заметили, что сокращенные имена некоторых наших разработок достаточно плохо читаются, и теоретическим читателям нашего блога (ниже об этом) или чейнжлога может быть сложно понять о чем идет речь. Редактор сокращений призван решить данную проблему, позволив нам добавлять в БД сокращения и их расшифровки, выводя их потом в виде поп-апов.
Блог. Мы просто поняли, что нам нужно иметь какое-то место, где мы можем писать наши чейжлоги, чтобы в перспективе размещать их на разных источниках. Намного удобнее выносить обсуждения на источники, а исходный текст держать в одном месте, ведь так проще править и следить за ним. Да, это могла бы быть группа ВК, или мы могли бы использовать существующий блоговый движок.. Но я, например, ни разу не писал своего блога. Пора исправлять :)
*SAMP
На этой неделе я занялся созданием экрана создания персонажа.
Там у нас предполагается распределение статов, как это например сделано в небезызвестном фоллауте. Но не успев дойти до момента создания TextDraw'a для распределения скиллов я наткнулся на проблему с анимацией камеры. По плану у нас на экране выбора скинов камера движется по разным районам, показывая Actor's в разных скинах. Я сделал это через функции интерполяции камеры, но сразу понял, что это совершенно неудобно для меня, и хранить позиции камеры, настройки и скорости переходов и прочее в исходном коде... ну совсем не хочется.
В результате я решил создать редактор для создания кинематографических (cinematic) камер, которые могут переключаться друг на друга динамический, в зависимости от значения флагов, переменных (внутренних, тех которые созданы для этих камер).
Достаточно сложно описать свою идею детально, в ближайшие дни завершу и предоставляю видео-демку, так будет проще и понятнее.
На эту неделю все. Мотивация пока не покидает, проект развивается, но если признаться, то по сравнению с первыми этапами разработки мы потеряли некую системность, и позволяем себе двигать наши внутренние сроки, что я считаю уже достаточно плохой тенденцией.
Change Log #3 (от 9.08.2017)
*Change Log #3 (от 9.08.2017)
Да-да, это в очередной раз запоздавший чейджлог №3.
Когда-нибудь я смогу следовать недельному графику.
*Mental
Решил добавить новую "рубрику", в которой можно писать о моральном состоянии, о трудностях мотивации, о тайм-менеджменте. Опять же повторюсь: если это никому не интересно это совершенно не беда. Эти заметки дублируются ко мне в Evernote, и писать их имеет смысл как минимум для личного контроля и мониторинга себя, своей производительности, своего настроя и т.д..
В настоящее время из-за большой занятости сложно выделять достаточно времени на разработку.
Код в последнее время пишется без тестирования в игре. Максимум - через консоль сервера. Сейчас имеется уже около 1.5-2 тыс. строк кода, которые я не смотрел в игре вообще.
С одной стороны это интересный и полезный для любого программиста опыт, ведь очень сильно развивает и задействует абстракцию. Но с другой... велик шанс, что при тестировании в игре функции начнут выдавать непредсказуемый результат которого я не ожидал, и в лучшем случае это приведет к правкам кода.
В выходные в последнее время не занимаюсь проектом вообще: стараюсь выделять их под отдых, чтобы не перегорать от большого кол-ва работы.
Из другого интересного опыта: заметил что обещания (даже если в пустоту) довольно сильно мотивируют. Когда вспоминаешь о них, то ощущаешь внутренний пинок, мотивирующий работать усерднее чтобы успеть в срок. Смею заметить, что скорее всего это актуально далеко не для всех. Есть люди которые без зазрения совести могут нарушать сроки и обещания, поэтому данный опыт скорее всего субъективен.
*SAMP
В ходе разработки нашей системы "умных" камер CMT я понял, что нужен какой-то инструмент для админов, который может выделять объекты, двигать их, задавать позиции, вращения...
Так родилась идея админ-тула, или админ-палочки. Это специальный инструмент, который поддерживает различные режимы (неограниченное число, он имеет удобное API чтобы расширяться без изменения собственного кода). Каждый режим позволяет выделять и манипулировать различными объекта (здесь под понятием объект не 3д модель, а сущность: пикап, дома из системы домов, редактирование ЗЗ, создание рекламных щитов и т.д.).
Данный админ-тул будет центральным инструментов для манипуляции структурами сервера, позволив работать более визуально, и частично абстрагироваться от команд и запоминания ID объектов или элементов различных систем сервера.
Все наши системы будут использовать данный инструмент (если он им нужен, разумеется).
===========================================================================
На данную неделю все. К сожалению пока мало визуала который можно показать, но надеемся через месяц (а может и меньше) мы уже начнем демонстрировать скриншоты и гифки систем.
Здесь, как и в разработке любого другого ПО справедлив закон Парето. Сейчас у нас те самые сложные 20% результата и 80% работы, которые отвечают за основную программную базу сервера :)