Pull to refresh
7
0
Alexey Fedotov @gcc

Пользователь

Send message
Я вообще не любитель core-жанров. Но видеть гроулящего профессора математики профессора физики (как оказалось), тем более с фамилией Мориарти — всё равно круто :)
Речь о примитивных типах. В контексте перегруженных операторов вообще трудно рассуждать о подобных оптимизациях.
Используйте префиксную форму инкремента и декремента

Однажды в книге Game Engine Architecture я наткнулся на следующий абзац:

Notice in the above example that we are using C++’s postincrement operator,
p++, rather than the preincrement operator, ++p. This is a subtle but sometimes
important optimization. The preincrement operator increments the contents
of the variable before its (now modified) value is used in the expression.
The postincrement operator increments the contents of the variable after it has
been used. This means that writing ++p introduces a data dependency into your
code—the CPU must wait for the increment operation to be completed before
its value can be used in the expression. On a deeply pipelined CPU, this introduces
a stall. On the other hand, with p++ there is no data dependency. The
value of the variable can be used immediately, and the increment operation
can happen later or in parallel with its use. Either way, no stall is introduced
into the pipeline.
Of course, within the “update” expression of a for loop (for(init_expr;
test_expr; update_expr) {… }), there should be no difference between
pre- and postincrement. This is because any good compiler will recognize that
the value of the variable isn’t used in update_expr. But in cases where the
value is used, postincrement is superior because it doesn’t introduce a stall
in the CPU’s pipeline. Therefore, it’s good to get in the habit of always using
postincrement, unless you absolutely need the semantics of preincrement.

Т.е. совет — делать с точностью да наоборот. Не указано, к каким процессорам это применимо, поэтому исхожу из предположения, что к большинству современных, в т.ч. на PC и игровых консолях. Что на этот счёт скажете?
Использование шейдеров будет весьма полезным в разработке любого вида игр

<зануда>Очень полезно, тем более когда любой актуальный графический API требует написать шейдер для рендеринга даже простейшего треугольника.</зануда>
Если бы речь шла только о Unity, то можно было бы понять, почему о шейдерах рассуждается в таком ключе — движок позволяет что-то нарисовать без единой строчки кода. Но тогда при чём тут

Например, чтобы успешно использовать технику эмуляции выемок и вмятин (normal/bump mapping), программисту необходимо знать и понимать закон отражения и преломления света.

если в Unity это всё равно уже давно за вас реализовано.
Такое впечатление, что эти комментарии пишутся по инструкции. В ней сказано, что при виде поста с описанием недостатков некоторой ОС нужно немедленно ответить автору, что он просто мало поел кактуса не удосужился поменять привычки. Вне зависимости от того, под каким углом раскритикованы недостатки.

Я тоже работал в нескольких системах (в MacOS — лет 6) и так и не смог избавиться от ощущения, что некоторые «тонкости работы с ней» просто бесят. А ещё никак не получается работать в ней с приемлемой скоростью (без их знаменитой клавиатуры тут не обошлось). И да, я только «за» менять привычки, если мне предлагают равнозначное или лучшее решение. Только вот когда реализация определенной функции противоречит здравому смыслу и снижает скорость работы, привыкание затягивается.
Игра должна чем-то цеплять, но я бы не стал считать сюжет самым сильнодействующим хуком. Те же элементы песочницы и высокая степень реиграбельности способны затянуть ещё похлеще. Игра может подогревать интерес игрока возможностью исследовать и делать открытия. В Лидерах продаж в Стиме в категории Инди немало подобных игр с довольно слабым сюжетом, например, The Binding of Isaac, Terraria, Subnautica (которая привлекла интерес еще до того, как в ней появилась сюжетная кампания), Don't Starve, The Long Dark (аналогично Subnautica), FTL, Papers, Please. Ещё можно вспомнить Antichamber, который просто выносил мозг своей механикой, хотя и не был «песочницей».
Перевод был на хабре

