Да, для большинства опытных игроделов статья не нужна. Но для новичков, как я, который окончил в 80-х ВУЗ спец ЭВМ, пару лет сидел на ассемблере и через 30 лет решил сделать игрушку на современном движке, то..вполне полезная. Мне сейчас всё новое полезно)
xankim
> пару лет сидел на ассемблере и через 30 лет решил сделать игрушку на
> современном
30-2=28. чего делали то за эти двадцать восемь лет?
Rikk
Ну, Вы-то хоть не идиотничайте, человек и так сейчас поймет, что не туда зашел.
gudleifr
> Ну,
ок.
Предвидел такой вопрос. -Подскользнулся, упал, перестройка, очнулся,другая специальность,гипс.
А чего это я не туда зашел? Игру сделал.Показал.Жду откликов.
xankim
> Игру сделал.Показал.Жду откликов.
Для получения отклика переведите указанную сумму на указанный номер...
Здесь не форум тех, кто что-то сделал, здесь форум, где продают несделанное.
gudleifr переведите указанную сумму на указанный номер. Может прям мне в гроб? Только вай-фай там оборудуйте и ноутбук небольшой..
Хорошая статья но значение уникальности игры сильно преувеличено.
Уникальность нужна для игр у которых качество реализации плохое, а если качество реализации на высоком уровне то можно и еще один тетрис сделать и заработать.
Zemlaynin
int a=5*2;
а не:
int a=5<<1;
Это совет, который был актуален лет так 20-30 назад. Я вас удивлю, но не только железо развивается, но и компиляторы/трансляторы/etc. Устарели такие методы.
Стоит также отметить, что такие методы не только являются бесполезным действием, но еще и вредны с точки зрения построения логики программы. От таких вещей надо избавляться. Умножение на 2 несет определенную смысловую нагрузку, а смещение влево на 1 бит - несет другую.
Larboss
> От таких вещей
так чего делать то нужно
1 умножать на два
2 делать сдвиг влево
?
Rikk
> так чего делать то нужно
compile time calculation
Rikk
так чего делать то нужно
1 умножать на два
2 делать сдвиг влево
?
Ничего. Случай абстрактный. Но немного слов для понимания, кто впервые это видит.
Первое, с точки зрения производительности эти строки кода одинаковы. Конкретно такие вычисления - "вычисляемые константы", вы даже сами в уме умножите 5*2, как увидите это выражение, также и компилятор поступит во время компиляции. Таким образом, во время исполнения программы (runtime) ЦП не будет делать умножение, а просто возьмет уже готовое значение из памяти. Уже выше упомянули.
Второе, что КОНКРЕТНО нужно делать в вашем коде знаете только. Но не верно выбранный вариант может разрушить логику программы. Например,
[смещение] * 2 += С + 2
- "каждому второму юниту в отряде мы апнули некоторый параметр". А вот теперь вместо "* 2" поставьте "<< 1":
[смещение] << 1 += С + 2
. Чувствуете, как логика отклеилась?
Larboss
> Чувствуете, как логика отклеилась?
а как?
Rikk
В первом случае с "* 2" логика работы очевидна без комментариев (то, к чему надо стремиться), а во втором - нет.
Тема в архиве.