Notebook: GameLab – Telegram
Notebook: GameLab
32 subscribers
247 photos
1 video
1 file
16 links
Полевая записная книжка разработчика игр
https://news.1rj.ru/str/AnimusMortis
Download Telegram
Каджит качает ближний бой
😁3
Побывал вчера на митапе Prototype vol. 1/23

Ниже опишу впечатления...
👍2
И так, митап Prototype...

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

Об организации

На улице по пути к митапу стояли (уже с утра подзамёршие) волонтёры, которые указывали путь заплутавшим гостям (надеюсь они там стояли не долго, ибо ветер был сильный). Не могу сказать, что место проведения было сложно найти, но без волонтёров у многих гостей могли быть с этим трудности, ибо вход был отдельный с торца здания.
На самом же мероприятии была охрана, которая следила за порядком и так же помогала с поиском пути до туалета (да его ещё нужно было найти).
Всем зарегистрированным гостям выдали именные бейджики (см. сообщение выше), как сказали на ресепшене – без бейджа не пускают, потому регистрация обязательна. С одной стороны, это круто, ибо приобщает к тусовке и можно вспомнить имя собеседника глянув на бейдж. С другой стороны, если не успел подать заявку – не попал на митап. Хотя я бы посоветовал сделать не подвесной бейдж, а с креплением на одежде, чтобы сразу можно было прочесть имя человека, а не опускать взгляд к животу.
Так же понравилось, что организаторы подготовили бесплатные завтрак и вечерний фуршет. Обед увы пришлось искать самому, но это мелочи.
В конце вечера началась «дискотека» с вином и шампанским, а также квизы и другие развлечения от организаторов с призами.
Когда я уходил народ уже во всю отплясывал)

О лекциях

Были подняты темы о том, что сейчас с геймдевом в России, как найти издателя и инвестиции (на мой взгляд очень актуальная тема, особенно с учётом того, что на встрече в основном были инди и стартапы). Так же был отдельный за для инди разработчиков и зал дня киберспортсменов и около того. Я лично слушал лекции как в главном зале, так и в инди, ибо мне это близко.
Ведущие по итогу лекции выбирали лучший вопрос от зрителей и награждали их за активность. Увы на вопросы было выделено не так много времени и многие не смогли задать свой вопрос спикерам.
Те, кто не смог послушать лекции по тем или иным причинам, могут посмотреть запись трансляции (огромный плюс оргам!) - https://prototype.ru

О гостях

Было, на мой взгляд, около 500 человек. Разношёрстных, но в основном молодых. Большинство из тех, с кем познакомился были либо студентами, либо только-только начали работать по профессии в стартапе или в инди команде.
Но также были и люди с опытом и те, кто уже основал свой стартап или небольшую студию.
Народ очень быстро разбился по группам и общался внутри своей малой группы весь день. К вечеру мои силы на социальную активность кончились, и я начал замечать, что народ сам не идёт на контакт. Возможно, у остальных тоже закончились силы или же это побочка работы в IT…

Итог

Мероприятие понравилось. Получил новую инфу на лекциях и успел познакомиться с новыми людьми и встретить знакомых из индустрии.
Кто не был, советую посмотреть лекции и если будет повторение митапа, то сходить)
👍3
#Теория
Ключевые слова static и const в С#

На языке C# ключевое слово static и const используется при объявлении методов, переменных и классов.
Static обозначает сущности, которые не могут быть повторены. Они не являются частью какого-либо экземпляра класса. Static часто увеличивает производительность программ, но делает их менее гибкими.
Реализация программного кода статического класса ничем не отличается от программного кода обычного класса за исключением двух основных свойств. В сравнении с нестатическим классом, статический класс имеет следующие свойства (отличия):
• нельзя создавать объекты статического класса;
• статический класс должен содержать только статические члены.

Разница между static и const

Static создает переменную, принадлежащую собственно типу, а не его экземплярам. А const объявляет переменную не доступную для изменения. Единственное, что их объединяет это возможность обращения к ним как из статического контекста, так и из экземпляра класса.
Одно тонкое, но решающее отличие заключается в том, что const вычисляются во время компиляции, тогда как static вычисляются во время выполнения.
👍3
😁21🌚1
#Практика
URP и источники света

