Процесори :: Дънни платки :: Видео :: Мултимедия :: Носители :: Периферия
Комуникации :: Софтуер :: Технологии :: Links & Downloads :: Форум
 
 
Game Maker 5 - easy game development
       

Game Maker 4x vs Game Maker 5
В новата версия на Game Maker GML интерпретатора е пренаписан и сега игрите се зареждат и изпълняват значително по-бързо. Тестовете показват, че цикъл от 0 до 1 000 000, компилиран с Game Maker 5 се изпълнява около 8 пъти по-бързо от същия, компилиран с Game Maker 4x, а игрите се зареждат 2 до 5 пъти по-бързо. Новата версия има значително по-добър debugger. Game Maker 5 използва нова система от действия, в която всеки набор действия представлява отделен пакет, записан в директория lib\ на пограмата. Това позволява напреднали потребители на Game Maker да изграждат собствени пакети с действия и да ги разпространват - нещо като писането на компоненти за Delphi или VB. Добавениса и два нови ресурса - Data file и Timeline. Самата програма вече има два режима на работа - Simple и Advanced. Направени са и някои промени в GML - използването на външни DLL библиотеки сега е изключително просто, добавени и са и няколко нови оператора. Новата версия има вградена key-mapping функция, която значително опростява създаването на опция, позволяваща потребителя сам да избере с кои копчета да играе. Освен това поддръжката на джойстик е подобрена.

Логото на новата версия на изключително популярната на запад програма за създаване на игри е "Easy game development" - лесно разработване на игри. И наистина, програмата винаги е била предназначена за създаване на професионални игри от любители. Новата версия на Game Maker прави програмата още по-мощна, като в същото време допълнително опростява създаването на някои от често срещаните в игрите ефекти. Един от най-големите недостатъци на програмата беше, че създадените с нея игри бяха твърде тромави - новата версия обаче е много по-бърза.

Защо Game Maker
Много от игрите се пишат на C++ или друг език за програмиране. Традиционно се смята, че програмите за създаване на игри имат твърде ограничени възможности. наистина, съществуват много програми, които ви позволяват да създавате игри, без да учите програмиране, но като цяло те имат твърде ограничени възможности или са трудни за използване. Лично аз съм ползвал Adventure Maker, Games Factory и DXCreator, но никоя от тях няма такъв интуитивен интерфейс като Game Maker. Game Maker е най-добрата програма за създаване на игри; още повече - тя е напълно безплатна. Откакто излезе първата й версия през 1999г, програмата непрескъснато се подобрява и днес тя ви дава лесен начин да създавате качествени игри, с поддръжка на джойстик, както и игра в мрежа през IPX, TCP/IP или директна връзка между два компютъра. Както повечето подобни програми, тя е предназначена за създаването на двуизмерни игри, но с Game Maker е изключително лесно създаването на така наречените изометрични игри (игри, които изглеждат триизмерни, посредством показването на нивото под ъгъл 45 градуса - типичен пример е играта Age of Empires). Вградения език за програмиране, наречен GML, и възможността да се ползват външни DLL библиотеки, прави възможностите на програмата неограничени. Съществува една псевдо-3D игра (каквато например е Doom), написана с Game Maker, както и една напълно триизмерна игра, която ползва Game Maker и собствено написана DLL библиотека. Всъщност, и двете игри са създадени с Game Maker 4, но 5 е първата версия, признаваща официално възможността за създаване на триизмерни игри. Но за да направите добра игра не е необходимо да напишете дори един единствен ред код - трябват ви само красива графика, приятен звук и добра идея - останалоро е работа на Game Maker! Game Maker предоставя десетки предварително дефинирани действия, които можете да използвате чрез чисто визуалния drag-and-drop интерфейс. За да свикнете с програмата са необходими по-малко от 2 часа. А аз ще се опитам да ви помогна да започнете да я ползвате. Но първо, нека ви представя някои от най-добрите игри, създадени с Game Maker - за да знаете, че с тази програма наистина могат да се пишат игри. А ако ви интересуват цифрите: официалния форум на Game Maker има над 6800 регистрирани потребителя; стотици са игрите, написани с Game Maker; десетки са сайтовете, посветени на програмата, а няколко човека пишат библиотеки за разширяване на нейната функционалност . Помощната му система е преведена на руски, японски, испански и френски.


