Это попытка найти тропинку в игровую индустрию. Началась эта дорога с чистого любопытства. Просто выучил несколько команд процессора, побаловался с hex-редактором (16- битный асм), написал пару смехотворных программок, считающих числа, меняющих оперативную память. Навсегда запомнил что такое регистры проца, и с чем их едят. Понял что такое стек. До меня дошло, как делать циклы и ветвления. Прочитал больше ненужного, чем нужного, но язык понравился...
Когда дошли руки до 32- битного программирования, мне стало плохо (как с похмелья!). Обжегся, после чего долго зализывал раны и не подходил больше к этому вопросу. Но со скрипом на сердце вернулся долбить бошкой об некий язык, который мало чем напоминал весь предыдущий опыт. Дошло до того, что выросла шишка, этой шишкой я сообразил в чём главное различие "16" и "32". В первом случае исходником была сама исполняемая программа, а во втором- такой текстовый файлик с расширением asm . Логично предположить, что существует переводчик этих текстов. Он называется компилятор. (Это слово я тоже выучил навсегда) Откуда его брать? Оказалось такие компиляторы существуют у любого высокоуровнего языка, хоть C++, Basic, Pascal... У языка ассемблер их несколько разновидностей. Я выбрал компилятор из MASM32. Мало знать язык программирования в таком случае (чтобы написать игру), нужно узнать язык конкретного компилятора. Или по другому- язык конкретной среды, для написания кода. Любой конструктор игр или движок - это программный пакет (куча утилит), которые строятся вокруг компилятора, чтобы создать текст игры, а потом сразу перевести. И вот вам готовая игра)))Добавлено (26.11.2011, 19:24)
---------------------------------------------
Долго можно спорить, на чём лучше писать тексты программ. Для меня самый надёжный способ- это текстовый редактор RadAsm и notepad. В наборе инструментов masm32 есть и свой текст. ред. Но если вам охото путаться в навороченом интерфейсе какого нибудь VisualBasic, пожалста...
Забыл написать самое главное из чего строются все программы, не зависимо от языка и компилятора: из функций. Не знаю как написано в какой нибудь википедии, но по моему функция - это участок кода, состоящий из машинных команд, которой можно передавать данные в виде параметров через запятую. Взять чистый файл game.asm, выделить память под данные (переменные с числами, строками, пикселями), вызвать кучу функций (передавая все параметры через стек), организовать циклы, написать функции (которые тоже будут вызывать функции)... И что-то получится)))
Тут пригодятся два вида функций те API (чтобы работать с интерфейсом Windows) и DirectX (чтобы рисовать графику). В masm32 это тоже есть, в папке lib сами функции, в папке include описания этих функций (чтобы компилятор их распознал, иначе не переведёт, будет ругаться).
Добавлено (26.11.2011, 20:29)
---------------------------------------------
Меня что сподвигло писать игру на ассемблере? Видеокарта у меня слабая совсем, а хочется чтобы возможности были огромные. Сейчас хорошие игры жруть много ресурсов. Можно ли написать игру не хуже современных, но такую, чтобы пошла на любом (средненьком) компе?