# Game Maker
Game Maker, YoYo Games tarafından Delphi programlama dili ile geliştirilmiş bir oyun yapımı programıdır.
Game Maker'ın ücretli ve ücretsiz sürümleri vardır. Ücretsiz sürümü dll kullanımı, multiplayer oyun desteği ve gelişmiş GML (Game Maker Language) komutları gibi bazı özellikleri desteklemez. Ücretli sürümünde ise bu sınırlamalar bulunmamaktadır. Game Maker'ın ücretsiz veya ücretli sürümü kullanılarak oluşturulan oyunlar herhangi bir lisans ile dağıtılabilir ya da satılabilir.
Game Maker, exe uzantılı dosyalar üretir. Programın kaynak kodunun dosya formatı sürüm 4 ve 5 için gmd, sürüm 6 için gm6, sürüm 7 ve 8 için gmk'dır.


## Temel Özellikler.
Game Maker Direct3D kullanır ve sınırlı da olsa 3 boyutlu grafik ve modellere destek verir.
Programdaki partikül sistemi ile yağmur, kar, bulutlar, ateş, yıldırım, duman, patlama ve daha birçok efekt oluşturulabilir. Programın içinde bulunan aksiyon kütüphanesinde birçok hazır efekt vardır. Aksiyon kütüphanesi haricinde istenirse GML ile tamamen kullanıcıya özgü bir efekt geliştirilebilir.
Aksiyon kütüphanesi bir oyunun yapımında gerekebilecek temel işlemleri kod yazmadan kullanabilmek için geliştirilmiştir. Örnek olarak, bir patlama efekti sürükle-bırak yöntemi ile oyuna eklenebilir, efektin rengi, boyutu ve nerede gözükeceği gibi ayarlar tek satır kod yazmadan belirlenebilir. Hazır aksiyonlar kullanarak karmaşık oyunlar geliştirilebilse de, Game Maker'ın gerçek gücünün ortaya çıkması için GML dili kullanılmalıdır.
Game Maker dll'ler ve ek aksiyon kütüphaneleri ile geliştirilebilir. dll desteği sayesinde Game Maker'a birçok özellik eklenebilir. Buna verilebilecek en iyi örnek MySQL desteğidir.
Game Maker, içinde resim düzenleyicisi ile birlikte gelir. Resim düzenleyicisi profesyonel özelliklerden yoksun olsa da temel işlemler için oldukça yeterlidir. Game Maker ile grafiklerin yanı sıra seslere de efekt verebilmek mümkündür, ama bu özellik çok sınırlıdır.


## Yapı.
Game Maker, 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ştirebilmesi için yaratılmış bir programdır.
Game Maker, daha çok 2 boyutlu oyunlar üzerine yoğunlaşmıştır. Ancak diğer benzer programların aksine oldukça esnektir ve çeşitli tiplerde oyunlar geliştirmeye uygundur. Bu oyunlara örnek olarak platform oyunları, simülasyonlar, FPS, TPS ve multiplayer oyunlar da verilebilir. Programın kullanımı diğer oyun yapma programlarına göre çok daha kolaydır. Program içerisinde örnek oyunlar da mevcuttur.
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şturmak 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 (giriş, ayarlar, bölüm seçimi ekranları, vb.). Oda sayısı tercihi kullanıcıya bırakılmıştır .
  - Nesneler: Nesneler oyunun iş yapan parçalarıdır. Nesneler oyundaki her türlü varlığı (karakterleri, düşmanları, kurşunları, duvarları vb.) canlandırır. Aynı zamanda görünmez nesneler de olabilir. Görünmez nesnelerin amacı belirli kodları çalıştırmaktır. Örnek olarak, oyunda her 20 saniyede bir düşman çıkmasını sağlayan kod görünmez bir nesne ile çalıştırılabilir. Nesneler "olaylara" tepki verirler. Bir nesnenin oluşturulmasını, yok olmasını, üzerine tıklanmasını, odanın dışına çıkmasını, başka bir nesne ile çarpışmasını, klavyeden bir tuşa basılmasını ve benzeri birçok olay nesnelere örnek olarak verilebilinir. Olaylar aksiyonları çağırır. Aksiyonlar bir olay gerçekleştiğinde ne olacağını belirlerler. Aksiyon listesine aksiyon kütüphanesinden hazır aksiyonlar konulabileceği gibi GML kodları yardımı ile oluşturulan aksiyonlar da çalıştırılabilir.
  - 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, eklenen yazı tipleri kullanıcının bilgisayarında olmasa da çalışır.
  - Sesler: Oyuna eklenen her türlü sesler.
  - Arka planlar: Oyunda kullanılacak arka plan resimleridir. Bir grafik herhangi bir aksiyon içermiyorsa arka plan olarak eklenmelidir.
  - Yollar: Belirli bir yolu izlemesi istenen nesneler için yollar tanımlanabilinir. Örnek olarak, oyunda sürekli belirli bir alanda dolaşan bir karakter için bir yol belirlenebilir.
  - Zaman Çizelgeleri: Nesnelere belirli zamanlanmış görevler yaptırmak için kullanılırlar.


## Sistem Gereksinimleri.
 - Game Maker 8.x için sistem gereksinimleri:
  - Windows 2000, Windows XP, Windows Vista veya Windows 7
  - DirectX 8 veya üstü
  - En az 32 MB video hafızası olan DirectX 8 uyumlu ekran kartı
  - Pentium veya üstü işlemci
  - DirectX 8 uyumlu ses kartı
  - 128 MB veya üstü RAM
  - 800x600 veya üstü ekran çözünürlüğü
  - 16 bit veya 32 bit renk desteği
 - Game Maker 7.x için sistem gereksinimleri:
  - Windows 2000, Windows XP, Windows Vista veya Windows 7
  - DirectX 8 veya üstü
  - En az 32 MB video hafızası olan DirectX 8 uyumlu ekran kartı
  - Pentium veya üstü işlemci
  - DirectX 8 uyumlu ses kartı
  - 128 MB veya üstü RAM
  - 800x600 veya üstü ekran çözünürlüğü
  - 16 bit veya 32 bit renk desteği
 - Game Maker 6.x için sistem gereksinimleri:
  - Microsoft Windows 98, Windows 2000, Windows ME veya Windows XP
  - DirectX 8 veya üstü
  - En az 16MB 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
Game Maker'ın "6.x" ve daha düşük versiyonları ve onlarla oluşturulan ".exe" dosyaları "Windows Vista ve Windows 7" ile uyum probleminden ötürü çalışma problemlerine neden olabilmektedir.


## Eleştiriler.
Game Maker genellikle çok karmaşık projelerde performansının düşmesi nedeni ile eleştirilmektedir. Ayrıca, kullandığı motor yapısıyla oyunun FPS değerini düşürebilir.