Столкнулся с задачей, где необходимо сделать множество источников света на небольшой площади. Unity "из коробки" сильно ограничивает количество источников. При активации новых светил, старые просто отрубаются, что вызывает ощущения нехватки энергии на их поддержание.

В URP изменения кол-ва света до неограниченного появилось не так давно с версией 2021.2.
Для этого необходимо найти asset URP-"уровень графики"-Renderer. В моём случае он назывался URP-HighFidelity-Renderer. В нём в графе Rendering изменить строку Rendering path на Deferred. И вуаля! Всё заработало!

Если хотите иметь ограничение, но изменить его значение можно поиграть с другим параметром:
Находим URP-"уровень графики" в нём параграф Lighting и меняем значение Per Object Limit (от 0 до 8). Мне этого было мало, но возможно кому-то облегчит жизнь.

Помните, что чем больше источников света, тем больше нагрузка на GPU.
🔥1
#Теория

Абстрактный класс и метод

Абстрактным классом называется класс, который содержит один или несколько абстрактных методов.
Абстрактный класс не может использоваться для создания объектов.
Как правило, абстрактный класс описывает некий интерфейс, который должен быть реализован всеми его производными классами.
Абстрактный метод языка C# не имеет тела метода и аналогичен чисто виртуальному методу языка C++.

Чем отличается абстрактный метод от виртуального c#?

Абстрактные методы используются для описания методов, которые должны иметь все производные классы, виртуальный же метод предоставляет возможность переопределить метод в производном классе (изменить поведение объекты - через них в C# реализуется классическая форма полиморфизма). Из этого стоит выходить при выборе какой вид метода (абстрактный или виртуальный) нужно использовать.
Виртуальный метод – это метод, который МОЖЕТ быть переопределен в классе-наследнике. Такой метод может иметь стандартную реализацию в базовом классе. Абстрактный метод – это метод, который ДОЛЖЕН быть реализован в классе-наследнике. При этом, абстрактный метод не может иметь своей реализации в базовом классе (тело пустое), в отличии от виртуального.
👍1
😁2
Я создал свой проект-резюме, в котором привел примеры завершенных мною проектов и их описания.
Рассчитан на ПК, управление стандартное для шутеров или RPG.

Ссылка: https://ssmartproger.ru

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

Если у вас есть какие-либо комментарии или отзывы по поводу этого проекта, пожалуйста, оставьте их под этим постом.
👍5
#Теория
Ключевого слова partial
Разделяемые классы

Существует несколько ситуаций, когда желательно разделение определения класса.

-При работе над большими проектами распределение класса между различными файлами позволяет нескольким программистам работать с ним одновременно.
-При работе с использованием автоматически создаваемого источника код можно добавлять в класс без повторного создания файла источника. Visual Studio использует этот подход при создании форм Windows Forms, кода оболочки веб-службы и т. д. Можно создать код, который использует эти классы, без необходимости изменения файла, созданного в Visual Studio.
-При использовании генераторов источников для создания дополнительных функциональных возможностей в классе.

Пример:
public partial class Coords
{
private int x;
private int y;

public Coords(int x, int y)
{
this.x = x;
this.y = y;
}
}

public partial class Coords
{
public void PrintCoords()
{
Console.WriteLine("Coords: {0},{1}", x, y);
}
}

class TestCoords
{
static void Main()
{
Coords myCoords = new Coords(10, 15);
myCoords.PrintCoords();

// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
// Output: Coords: 10,15


Подробнее в документации: https://learn.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods
👍1
😱3
Одна ошибка и ты ошибся...
За что так дизайнеры не любят людей с навыком слепой печати?
🫡2
🔥2
😁2
С наступающим новым годом! Что б баги были в радость, а релизы в сладость!) Успехов на работе и новых достижений в личной жизни!
🎉2
Новости:
Компания Unity объявила о новом масштабном сокращении — фирма уволит 25% своих сотрудников, речь идёт про 1800 человек на разных позициях. Это уже четвёртое сокращение в компании за последний год, предыдущее произошло в ноябре 2023-го , когда работу потеряло 265 сотрудников.

Решили что нельзя заработать на установках и решили сократить расходы на персонал?...
Разработчик до приобретения коммерческого опыта:
😁4
👍3
👍3
👍2