3Bit #01
03 января 2005

Программинг - Game Making: Mad Killer делится опытом создания игр для ZX Spectrum.

         Game Making

(c) Mad Killer
──────────────────────────────────────────
  Guten  tak, уважаемые  читатели! В  этом
разделе  вы  не найдете готовых процедур и
программ. Так что, любители халявы (тоесть
взял  вытянул, вставил - всё работает) эта
рубрика  не  принесёт для вас должного ре-
зультата, но  благо, что  материала, ввиде
готовых  процедур, предостаточно  в других
Sp-изданиях.
  Мне  всегда хотелось почитать такую руб-
рику, где  на  простом доступном уровне (а
не  как  профи - нагрузил кучу инфы и всё)
было  всё  рассказано  о  том что и как. С
проблемой написания игры сталкивается, на-
верное, каждый второй спектрумист, будь то
бэйсик  или если силы позволяют ассемблер.
В бэйсике проблем намного меньше, нежели в
асме  (Ага, и скорость раз в 70 поменьше -
прим.  Cooper'а). Поэтому  мы  постараемся
больше  времени  уделять  написанию трудов
именно на  ассемблере. Здесь  будет описан
мой опыт в данном вопросе. Как позитивный,
так  и  негативный. Вообще-то, любой  опыт
нужен  однозначно, хотя  нужно  стараться,
чтобы негатива было поменьше. Тогда и про-
блем поубавиться, и высвободится место для
прогрессивной работы.Дабы решить некоторые
вопросы, связанные с этой проблеммой и вы-
нудило  меня  написать данный опус по этой
теме.
  Для начала давайте разберёмся какого жа-
нра игру вы собрались писать. Разобрались?
Ок. Теперь  можно  взять листок (чистый ;)
бумаги и прикинуть дизайн игрушки. Я делаю
так всегда и в процессе работы внешний вид
довольно  часто  изменяется  в зависимости
от ваших идей, желаний и возможностей. Ли-
стик, обычно, берётся в клеточку, рисуется
рамка  размером  типа одна клеточка - одно
знакоместо. Далее рисуется примитивный эс-
киз. Если  есть  под рукой художник или вы
"сам себе режиссер" ;), то с ним обсуждае-
тся возможность технической реализации на-
рисованного. Если результат положительный,
то радуються все ;)
  Далее - самое  главное, на  мой  взгляд,
то, что  иногда  забывается, а потом часто
напрягает  разработчиков - это распределе-
ние  памяти. Опять  же, я, не  знав такого
вначале, столкнулся  с  проблемой нехватки
памяти для моих процедур. Как поступаю те-
перь. Беру опять ручку, лист бумаги, жела-
тельно  блокнот небольшой и пишу, что хочу
видеть в своей прогрмме.Все крупные проце-
дуры, музыку, графику, основной  код прог-
раммы. Где  начнётся  объектный код, длину
музыки...  Вобщем, всё  записываю. Смотрю,
что  остаётся. Если память израсходовалась
и что-то не вошло, смотрю, чем можно поже-
ртвовать, а  без чего не обойтись. Поверь-
те, сделав  это, вы, во-первых, не  будете
ломать  голову,  что  куда, во-вторых, как
было со мной, через месяц не забудете, что
куда грузить и как оно взаимосвязанно меж-
ду  собой.  И  одна  хитрость:  если  воз-
можность,  то  всегда  оставляйте буфер  в
памяти длиной 6912 байт. Почему именно та-
кой? А  вдруг вам захочется кинуть одурен-
ную картинку в конце, а не будет куда? Или
для работы многим процедурам необходим бу-
фер  и  вы просто не заметили этого, а тут
будет большая радость, длины хватает. И на
самый  крайний  случай  можно туда пихнуть
какой-то  финт и всё - вы чемпион ;)
  Немного отвлекусь от темы и порассуждаю,
вернее, сообщу  вам, дорогие друзья, люди,
господа (кому что больше нравится). Не за-
махивайтесь  на  огромные  проэкты с кучей
уровней и всяких-разных наворотов. Сделай-
те лучше игру с одним законченым уровнем и
попроще,  но  с  возможностью  дальнейшего
продолжения  игры. Сколько я знаю проэктов
замороженных и безвозвратно утерянных име-
нно  из-за  этого. Так что, подумайте. Мне
кажется, что  людям будет приятнее увидеть
готовую  небольшую игру, нежели крутую, но
ввиде демо-версии.
  Идём дальше, товарищи ;) Для более-менее
внятного  понимания  придумайте, как будут
называться файлы к вашей игре, а то, быва-
ет, файлов  немерянно и куда их деть, хрен
вспомнишь. (Прим. Cooper'а: мда... Вообще-
то, на мой взгляд, иметь кучу файлов - это
плохой тон в написании игр. Можно работать
непосредственно с трэками и секторами, ми-
нуя  файловую  систему. А  можно извлекать
файлы  непосредственно из hrip или rar ар-
хивов.  Сложного  там, в  принципе, ничего
нет.) Я бы посоветовал делать так:

name.asm1 (исходный текст асма версия 1)
name.sprb1 (спрайт битвы 1)
name.scrov (экран Game Over)

Ну и так далее. Так довольно удобно ориен-
тироваться  в том море файлов, относящихся
к своей разработке.
  Слава  Богу, это уже прошли. Будем пыта-
ться  дальше разобраться в перепетиях дан-
ного мероприятия! ;)))
  Ну  и ещё один немаловажный вопрос. Обя-
зательно  делайте  несколько  копий всего,
что  делаете! И желательно ежедневно (вер-
нее, постояно, после  каждого  шага).  Мне
было  очень  и  очень  плохо, когда диск с
моим полугодовым трудом вылетел из-за глю-
ка TR-DOS. Я чуть было не сдох от злости и
была бы под рукой кувалда, то я за себя не
отвечаю! ;)))
  Также  стараюсь всегда, если это возмож-
но, хранить данные так: один диск графика+
музыка (один резерв), другой диск - тексты
асма  (также копия)+рабочий диск (вся имп-
ровизация+музыка+графика  и  стараюсь,  по
мере возможности, чтобы всё это работало.
  Ну для начала, думаю, хватит. Смею наде-
яться, что данная рубрика будет постоянной
на  страницах  нашего  журнала и мы сможем
ещё  много узнать и почерпнуть интересного
и  нового  для всех нас, как старх воинов,
так и новобранцев.

  С  уважением, ваш покорный слуга и "бес-
толковый"  журналист, гений ;))) всех вре-
мен и народов Mad Killer, в сговоре с кла-
сными ребятами из RSM в одной банде Patri-
ots.

 До новых встреч, друзья!

P. S. Надеюсь,и у вас есть что нам расска-
зать!
──────────────────────────────────────────




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Версии - 2 версии игры: PSYCHO PIG V.X.B.
От авторов - Содержание страницы. Вступление.
TREE NEWS - О новостях в модемном мире: о быстрой кончине LOGO BBS.

В этот день...   19 сентября