alexprey alexprey

Добавил скриншоты на главную, позже загружу дневники разработки игры, где можно будет посмотреть с чего все начиналось :)

alexprey alexprey

EfReeZe, о да, тогда было знатное время и игра казалась сделано круто :D До сих пор иногда играю на телефоне от скуки)

EfReeZe EfReeZe

Это был наш далёкий 2014...

Jusper Jusper

Запись трансляции на YouTube

Jusper Jusper

Случайно сделали битву сварщиков
https://devtribe.ru/p/slash-polygon

Jusper Jusper

Внезапно на сайте потерялся 15-й выпуск. Перевыложили.

Jusper Jusper

Я вам еще не закончил писать обратную связь по боевке, есть много вещей которые немного смутили, но они поправимы. Завтра, если перестанут дергать - чиркану. Спасибо за демку!

Jusper Jusper

ruggaraxe,

Да, в этом плане все ок. Логично, что графен на старой машине, если не упарываться, не взлетит. Но я рад, что это было не 5 фпс, как даже в некоторых АА (типа Pillars of Eternity в некоторых схватках...

Jusper Jusper

ruggaraxe,

Подкреплю ее к публикации.

ruggaraxe ruggaraxe

Jusper, вот ссылка на анкету (я затупил со ссылкой с топике, сорри)
https://docs.google.com/forms/d/e/1FAIpQLSd_Wn53lJFrnfGpWI2IX...

ruggaraxe ruggaraxe

Jusper, честно говоря, да на 800х600 даже не проверяли... :) сорри. Ориентировались на FullHD и выше. Хотя над интерфейсом конечно же надо еще хорошенько поработать.
Тултипы постараемся сделать обязательно к следующей версии...

GenElCon GenElCon

Jusper,

Наверное. В прошлом они сделали Endless Legend - посмотри и сразу станет ясно в какую сторону они работают.

Jusper Jusper

GenElCon,

Я не очень понял по трейлеру геймплей. Это что-то типа цивы? Или это RTS?

GenElCon GenElCon

Humankind от разработчиков Endless Legends (и Space, но тут важно именно Legends).
А также согревающие сердца олдов трейлеры Port Royal 4 и Knights of Honor.

Jusper Jusper

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

Jusper Jusper

Первое, оно же самое тяжелое - UI. Я конечно, понимаю, что 800x600 совсем уже не в моде (завтра проверю на нормальной широформатной машине). Заблюренный текст я еще прочитать могу, но вот конкретно размер его крайне мал...

...
Jusper Jusper

ruggaraxe, я поиграл на старом маке 2012 года (Macbook Pro, Intel HD 4000), рад что с учетом довольно нагруженной по свету и теням картинке игруля не лагает как последняя сволочь (лагает конечно, но очень терпимо...

Логотип проекта Unity

Дополняем игровые скрипты

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

Потому ниже я приведу вам несколько примеров, как это можно сделать.

Из редактора

Избежать всех этих неприятностей помогут самые обычные, нативные хеш-таблицы, реализуемые через классы Hashtable и Dictionary. Единственный минус от их использования только один - у нас нет адекватной стандартной возможности проконтролировать, существует/удален из игры какой-то объект, в результате чего иногда хеш-таблицам свойственно "распухать" при работе с большим количеством данных.

Через директиву

Так же есть другие способы повлиять на содержимое игровых объектов.
Тут мы можем вспомнить директиву #if UNITY_EDITOR, Используется она прямо в игровых скриптах, в формате

#if UNITY_EDITOR
// Ваш код
#else
//Код в другом случае
#endif

Где директива #else не является обязательной. С помощью этих директив вы можете встроить в игровые классы любые данные, начиная от алгоритмов, заканчивая полями - на этапе формирования билда, все они будут отсечены.

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

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

Совет от автора

Так же расскажу вам о той практике, которую применяю самолично.
Смысл её состоим в том, что для объектов вы создаете обычное несереализуемое поле, аля

public object editorTag;

В которое закидываете любую временную информацию по своему усмотрению. Это удобно, практично, и не вызывает лишних вопросов.

Здесь еще никто не оставил комментарий

Справка