В данной записи к автору то же самое замечание, что и в более поздней его статье. Опять же стремление сохранить байты на типах переменных в структуре LevelManager.
Во-первых выравнивание данных в памяти вероятно сделает автору бяку и если уж так важно сохранить память, то можно было бы воспользоваться атрибутами StructLayout, если, конечно, они работают в Unity.
Во-вторых, попытка сэкономить память в скорее всего единичной сущности попросту нецелесообразна. Это все имело бы смысл, если бы использовалось большое множество значений этой структуры, тогда в совокупности можно было бы надеяться на какую-то экономию. В данном же случае имеем наоборот одинокий менеджер, поля которого будут интенсивно использоваться вследствие чего опять возникнет уже один раз описанная мной в комментарии дополнительная работа. В таких условиях не зазорно было бы не поскупиться на память такой важной структуре.
Глаз зацепился за это и решил разобраться.
Автор категорически не прав - использование типов short или byte для индексов в цикле только ухудшит ситуацию.
По сравнению со случаем использования int-индекса в данном случае в IL-коде инкремента будет еще функция преобразования <результата сложения индекса и единицы в стеке> в тип Int16(short). И в коде ассемблера, в который JIT-компилятор преобразует IL-код, эта лишняя работа никуда не исчезнет, а будет выглядеть как что-то вроде movsx eax, ax. То есть мы экономим 8 или 16 бит, но имеем гарантированно дополнительную работу в цикле. Это просто дичайше не целесообразно.
Только-только у нас в names по каким-то причинам (не обязательно нежданно, просто на определенном этапе оказалось, что нужно вмещать больше данных) разрастется до длинны, выходящие за ограничения byte или short как сразу все летит к чертовой матери и садись меняй типы в коде.
В целом байтодрочерство почти всегда не оправдано. Процессоры привыкли работать с 32-битными числами. Да и, думаю, не нужно объяснять, что, учитывая вышеописанные издержки, стараться сохранить несколько бит просто глупо. Тем более когда выравнивание данных может внезапно нивелировать драгоценные ваши старания по сохранению памяти..
Перечитал комментарии. На данный момент мое дилетантское мнение таково, что json дает хорошую читаемость в простейших случаях + всякие библиотеки, чтоб не писать самому. Во всех остальных случаях, думается, своя сериализация будет лучшим решением, потому что:
Вы понимаете, как работает ваша сериализация. И если будете ловить какие-то баги, то понимаете, как ее исправить, чего не скажешь о какой-то либе, начинку который вы не знаете.
По производительности как конечное решение своя кастомная сериализация всегда лучше.
В деньгах даже самый расточительный игрок не нуждается.
К сожалению, проблема всех RPG. Лечилась мало где. Из того, что могу вспомнить - в Dragon Age: Awakening можно и нужно было вкачивать крепость. Стоило дорого, деньги лишними там не были никогда и вообще на моей памяти их никогда не было много, все покупалось "на последние".
То есть там предложение потратить деньги было намного больше спроса. Поэтому приходилось выбирать. Melissa:
Урон от падений - как же громко и гневно я орал! 2 метра - всё хорошо, 3 метра - урон, 4 метра - большой урон, 6 метров - насмерть с любым количеством хп, даже с мутагенами на здоровье и зельем на макс. хп.
Но есть же блипринты в UE или ассеты типа Playmayker в Unity. (хотя как по мне это дикость и обоснованно, если чел типо геймдиза не знакомый с программированием набрасывает прототип)
Все равно придется разбираться хотя-бы с основными сведениями как это все работает, не надо волшебную таблетку искать. Посмотри даже на Гуй в Варкрафте - он прост, но ограничен.
Прочитал / промотал по диагонали. Контент качественный: расписано и адекватно показано в видео. Далее фидбек с моей колокольни.
Лично меня всегда удивлял подход в подетальном разборе и систематизации буханки хлеба. Зачем подвергать бедную буханку хлеба таким испытаниям - ее просто нужно сожрать.
Отходя от варкрафта, на самом деле это скорее такой вот тренд геймдизайна в целом - разобрать все по винтикам, декомпозиция. Лично я сторонник подхода "сразу в бой" - примерно то, что написал Эльрат. Ну и в общем конфликт подходов уже был раскрыт ранее в других темах в срачах, так что не вижу смысла повторятся. Тут просто у каждого свои подходы.
И в принципе ясно одно: от какого у вас хороший выхлоп, тот и надо использовать. Так что пробуйте.
Иногда задача выживания может и не стоять вовсе. Например, я бог какой-то херни, мне в жертву люди приносят других людей и хотят, чтобы я им призвал монстра - и я им демона с рогами заделаю, например. Почему демона с рогами, какая функция эволюционная у его рогов? Да фиг его знает: присылаю именно вот такого вот монстра, потому что он создан в соответствии с религиозными кошмарами других людей, чтобы он уже своим видом дизморалил врагов моего культа и внушал уважение ко мне в глазах всех. Такой вот "божественный" понт.
У меня был самый маленький срок службы, психологически очень легко.
Хотелось попробовать каково это. У меня всегда были сомнения насчет отзывов о армии - думал, что люди просто ноют (и да, таки ноют каждую неделю мамкам и девушкам, когда телефоны дают). Короче, думал, что это изнеженное поколение наше так преувеличивает все.
Нечего мне больше делать, как до 27 мотаться, ожидая повестки. И меня этот военкомат достал, как начинается процесс, недели 2-3 рабочих можно из жизни выкидывать на медкомиссии.
Армия прервала распределение, бесплатно. Так что тут очень удачно получилось.
Что, прямо такие дураки офицеры? Уж прямо такие дураки?
Есть нормальные чуваки, но они преимущественно младшие, ну и командир подразделения у нас норм был. Есть просто откровенные идиоты. Но это в целом неважно, потому что в этой системе у всех начинается показная армейская дурость - не знаю как еще это назвать по-другому. Просто кто-то заигрывается, а кто-то нет.
Есть некоторые люди (преимущественно младшие офицеры, сержанты), с которыми было очень интересно поговорить во время нарядов, даже про игры - то есть с человеческой точки зрения они норм, но вот это вот мотивация жизненная их типо "пришел в армию и сел на жопу ровно, деньги платят, никуда не развиваюсь, ну а зачем с такой работой" - она меня очень удручала, поэтому в конечном счете они для меня были просто добродушными людьми, но которых я бы умными не назвал. Я не знаю, как можно так забивать на свою жизнь.
Случится может то, что он внезапно захочет на контракт, потому что на гражданке работы не найдет - как нам говорили после дембеля из людей, которые говорили мол "так и так, хорошо, что больше никогда не увижу эту организацию" выстраиваются очереди в часть с просьбами "возьмите меня бедненького на контракт". неудачники
Контрактники, которые сразу после срочки, туда идут в основном от безысходности. У офицеров же, которые в какой-то там академии военной проучились другая мотивация. они просто тупые
Фишка в том, что среди прочих равных обычных работ контракт реально неплохая штука. Потому что: 1. Платят сильно больше и платить будут в любом случаи в любые времена, льготы и прочее. 2. Ты не работаешь, а просто находишься в цирке рабочий день и тебе в нем надо просто не отхватить от командира, к работам же не привлекут почти никогда, потому что для этого есть срочники.
Срочник уже научился мало-мальски этот цирк терпеть и вот он прихордит на гражданку, а там он никому не нужен, ничего не умеет, ну и через несколько месяцев думает - а пойду ка я в армию, буду там вола гонять и за это деньги получать.
Вам бы открыть список кураторов в Стиме и позабошлять им бесплатных ключей, чтобы они отзывы написали. А то на нее недавно один блоггер, который у меня в друзьях текстовый отзыв оставил и она уже у меня вот неделю на главной висит. Короче, рекомендации - страшная сила.
Эльрат занимался этим до того, как это стало мейнстримом)
Абсолютно не согласен логически со мнением, что если человек патриот, то он не должен пользоваться импортной продукцией. Только в том случае, если хвалит отечественный товар, а сам покупает импортный соглашусь, что это противоречие.
Процессоры Эльбрус - он не для игор создавался, не суди лезвие картофелечистки по способности резать хлеб.
» Дневник одного повара / Заблуждения ученых или мое мнение.
» Дневник одного повара / [Стена блога]
Ред. AsagiriGen
» Game Dev / Правильный подход к разработке игр. Часть №2
Ред. AsagiriGen
» Блог DasBro / Оптимизация кода в Unity3d
Автор категорически не прав - использование типов short или byte для индексов в цикле только ухудшит ситуацию.
Ред. AsagiriGen
» Unity / Сериализация объектов в C#
Ред. AsagiriGen
» Хочу домой забрать! / Мнение о Ведьмак 3
То есть там предложение потратить деньги было намного больше спроса. Поэтому приходилось выбирать.
Melissa:
Ред. AsagiriGen
» Fa_losophy / Движок 3D игор
» Монстрофилию в массы / Новогодний запоздалый комикс
» Шатер GenElCon'a / Шатер GenElCon'a
Все равно оставлю на память.
Ред. AsagiriGen
» Огонёк Феникса / Теория по созданию уровней Warcraft 3
И в принципе ясно одно: от какого у вас хороший выхлоп, тот и надо использовать. Так что пробуйте.
» "The crow" блог / С наступающим 2019 годом!
Ред. N7 Molot
» Unity / Постепенное увеличение скорости спавна объекта
» Tiodor's Art / Сквиг
» AzaZzell / Игровые механики
» AzaZzell / Вторая половинка
Ред. AsagiriGen
» Шатер GenElCon'a / Армия: плюсы и минусы
Ред. AsagiriGen
» Шатер GenElCon'a / Армия: плюсы и минусы
Некоторые минусы об этом и были целиком, если перечитаете.
» Шатер GenElCon'a / Армия: плюсы и минусы
» Блог не Блогера / ТОП-4 бесплатных игр
Alien Swarm
Battle for Wesnorth
Path of Exile
Бесконечное лето
Ред. AsagiriGen
» Шатер GenElCon'a / Армия: плюсы и минусы
Ред. AsagiriGen
» Шатер GenElCon'a / Армия: плюсы и минусы
НО после каждой бани я видел много так и неподнятого мыла на полу)0))
Ред. AsagiriGen
» Шатер GenElCon'a / Армия: плюсы и минусы
Контрактники, которые сразу после срочки, туда идут в основном от безысходности. У офицеров же, которые в какой-то там академии военной проучились другая мотивация. они просто тупые
» Гейминг / Старая RTS, которую я потерял
Ред. AsagiriGen
» Tiodor's Art / Dead Dungeon - Ребята, поддержите нас
Ред. AsagiriGen
» Дневник одного повара / Виды людей
Процессоры Эльбрус - он не для игор создавался, не суди лезвие картофелечистки по способности резать хлеб.