Увидя в рассылке заголовок, сначала подумал, что моя статья опять по ошибке попала в ленту :) Неплохой перевод! Спустя 4 года свой мне кажется уже не таким хорошим, как тогда.
Блин, я до последнего ожидал, что будет хоть немного конкретики о том, что за ошибка :(
Ссылку всегда можно вставить обычным текстом.
В итоге всё опять свелось к шапкам :)
Опять глянец на корпусе, опять исцарапается.
Я только одного не понял — зачем им всё это выдают? В моем представлении персонаж ГМу нужен только для присутствия в игре и общения, и тусуется он обычно в какой-то специальной локации, либо просто невидим. Если под ГМом в статье подразумевается просто сотрудник Blizzard, то другой разговор.
Woman = {};
--наследуемся
extended(Woman, Person)

Было бы еще прикольнее писать Woman = extend(Person)

Если кто-то путается где ставить точку, а где двоеточие, правило следующее: если обращаемся к свойству — ставим точку (obj.name), если к методу — ставим двоеточие (obj:getName()).

Чтобы действительно не путать, лучше запомнить смысл двоеточия — это просто синтаксический сахар, который неявно добавляет к функции первый аргумент self. Можно было бы использовать точку, но тогда пришлось бы явно добавлять аргумент самим, чтобы иметь доступ к объекту, для которого вызван метод (документация).
Продаю в Asset Store пару пакетов примерно года 2. При том, что времени на их создание ушло примерно недели три, доход они приносят, хоть и не большой, но стабильный, и без каких-либо усилий с моей стороны. В то же время игры, на которые уходит гораздо больше сил, обычно зарабатывают парвые несколько недель, после чего скатываются в ноль. В соотношении затраченное время/заработок Asset Store зачастую может оказаться более выгодным вариантом, хотя и не принесет тех денег, которые может заработать действительно хитовая игрушка :)
К этому всё идёт.
Сейчас вы признали, что я дурак для вас, и то что вы для меня тоже дурак) зачем мне переходить на сторону дурака, если я сам дурак?DDD

Этот разговор сам по себе очевидным образом показывает, как стороны друг к другу относятся.
Т.е обсирания моего труда, и «человекоЧасовЗатрат» на перевод данного текста, это нынче не к категории оскорбления приписывают?

Никто ваш труд не обсирал, вы себе это додумали. Жесткая критика — это не обсирание.

даже те кто и примитивно мало знаком с английским, т.к в школе учил Немецкий скажем, или Французкий.

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

вы поймите, я не для вас статью переводил

В сотый раз объяснять, что статья неважная по совокупности факторов, а не по какому-то конкретному (например, по ее значимости для опытных игроделов), я не буду. Для меня, не для меня — это вообще не вам решать. Статью может прочитать кто угодно, и вам не повезло напороться на меня. И вообще, я уже говорил, что для тех же новичков такая статья — это издевательство.
я ошибку которую увидел (два слова слитно, исправил сразу же) но далее пошли оскорбления

Ладно уж я молчу про кучу остальных ошибок в ваших комментариях. Однако вы продолжаете использовать скобки совершенно неверно. Вы неисправимы.

но далее пошли оскорбления

Оскорбления на этой странице впервые прозвучали в мой адрес, так что не надо тут обид. Никто вас не оскорбляет, пока вы сами не нарветесь. Кто к нам с чем и зачем, тот от того и того.

Нормальный бы человек отписал, у вас тут ошибка такая та, будет правильно так, то

Когда припекает от градуса неадекватности автора, нет никакого желания еще и облегчать ему работу по исправлению ошибок, иначе последняя извилина в его мозгу сгинет окончательно. Нормальным людям я обычным образом указываю на их опечатки. Хотя обычно это даже не требуется — другие тексты и с ошибками не стыдно читать.
Какому вот нытью?

На досуге поймёте.
Фраза «Если вы спорите с дураком, то, может, он делает то же самое» не выходила у меня из головы уже давно. Но я, бывает, верю в чудо, что людей можно поменять. Увы :(
1
23 ...

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Works in
Registered
Activity