Game Maker Prof. Mark Overmars tarafından Delphi programlama dili ile geliştirilmiş bir oyun yapımı programıdır. Prof. Mark Overmars Utrecht üniversitesinde görev yapmaktadır.
Game Maker GML (Game Maker Language) betik dili ile oldukça esnek bir geliştirme ortamı sağlamasının yanı sıra, sürükle-bırak yöntemleri ile programlamaya yabancı olanların da kolayca oyunlar geliştirebilmesini sağlar.
Game Maker daha çok 2D oyunlar üzerine yoğunlaşmakla birlikte benzerlerinin aksine oldukça esnektir ve çeşitli tiplerde oyunlar geliştirmeye uygundur. Bunlara platform oyunları, simulasyonlar, FPS, TPS ve multiplayer oyunlar da dahildir. Hatta Game Maker standart yazılımlar bile geliştirilebilmektedir.
Game Maker`ın ücretsiz sürümü DLL kullanımı, multiplayer desteği, gelişmiş GML komutları gibi bazı özellikleri desteklemez iken, yaklaşık 20$ olan ücretli sürümünde bu sınırlamalar bulunmamaktadır. Game Maker ile oluşturulan oyunlar ister ücretli ister ücretsiz sürüm kullanılarak oluşturulmuş olsun, herhangi bir lisans ile dağıtılabilir ya da satılabilir.
Game Maker .exe uzantılı dosyalar üretir. Kaynak kodu dosya formatı ise sürüm 4 ve 5 için .gmd, sürüm 6 için .gm6 ve sürüm 7 için .gmk`dır.
Game Maker`ı benzerlerinden ayıran üç farkı, esnek yapısı ile herhangi bir formatta oyunlar oluşturmaya izin vermesi, lisans sözleşmesinin geliştirilen oyunların satılmasına herhangi bir sınırlama ya da ek ücret getirmemesi ve uygun fiyatıdır.
Temel Özellikler
Game Maker Direct3D kullanır ve sınırlı da olsa 3D grafiklere ve 3D modellere destek verir. Çevirici yazılımlar ile .3ds ve .obj uzantılı dosyalar Game Maker ile kullanılabilmektedir.Partikül sistemi ile yağmur, kar, bulutlar, ateş, yıldırlar, duman, patlama ve daha birçok efekt oluşturulabilir. İster aksiyon kütüphanesindeki hazır efektlerden birini seçebilir, ister GML ile tamamen kendinize özgü bir efekt geliştirebilirsiniz.
Aksiyon kütüphanesi bir oyunun yapımında gerekebilecek temel işlemleri kod yazmadan kullanabilmek için geliştirilmiştir. Örneğin bir patlama efektini sürükle-bırak yöntemi ile oyuna ekleyebilir, renk, boyut ve efektin nerede gözükeceği gibi ayarları tek satır kod yazmadan belirtebilirsiniz. Her ne kadar sadece hazır aksiyonları kullanarak karmaşık oyunlar geliştirilebilse de, Game Maker`ın gücünü ortaya çıkarmak için GML dili kullanılmalıdır.
GML dili bir betik dilidir. Esnek bir yapısı bulunmaktadır. Mesela "and" yerine "&&" ya da "begin .. end" bloğu yerine "" bloğu kullanılabilmektedir. Yukarıda belirtilen hazır patlama efekti GML kodu ile "effect_create_above" fonksiyonu ile oluşturulabilir. Örneğin "effect_create_above(ef_explosion,x,y,1,c_red)" kodu içinde bulunduğu nesnenin kordinatlarında orta büyüklükte kırmızı bir patlama efekti oluşturur.
Game Maker DLL`ler ve ek aksiyon kütüphaneleri ile geliştirilebilir. DLL desteği sayesinde Game Maker`a çok farklı özellikler eklenebilir, bunun uç örneklerinden biri de MySQL desteğidir.
Game Maker kendi sprite düzenleyicisi ve resim düzenleyicisi ile birlikte gelir. Bu sayede bir sprite`ı oluşturan resimleri belirleyebilir, bu resimleri düzenleyebilirsiniz. Resim düzenleyicisi profesyonel özelliklerden yoksun olsa da temel işlemler için oldukça yeterlidir. Grafiklerin yanı sıra Game Maker seslere de efekt verebilmenizi sağlar, ama bu özellik çok sınırlıdır.
Yapı
Bir Game Maker projesi çeşitli bölümlerden oluşur:Odalar Bir oyunu çalıştırabilmek için en azından bir oda oluşturmuş olmanız gerekir. Oyun ile ilgili her şey odalarda geçer ve her şey odalar sayesinde ekrana yansıtılır. Bir oyunun her bölümü farklı bir odada geçebilir. Aynı zamanda her arabirim ekranı için de ayrı bir oda kullanılabilir. Mesela giriş, ayarlar, bölüm seçimi ekranları gibi. Bir oyun tek bir oda kullanılarak da yapılabilir, onlarca oda kullanılarak da, ancak ideali ikisinin ortasıdır.
Nesneler Nesneler oyunun iş yapan parçalarıdır. Kodlar nesneler vasıtası ile çalıştırılır. Nesneler oyundaki her türlü nesneyi canlandırır; karakterleri, düşmanları, kurşunları, duvarları vb. Aynı zamanda görünmez nesneler de olabilir. Görünmez nesnelerin amacı belirli kodları çalıştırmaktır. Mesela her 20 saniye`de bir düşman çıkmasını sağlayan kodu görünmez bir nesne ile çalıştırabiliriz.
Nesneler "olaylara" tepki verirler. Olaylar çok çeşitli şeyler olabilir. Örneğin bir nesnenin oluşturulması, yok olması, üzerine tıklanması, odanın dışına çıkması, başka bir nesne ile çarpışması, klavyeden bir tuşa basılması ve benzeri birçok olay tanımı vardır. Olaylar aksiyonları çağırır. Aksiyonlar bir olay gerçekleştiğinde ne olacağını belirler. Aksiyon listesine aksiyon kütüphanesinden hazır aksiyonlar sürükleyip bırakabilir, ya da GML kodları çalıştırabilirsiniz.
Sprite`lar Her türlü grafik ve animasyonları oluştururlar. Nesnelere oyun tasarımı sırasında atanabilir, ya da dinamik olarak çizdirilebilirler.
Betikler Betikler kodları oluştururlar. Nesnelerin içinden çağrılırlar.
Yazıtipleri Oyunda kullanılacak yazılar farklı yazıtiplerinde olabilir. Ayrıca eklenilen yazıtipleri kullanıcının bilgisayarında olmasa da çalışır.
Sesler Oyuna eklediğimiz her türlü sesler.
Artalanlar Oyunda kullanılacak artalan resimleri için. Bir grafik herhangi bir aksiyon içermiyorsa artalan olarak eklenmelidir.
Yollar Belirli bir yolu izlemesini istediğiniz nesneler için yollar tanımlayabilirsiniz. Mesela sürekli belirli bir alanda dolaşan bir düşman için için bir yol belirleyebilirsiniz.
Zaman Çizelgeleri Nesnelere belirli zamanlanmış görevler yaptırmak için kullanılırlar.
Sistem Gereksinimleri
Game Maker 6.0 ve 6.1 için sistem gereksinimleri:- Microsoft Windows 98, Windows 2000, Windows ME, veya Windows XP
- DirectX 8 veya üstü
- En az 18MB video hafızası olan DirectX 8 uyumlu ekran kartı (32MB veya üstü tavsiye edilir)
- Pentium veya üstü işlemci
- DirectX 8 uyumlu ses kartı
- 64MB veya üstü RAM
- 800x600 veya üstü ekran çözünürlüğü
- 16 bit veya 32 bit renk desteği
Game Maker 5.x için sistem gereksinimleri:
- Microsoft Windows 98, Windows NT 4, Windows 2000, Windows ME, veya Windows XP
- Windows uyumlu ekran kartı
- DirectX 6 veya üstü
- Pentium veya üstü işlemci
- 800x600 veya üstü ekran çözünürlüğü
- 16 bit veya 32 bit renk desteği
Not: Game Maker 5.x ve 6.x sürümleri Microsoft Windows Vista ile uyumlu değildir. Game Maker 7 sürümü Windows Vista uyumludur.
Eleştiriler
Game Maker genellikle çok karmaşık projelerde performansının düşmesi nedeni ile eleştirilmektedir.böyle oyun yapma programları ile büyük oyunlar yapılabilirmi