3D Engine Demo

Tubby count

Bubble Escape

Inquisitor

Toubou

Tank

Plasma Twins Strike Again

NoirDuck Legacy

Muddy Match
Columns Reflexion Instinct

Тези и много други игри можете да свалите от официалния сайт на Game Maker - http://www.gamemaker.nl

Как се работи с програмата?
Когато стартирате Game Maker, ще видите следния прозорец (screenshot-а е направен в Advanced Mode, в Simple mode няма да са видими някои от ресурсите):

От дясно можете да видите различните ресурси, Ресурсите са в основата на създаването на играта, заедно с действията и събитията. Затова е важно да разберете кой ресурс как се използва и как можете да превърнете изображенията в игра.

Всеки видим обект има нужда от изображение. Изображнието е това, което се вижда на екрана; обектът дефинира поведението на това изображение. В игрите изображенията, представящи отделните обекти, се наричат спрайтове (sprites). Спрайтът може да се състои от повече от едно изображение - както анимираните GIF файлове съдържат множество отделни изображения, които се сменят едно след друго и създават анимация. Така например героят ходи, космическия кораб експодира и т.н. Можете да създавате спарйтовете в Game Maker, да ги зареждате от файл (Game Maker поддържа много графични формати, в това число анимирани GIF файлове, psp (Paint shop Pro) и psd (Photoshop) файлове.

Зареждането на спрайт от външен файл или създаването му в Game Maker е изключително лесно. Само трябва да изберете Add Sprite от менюто Add и диалоговия прозорец Sprite Properties се отваря.

Тук можете да изберете външен файл, натискайки бутона Load Sprite, да създадете или редактирате спрайта, натискайки Edit Sprte, както и да направите някои настройки, които ще обясня малко по-нататък. Имайте предвид, че графичния редактор, вграден в Game Maker е предназначен по-скоро за анимиране на спрайт, отколкото за създаването му и възможностите му в рисуването не са много по-големи от тези на MSPaint. Но избирайки Prefernces от менюто File, можете да настроите външни редактори за звук, изображения и скриптове и Game Maker ще стартира тях, когато изберете Edit Sprite, Edit Sound или добавите скрипт. В диалоговия прозорец са включени и няои съществени опции:

  • Полето за отметка Transparent определя дали спрайтът да се третира като частично прозрачен. Ако сложите отметка, цвета на най-долния ляв пиксел на изображението ще се третира като прозрачен и навсякъде, където се среща, ще се заменя с цвета на фона.
  • Precise Collision checking се отнася до начина, по който се осъществява проверката за сблъсък (collision detection). Това е едно от най-важните неща във всяка игра - процеса на определяне дали два или повече обекта са се допряли един до друг. Без подобна проверка героят ще може да минава през стени, куршумте няма да нанасят щети и т.н. Всеки спрайт има така наречения bounding box - правоъгълник, който го огражда. Първия етап от проверката за сблъсък е установяването, дали два такива правоъгълника се застъпват. Ако е така, извършва се втория етап на проверката - застъпващата се част се проверява, пиксел по пиксел, дали има поне един пиксел, който не е прозрачен и за двата спрайта (за да не се предизвика сблъсък при застъпване на прозрачните части на спрайта, които не би трябвало да съществуват). Втория етап е бавен и е необходим само в случай, че спрайтът не е правоъгълен. Ако е правоъгълен,можете да изключите тази опция за да натоварвате по-малко процесора.
  • Use video memory определя дали да се използва видео паметта, за съхраняване на изображението, или системната памет. Видео паметта е много по-бърза от системната, но е ограничена.
  • Ако нямате постоянна нужда от изображението (например ако се използва само на едно или няколко от нивата), можете да сложите отметка в полето Load only on use. Всички спрайтове, за които е включена тази опция, се зареждат когато са необходими и паметта, заемана от тях се освобождава в края на нивото. Останалите спрайтове се зареждат преди началото на играта и паметта остава заета до излизане от играта
  • Origin определя коя точка се приема за център на спрайта. По подразбиране това е горния ляв ъгъл, но понякога е по-удобно да я преместите. Практически координаите на всеки един обект определят къде ще бъде поставен центъра на спрайта
  • Bounding box ви позволява да промените размерите на правоъгълника, използван за Collision detection, но това е необходимо в много рядки случаи<

Следващия ресурс, достъпен в Game Maker, е звука. Game Maker поддържа три формата: WAVE MP3 и MIDI. Отново, всичко което трябва да направите е да отворите прозореца Sound Properties, избирайки Add Sound от менютo Add

Тук опциите са значително по-малко. Можете да заредитезвуков файл, да го запазите на диска или да го редактирате - ако сте настроили звуков редактор. Действието на Load only on use е същото, каквото и при спрайтовете. Двете нови опции са Buffers и Allow for sound effects. Първата от тях не е достъпна за MIDI файлове. Тя определя колко "екземпляра" на този звук могат да се изпълняват едновременно. Например ако имате звук на екзплозия и използвате един буфер, при две последователни експлозии ще се чуе само едната - в най-добрия случай звука на първата ще бъде прекъснат, за да се чуе втората. Но ако имате два буфера, то втората експлозия може да се възпроизведе докато първата все още отшумява. Разбира се, колкото повече буфери ползвате за един звук, толкова повече ресурси ще отнема той. Втората опция определя дали върху звука могат да се прилагат някои специални ефекти, като например промяна на силата на звука или на баланса между лявата и дясната колона. Тези ефекти обаче могат да се прилагат само чрез код

Третия ресурс, който можете да използвате, са фоновете. Това отново са изображения, които обаче се използват като фон на нивата и не могат да бъдат анимирани (макар Game Maker да позволява създаването на анимиран фон, но за това по-късно). Фона има по-малко опции, в сравнение със спрайта, и всичките му опции са идентични с тези на спрайта. Диалоговия прозорец Background Properties изглежда така:

Обектите и нивата са последните два ресурса, но ще ги разгледам сега, защото останалите са специфични и не са задължителни за всяка игра. По-нататък ще направя един кратък преглед на тях, без да се спирам подробно, както и без да предоставям screenshot-ове. Подробна информация за тях можете да намерите в помощната система на програмата.

Обектът е в оснавата на цялата игра. Да, графиките са важни, звука е приятно допълнение, но без обектите нищо няма да се покаже на екрана. С изключение на фона, който е статичен. Обектът отговаря за всичко в играта - или по-точно: всичко в играта е обект. Някои обекти (като главния герой) се управляват от играча или възникват в резултат на неговите действия (например изстрелян снаряд). Повечето обекти обаче се управляват от компютъра, а някои са статични (например стени). Във всички случаи, обектът отговаря на събития. Такива са натискането на клавиш или действие с мишката (или джойстика!), сблъсък с друг обект, напускане границите на нивото и много други. Game Maker има добра система на събития, като във версия 5 тя беше значително подобрена. Той предоставя събитията Create, възникващо при създаване на обекта, Destroy - при неговото унищожение, събития за сблъск със всеки обект, събитие за натискане и отпускане на всеки клавиш, натикане и отпускане на клавиш на мишката, събитие на изтекъл интервал от време (всеки обект има 8 вградени таймера, всеки от които може да се пуска на определено време, след изтичането на оето се предизвиква гореспоменатото събитие), събитие на кадър (предизвиквано в началото на всеки нов кадър), на изисуване, начало и край на нивото и т.н. За всяко от тези събитие можеъе да определите действие, изпълнявано от обекта, като просто го изтеглите от панела вдясно в бялото поле межу събитията и действията и настроите няколко параметъра:

Няма да описвам подробно всяко едно от действие - те са наистина много и подробна информация за тях можете да намерите в помощната система на Game Maker. Вместо това ще се спра на няколкото опции, достъпни в панела вляво. На първо място искам да обясня за какво е бутона Show Information. Когато го натиснете, ще получите в текстов вид цялата информация за обекта - в това число какви действия се изпълняват при отделните събития. В помощната система пише, че можете да я отпечатате (което е вярно). Но по-полезно е, когато имате бъг и не можете да го откриете. Тогава можете да копирате информацията за обекта (или за това събитие, което предизвиква грешка) и да я публикувате във форума на Game Maker Community - така другите по-лесно ще разберат в какво е проблема и ще могат да ви помогнат.

Полето за отметка Solid се отнася до начина, по който се изпълнява събитието на сблъсък. Ако не е отбелязано, то събитието се изпълнява еднократно. В противен случай, обектът се връща на предишната си позиция, събитието се изпълнява, след това отново се проверява за сблъсък и така се повтаря цикъла, докато сблъсъкът между двата обекта не бъде прекратен. Това е необходимо в случаи например, ако имате стена, през която героя не бива да минава. Ако тя не е солидна, то героят ще спре за момент и ако потребителя задържи клавиша натиснат, ще мине през стената.

Полето Visible говори само за себе си - определя дали обектът е видим

Depth се използва за някои специални ефекти. Когато се изрисува сцената, първо се изрисуват обектите с по-висока стойност на Depth. Това означава, че ако трябва някой обект да е винаги видим, стоейки над другите (например собствено направен курсор - който може да играе ролята и на мерник), то просто му задавате по-ниска стойност от тази на останалите обекти.

Persistent - когато нивото свърши, обектът се унищожава и се създава отново на следващото (стига да го има на следващото ниво, разбира се). Но в някои игри главния герой трябва да остава незасегнат по време на смяна на нивата, вместо да се създава на ново на всяко ниво (най-вече когато героят се развива с течение на времето). За тази цел служи това поле

Parent - ако определите някой обект като "родителски" на текущия, то за всички събития, на които не сте определили действия, ще се изпълнят действията от съответното събитие на "родителския" обект. За повече информация проверете помощната система на Game Maker

Mask - това е изключително полезно в изометричните игри. Mask определя спрайт, който да се използва за проверка за сблъсък. Ако имате триизмерно изображение, сблъсъкът обикновено трябва да се осъществява единствено с основата на изображението - затова правите друго изображение, съдържащо само основата, и го определяте в полето Mask

След като сте създали всички обекти, идва момента да създадете нивата. В Game Maker този ресурс се нарича Room. Няма да се спирам в подробности относно създаването на нива. Създаването на ниво включва най-вече определяне на неговия фон и разполагане на екземпляри на обектите - което се осъществява чрез избиране на обект и шракване в позицията, в която искате обектът да се появи.

Скриптовете представляват GML код, който можете да извикате от който и да било обект. Подробна информация за GML можете да намерите в помощната система на Game Maker. Този език като цяло спазва синтаксиса на C++ и на Pascal - можете да пишете в един от двата стила по избор. Предоставя десетки функции, предназначени специално за разработването на игри. Използването на GML не е задължително за създаването на добра игра, но присъствието на език за програмиране премахва ограниченията на програмата. За момента GML е единствения начин за създаване на игри, които да се играят в мрежа. Избирането на команда Add Script от менюто Add отваря настроения в опциите на програмата GML редактор. Вградения в Game Maker редактор няма кой знае какви функции - той предоставя единствено синтактично оцветяване (като имате възможност сами да настроите цветовете) и проверка на синтаксиса

Траекториите (Paths) бяха добавени в Game Maker 4.3 Те ви дават възможност да определите траектория (чрез въвеждане на координатите на точките от нея или визуално) и да я асоциирате към обект. Обектът следва указаната траектория! Освен да определите точките от траекторията, Game Maker позволява да изберете дали тя да е съзтавена от прави линии или от криви, както и да определите действие след като траекторията бъде завършена.

Последните два ресурса са Data File и Time LIne. Time Line ви позволява да асоциирате действия към отделни моменти от време, а след това да асоциирате самия ресурс към даден обект. Така обектът ще изпълнява определените действия в дадените моменти от време. Това изключително опростява написването на сложно поведение на противниците, както и цялостното контролиране на играта. Data File ви дава възможността да компилирате който и да било файл в качеството на ресурс и да го използвате по-нататък в играта. Това е изключително полезно, ако ползвате в играта си рядко използван шрифт - Game Maker има специална опция да инсталира шрифта, съдържащ се в ресурса. Едно от наистина добрите подобрения в Game Maker е възможността, да използвате спрайт в качеството на шрифт - нещо, което често се използва в OpenGL игрите. Идеята е да нарисувате всички букви една до друга, а в последствие програмата е отговорна да покаже само тези части на спрайта, които са наобходими за изписването на текста. Другите достъпни опции в диалоговия прозорец Data properties се отнасят до ексортирането на ресурса - дали в текущата или във временна директория да се запише, дали да се премахне след края на играта и дали заеманата от ресурса памет да се освободи (което означава че този ресурс повече няма да може да се ползва - но обикновено се ползва екпортирания файл все пак)

Новата версия предоставя един съвършенно нов debugger. Добрия debugger е изключително важно при разработването на по-големи игри. Новия debugger на Game Maker позволява да напишете някакъв GML код и той се изпълнява. По-ценното обаче е възможността да следите глобалните променливи, всички променливи на даден обект, както и всички обекти, които и да видите всички налични в момента обекта и техните идентификационни номера. В предишната версия можехте единствено да следите стойността на променлива след като сте я въвели ръчно. Друга нова възможност е да промените скоростта на играта, както и да следите стойността на даден израз или дали дадено условие е изпълнено. Приятна добавка е и показването на количеството изрисувани кадри в секунда. На дадения screenshot съм отворил някои от нак-полезните прозорци на debuggera (можете да отворите само тези от които се нуждаете, да промените позиициите и размерите им) и съм въвел едно условие.

За финал ще кажа няколко думи за опциите, които са достъпни чрез двукратно щракване върху Game Options. На първо място, можете да изберете дали играта да се изпълнява в прозорец или на цял екран. Във втория случай можете да определите разделителна способнот и дълбочина на цвета. Игрите се компилират с изключително красив Loading bar, който се показва, докато играта зарежда и отчита каква част от зареждането е изпълнена. Ако желаете, можете да го смените или да го премахнете - оставяйки статично изображение да стои на екрана или, ако играта се зарежда достатъчно бързо, без да показвате каквото и да било. Можете да включите и информация за себе си и версията на играта, която ще бъде достъпна за потребителя, в случай че той даде Properties на изпълнимия файл и премина на страницата Version

Официалния сайт на Game Maker: http://www.gamemaker.nl
Game Maker Community: http://pub58.ezboard.com/bgamemakercommunity

Материалът е публикуван на: 03.06.2003 г.

Автор: Максим Крижановски
адрес за кореспонденция

Начало на материала :: Процесори :: Дънни платки :: Видео :: Мултимедия :: Носители
Периферия :: Комуникации :: Софтуер :: Технологии :: Links & Downloads :: Форум
© 2001-2006 Macrolevel, Inc. Правила и условия.
При цитиране на материала линк към сайта и посочване на автора са задължителни.
За контакти използвайте адреса ни за електронна поща