Это проверочный пост на спам ботов
Чат уже разблокирован, но возможно временно
Чат уже разблокирован, но возможно временно
🎉5❤1
ЧТО БЛИН ВЧЕРА ПРОИЗОШЛО?!
Для начала, чтобы у нас не было недопонимания - я не заказывал себе накрутку (оно мне не надо)
Во-вторых - за это могут снести мне канал (четкого правила в тг нет, но модераторы могут заметить и прикрыть нашу лавочку)
Ну и в-третьих... Я правда не понял чего это все стоило, но боюсь я не знаю кто это сделал и с какими намерениями 👍
и какая яндере за этим стоит
Для начала, чтобы у нас не было недопонимания - я не заказывал себе накрутку (оно мне не надо)
Во-вторых - за это могут снести мне канал (четкого правила в тг нет, но модераторы могут заметить и прикрыть нашу лавочку)
Ну и в-третьих... Я правда не понял чего это все стоило, но боюсь я не знаю кто это сделал и с какими намерениями 👍
❤4🔥1🕊1
Даааа, она приехала!
Джейсон Грегори - опытный геймдев-программист, специализирующийся на низкоуровневой архитектуре движка (Темный лес движка одним словом 💀)
Видел/слышал, что многие программисты хвалят ее, поэтому немедленно заказал эту шедевро-книгу. Что ж, теперь есть что почитать на лето/учебный год и писать Root Engine. А интересные моменты буду рассказывать здесь в блоге
и охренеть она толстая...
Джейсон Грегори - опытный геймдев-программист, специализирующийся на низкоуровневой архитектуре движка (Темный лес движка одним словом 💀)
Видел/слышал, что многие программисты хвалят ее, поэтому немедленно заказал эту шедевро-книгу. Что ж, теперь есть что почитать на лето/учебный год и писать Root Engine. А интересные моменты буду рассказывать здесь в блоге
❤9👍1🔥1🎉1🕊1🫡1
(Ладно, ладно, я знаю чего вы ждете. Но завтра-завтра... Дайте впервые нормально поспать хвхвхв)
🤓4
𝐑𝐨𝐨𝐭𝐓𝐨𝐨𝐥 𝐁𝐥𝐨𝐠
Неожиданный дроп, месяц работы и встречайте - A Cold Love Story Remaster (V1.1) Да-да, хоть кто-то спустя 10 лет взялся за игру Лиама Викерса (Серьезно, он выпустил ее в 2015-м) Чем можем порадовать? - Подчистка от лишних файлов - залог оптимизации (Вес…
A Cold Love Story
Делюсь с вами роликом товарища по SSTWL про криппипасту/новеллу Лиама Викерса - A Cold Love Story
(Делюсь ночью, потому что так атмосфернее)
Ролик получился хорошим, длинным и интересным
А также он хорошо пересказал оригинальную крипипасту (которую я собственно не читал), поэтому узнал от нее некоторые новые моменты
Ссылочка: тык
(Ролик с трудом делался аж 3 месяца, поддержите его как никак)
Делюсь с вами роликом товарища по SSTWL про криппипасту/новеллу Лиама Викерса - A Cold Love Story
(Делюсь ночью, потому что так атмосфернее)
Ролик получился хорошим, длинным и интересным
А также он хорошо пересказал оригинальную крипипасту (которую я собственно не читал), поэтому узнал от нее некоторые новые моменты
Ссылочка: тык
(Ролик с трудом делался аж 3 месяца, поддержите его как никак)
YouTube
Визуальная Новелла от Создателя Дронов-Убийц
A Cold Love Story - одна из первых криппипаст Лиама Викерса, создателя Дронов-Убийц, которая в последствие стала основой для всех дальнейших его проектов. И в этом ролике мы пройдёмся настолько подробно по этой криппипасте, насколько это возможно. Приятного…
🔥3❤1
🎶Солнце мое, взгляни на меня🎶
🎶Моя ладонь превратилась в кулак🎶
Что ж.... Что ж.... Прошли недели, улетели месяцы, 1 год разработки и вот она - Портал Солвер Альфа
Безусловно, это не конец. Это далеко не конец
Но кого хотелось бы поблагодарить - вас. И каждого, кого я встретил в такое короткое время. Конечно, время не вернешь, моменты что были так и останутся в памяти
Но все равно, было весело проводить время вместе. Конечно кого-то перегнула внутренняя гордыня, кто-то не поделил любовный треугольник а кто-то еще просто не подрос лол
Даже если мы больше не увидимся - то помните, что было весело провести время с вами
А еще было приятно встретить вас на релизе Альфы! Я честно и не думал что вам так все понравится. Да, были баги, хотя фичи тоже были - кататься на лазерном релее это сильно)
Очень высоко оценили саундтреки, меню, оптимизацию (вау) и кастомизацию Солвера
Собственно еще раз благодарю команду, ее бывших участников и вообще всех тех, кого когда-либо встречал. Без вас бы этот день не случился!
🎶Моя ладонь превратилась в кулак🎶
Что ж.... Что ж.... Прошли недели, улетели месяцы, 1 год разработки и вот она - Портал Солвер Альфа
Безусловно, это не конец. Это далеко не конец
Но кого хотелось бы поблагодарить - вас. И каждого, кого я встретил в такое короткое время. Конечно, время не вернешь, моменты что были так и останутся в памяти
Но все равно, было весело проводить время вместе. Конечно кого-то перегнула внутренняя гордыня, кто-то не поделил любовный треугольник а кто-то еще просто не подрос лол
Даже если мы больше не увидимся - то помните, что было весело провести время с вами
А еще было приятно встретить вас на релизе Альфы! Я честно и не думал что вам так все понравится. Да, были баги, хотя фичи тоже были - кататься на лазерном релее это сильно)
Очень высоко оценили саундтреки, меню, оптимизацию (вау) и кастомизацию Солвера
Собственно еще раз благодарю команду, ее бывших участников и вообще всех тех, кого когда-либо встречал. Без вас бы этот день не случился!
❤🔥3❤1🔥1🎉1
Опыт штука прикольная, жаль только приходит со временем
Удивительно, но сегодня начнем с Portal De Solverio
Точнее - БЕКЕНД 💀
Иронично, что в Альфе есть оптимизация, но дьявол скрыт в деталях...
Примерно чтобы вы понимали спектр моей работы сейчас - мне нужно как хирург аккуратно работать с существующей кодовой базой Альфы, перестраивать ее, переписывать, дак еще выпускать патчи
А причина?
- Во-первых... код написан сомнительно, а за год разработки я не один раз наступал на грабли, так еще сроки - нужно было усердно все заматывать изолентой, чтобы это хотя бы запустилось хвхвхвхв)
- Та и во-вторых редактор карт, да! К нему мы стремимся! От чего нужно очень сильно изменить структуру текущего бекенда Альфы. Думаете только мне одному стремно?
Сейчас конечно я начал переписывать лазеры, хотя что значит переписывать... Логика не изменится, они как работали так и будут, но само взаимодействие очень сильно изменится, с опытом тут я могу выделить пару вещей:
-
UCLASS(MinimalAPI) - удобнейшая штучка для оптимизации. Говоря простым языком - в компиляцию пойдет не весь класс, а только то, что используется. То есть если будут какие-то функции, которые "просто оставлены", но никто с ними не работают - то они не пойдут в финальный билд. Уменьшает время компиляции!-
UInterface - Интерфейсы... Да В свое время я допустил большую ошибку, когда мне нужно было обновлять лазерные компоненты по-очереди (просто потому что так надо), я накатал небольшую подсистему ULaserSubsystem от UTickableWorldSubsystem (Подсистема, живущая в текущем мире и имеющая тик), и в ней я хранил ссылки на акторы лазерных элементов и там же обновлял их состояние в нужном порядке (TX -> RX -> Cube -> Relay).
Сами понимаете, хранить ссылки на каждый класс это... не круто как-то? Так еще у меня был САМЫЙ НЕЛЮБИМЫЙ КЛАСС в Портал Солвере - LaserClass.cpp, это была тупо затычка, которая всегда багалась и вылетала из-за ТУПЕЙШЕЙ рефлексии Анрила. То компонент удалялся, то неправильно регистрировал все, то вообще... да... Нет слов одни рыданья (Интересно как Альфа еще жива хвхвхв)
Поэтому сейчас начал жествую перепись кода и теперь все строится на абстрактных интерфейсах - на деле это жесть какая удобная штука!
Хотя возникает вопрос - как хранить интерфейсы в массиве? Сделать TArray<AActor*> и каждый тик делать каст на нужный интерфейс? Ха, размечтались...
-
TScriptInterface<T> - Контейнер интерфейсов. Обычно интерфейсы являются самостоятельными классами и трудно как-то "взять их", но тут Эпики на удивление постарались и сделали нам TScriptInterface - контейнер, что хранит ссылку на интерфейс, прикрепленный к определенному обьекту. И как бы сложите это и выше сказанное и у вас получится красивенький TArray<TScriptInterface<T>> - именно так и реализовано сейчас. А так как это массив, то его можно спокойно перебрать и делать то, что хотите (вот на примере моего интерфейса ILaserInterface):for (const TScriptInterface<ILaserInterface>& Laser : LaserArray) // Перебираем каждый элемент массива
if (Laser && IsValid(Laser.GetObject())) // Если сам интерфейс и его родитель существуют (проверяйте, ибо частенько спасает от вылетов в финальной сборке)
Laser->TickLaser(DeltaTime); // То выполняем функцию через интерфейс (В моем случае тик лазера)
(Скоро будет второй пост, ибо есть что рассказать)
❤🔥3❤1🎉1🤩1🫡1
Успешно отсортировано и закомпилино 74 файлов
Теперь проект отсортирован не только в Контент Браузере, а еще в папке Source (с кодом)
(Не обращайте внимание на 4 файла, классы компилились "пачками", всего их 74)
Теперь проект отсортирован не только в Контент Браузере, а еще в папке Source (с кодом)
(Не обращайте внимание на 4 файла, классы компилились "пачками", всего их 74)
Могу выделить основные разделы:
- Elements - Классы всех элементов головоломок
- Interfaces - Интерфейсы
- Settings - 2 класса для настроек игры (да, в нашей архитектуре GConfig не раскинут по всему бекенду, а красиво собран в 1 классе)
- Subsystems - Разного рода подсистемы (Discord, GameJolt, Лазеры и тд.)
- UI - Все классы для UI менюшек
- UMG - Классы кастомных UI элементов (А вы думали мы вручную в блюпринтах для каждой кнопочки делаем подсветку текста? Ага)
Так что... проблемы компиляции - это проблемы Анрила❤2🔥1💘1