Конечно, писать игры для ПК целиком на ассемблере в нынешнее время занятие неблагодарное, но попробовать все же интересно. Используя этот низкоуровневый язык программирования вы становитесь независимым от чужих разработок(типа ДиректХ, OpenGL). Компьютер оказывается полностью в вашей власти. Если у вас возникло подобное желание, если вы хотите почувствовать себя таким вот крутым гуру программирования (ведь игры на асме пишут только избранные) то вам поможет эта книга.
В ней тесно переплетаются две темы. Основы программирования на Ассемблере, и собственно этапы создания игровой программы. Книга написана простым и понятным языком.
nilrem, Спасибо за книжечку. Как раз не хватало нескольких элементов на ассемблере, а там как раз есть описание, как да что. ______________________________ Я вернулся, и это чудо. ______________________________
Facepalm, что ещё можно сказать по этому поводу. Развели тебя жестоко. Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
Ну, когда я 2 года назад давал ссылку, сайт был нормальным. Сейчас, решил зайти посмотреть, а там сплошная вирусня. Ну, если нужны программы для чтения и редактирования Djvu то вот пара сайтов. http://djvu-info.ru/ http://windjview.sourceforge.net/ru/ Все они бесплатные.
Ассемблер - кошмар? А бинарный файл - по-битно вручную - никто редактировать не пробовал?
Как-то в обычном HEX редакторе изучал файл от одной популярной MMORPG игрушки, там впервые юзалась защита frost(от нашего локализатора innova). Попробовал забить нулями шеснадцатитеричные значения где в ASCII были упоминания этого нового слова и url'ов . К моему удивлению игрушка запустилась без запуска frost! В последствии, в обновлённых версиях, такой фокус уже не прошёл. А по теме, кому ассм кажется кошмаром, есть ещё больший кошмар, тренируйтесь: Win32 в машинных кодах
Используя этот низкоуровневый язык программирования вы становитесь независимым от чужих разработок(типа ДиректХ, OpenGL). Компьютер оказывается полностью в вашей власти.
Это сказки, касательно игр. Если пренебречь драйверами в ОС на ту же видеокарту, то того же банального ускорения не увидите в убогой картинке. А драйвер - это и есть "чужая разработка", если уж говорить о независимости не от чего чужого. В противном случае, придётся писать драйвера самому. И написанные(ещё написать надо) на одном железе 100% не будут работать на другом и т.д... Современные видео-карты поддерживают аппаратное ускорение OpenGL(библиотека идёт в драйверах) , DirectX
Сообщение отредактировал ivanches - Суббота, 25 Июня 2011, 18:22
fastos, а почему ассемблер древний язык? Он живее всех живых - как минимум, программы с языков высокого уровня обычно сначала транслируются в ассемблер, а потом уже в машинный код.
Немного в сторону от темы геймдева - мой друг работает с микроконтроллерами, так он пишет на ассемблере. Того же C ему не хватает - мало скорости. Нужно писать такие игры, чтобы в них было интересно играть самому
Неужели на этом древнем языке еще кто-то собирается программировать ? Или так, чисто для себя ?
Есть очень хороший учебник ISZELION'S WIN32 ASM TUTORIAL. Вроде, даже переводы на русский есть. В комплект входят полные проекты программ (впрочем, их нетрудно собрать самому по книжке). Простенький MASM32 прилагается.
Учебник содержит 35 уроков по построению программ для Win32 с честным использованием WIN-API. От MessageBox до MDI и RichEdit.
Тут, два нюанса. Начав с языка ассемблера, очень легко реализовать свой FORTH (или еще какой LISP, SmallTalk или еще что) и дальше писать уже на нем.
Второй: современная программа обычно выглядит практически одинаково, независимо от языка - сплошные вызовы какого-либо API. Вот, например, кусок работы с OpenGL (из примеров MASM32):
Конечно есть и более крутые ассемблеры, например, 64-разрядные. А есть и один особо извращенный - ilasm - ассемблер для .NET. Этакое ОО псевдомашинное виртуальное страхолюдие, на которое переводятся программы VISUAL STUDIO: C#, VISUAL BASIC, кастрированный C++...
Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.