Karpion, для js аргументы - это просто локальные переменные функции, которые инициализированы извне. Так что она может их хоть 1000 раз менять, но "снаружи" об этом никто не узнает.
Только если сама функция передаст эти аргументы куда-то. Но в чем тогда принципиальная разница по сравнению с локальными переменными? Так что не ясно, почему функция не может менять свои аргументы.
К сожалению, коротко объяснить не получится. Слишком обширная тема, а в моём распоряжении лишь пара абзацев. Вы хотите быстро понять, а это невозможно. Как я уже говорил, понадобится 1 год или даже больше на обучение - книги, лекции и т.д.
Что такое игровой движок, как раз легко нагуглить., как и то, что такое языки программирования. Самый популярный движок - Unity, он же рекомендуемый для первой игры. Язык - C# ("си шарп"). Хотя даже это приличных размеров статьи. А вот на всё остальное нужно гораздо больше времени.
Егор Артемов, я лишь сказал, что любопытство не вечно. Так-то я не против любопытства. Но тот же Rust не получится изучать вечно. Рано или поздно он будет изучен, и дальше на нём можно будет только лишь что-то создавать, что-то делать. А это уже другое. Там уже может появиться и рутина, и какие-то вроде бы скучные вещи. Кроме того, у нормальных людей есть глобальный лимит любопытства (кол-ва часов в неделю, которые хочется потратить на изучение/ковыряние).
Про какие трудности вы говорите вообще? Стакан наполовину пуст у вас? Перечитайте меня, я нейтрален. Да, выше меня вынудили много написать про важность английского, но я нигде не сказал, что его трудно изучать. Это тоже может быть в кайф. И с английским однозначно легче в будущем, чем без него.
Что касается терпения, то это не буквально про трудности. А про то, что нельзя получить всё и сразу. Понимание этого избавляет от не оправдавших себя ожиданий, которые бьют по мотивации. То есть это изначально правильный настрой на долгое изучение, который подкрепляет мотивацию, и увеличивает шанс успеха и удовольствие в конце и по ходу.
Валерий Альбертович Жмышенко,
Игру вообще сложно и долго создавать, даже короткую. И здесь нет простого рецепта. Надо думать, как решить возникающие проблемы.
Думаю, начать лучше с того, чтобы навести порядок и определиться с тем, что и как будет, определиться с фичами, составить их список. Будет ли это рогалик, будет ли там сетка и т.д. Затем уже каждую отдельную фичу продумать более детально. Главное, не мешать всё в кучу. И не поднимать вопросы про левел дизайн в рамках вопроса про прокрутку камеры. ;)
Если же вы про то, что не надо рисовать объекты, которые за пределами экрана, то проверяйте по координатам.
Например, если x < -200 то рисовать незачем.
Дальше начинается оптимизация.
Для первой игры попробуйте не создавать огромных уровней, это самая простая оптимизация))
Jungles, как именно процессор читает машинный код? Это вам нужно гуглить по фразе: архитектура процессора. Даже если бы я наизусть знал все опкоды, не стал бы здесь расписывать, что и как устроено, на то есть соответствующие книги.
Jungles, можете попробовать ассемблер, но это другой язык (низкого уровня). Но даже там вы пишете что-то типа: add ax,bx
То есть "добавить" одно к другому. Слово "add" пишете, а номер инструкции - всё равно остаётся уделом разработчиков компиляторов и проектировщиков процессоров.
Про музыкальность не лишним упомянуть в самом вопросе. Потому что обычно привязка к тикам (фреймам) игры, а не к реальному времени, как в случае со звуками. Хотя даже музыка может ставиться на паузу, зависит от того, как сделана игра.
Артем, ну вот захочет человек заняться самым (считается) приятным - разработкой игр. Даже не важно, на каком именно движке. Вы считаете, что полнота и качество документации этого движка на русском дотягивает до английского?
Или даже ещё проще, человек захочет сделать мод к игре. А всякие гайды, как правило, на английском. Не по программированию в целом, а по конкретным нюансам моддинга к данной игре.
Конечно, если говорить про популярный язык, которому 20 лет, то будут классные книги, выпущенные более 5 лет назад, и переведенные на русский более 3 лет назад, причем бестселлеры. Спору нет. Но это больше относится к фундаментальным знаниям. А когда дело доходит до конкретной задачи, то гугл часто приводит на stackoverflow или какой-то узкоспециализированный форум, и вот тут-то и оказывается, что нужен английский.
Опять же, с горем пополам через гугл переводчик читать можно. Но я говорю о том, что это боль, и что хоть это и не запрещает достижение цели, но снижает вероятность. То есть страдает мотивация, а вместе с ней и шансы на успех. Поэтому английский - важный пункт, наравне с другими.
Максим Федоров, давайте честно, виртуозное владение и правда не критично, но хотя бы на уровне intermediate - очень критично. Не всё и далеко не сразу переводится на русский.
Только если сама функция передаст эти аргументы куда-то. Но в чем тогда принципиальная разница по сравнению с локальными переменными? Так что не ясно, почему функция не может менять свои аргументы.