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. Надеюсь,и у вас есть что нам расска- зать! ──────────────────────────────────────────
Другие статьи номера:
Похожие статьи:
В этот день... 14 декабря