Bir video oyunu oluşturmak büyük bir girişimdir, ancak sonuç, şimdiye kadar tamamladığınız en heyecan verici kodlama projesi olabilir. En çok programlama bilgi seviyenize uyan araçlardan öğreneceksiniz, bu yüzden sıfırdan başlamanın en iyi seçenek olduğunu düşünmeyin. Açtıktan veya öğreticiyi okuduktan sonra on beş dakika içinde anlamaya başlayabileceğiniz bir programlama dili, Entegre Geliştirme Ortamı ve/veya oyun yapma yazılımı seçin.
adımlar
Bölüm 1 / 2: Bir Motor Seçme
Adım 1. Oyun motorları hakkında bilgi edinin
Çoğu video oyunu, olayları, karakterleri ve benzerlerini her birini sıfırdan kodlamanıza gerek kalmadan "komut dosyası oluşturmanıza" izin veren özel bir motor kullanılarak yapılır. Sıfırdan tam bir oyun motoru oluşturmak yıllar alabilir, bu nedenle çoğu bağımsız geliştirici mevcut bir motoru kullanır. Programlama konusunda ne kadar rahat olduğunuza ve küçük ayrıntılar için ne kadar zaman harcamak istediğinize bağlı olarak, bu bölümde aşağıdaki adımlardan yalnızca birini izlemeniz yeterli olacaktır.
Adım 2. Basit oyun yapma yazılımını düşünün
Bu araçlar çok az programlama bilgisi gerektirir, bu nedenle oyun yapmanın kodlama yönleriyle ilgileniyorsanız sizin için olmayabilirler. Öte yandan, basit bir doğrudan dalış yaklaşımı size oyununuz hakkında çok şey öğretebilir ve daha büyük bir prototipe geçmeden önce daha yüksek seviyeli konseptte ince ayar yapmanıza izin verebilir. İşte birkaç ücretsiz seçenek:
- Mobil oyunlar için MIT App Inventor veya Game Salad'ı deneyin
- Tarayıcı oyunları için Scratch'i veya daha ciddi Snap sürümünü deneyin! giriş programlama aracı olarak tasarlanmıştır
- Macera oyunları için Visionaire kullanın.
- Kodlamayı da inceleme seçeneğine sahip bir sürükle ve bırak programı istiyorsanız, GameMaker'ın ücretsiz sürümünü deneyin.
Adım 3. Daha profesyonel geliştirme arayüzleri deneyin
Bu, ellerinizi kirletmek, tamamen sıfırdan başlamak zorunda kalmadan oyun kodlama deneyimi elde etmek için harika bir seçenektir. Birçok profesyonel bağımsız oyun geliştiricisi bu seviyede başlar. Birçok motor ve Entegre Geliştirme Ortamı (IDE) mevcut olsa da, aşağıdakiler ücretsizdir ve öğrenmesi nispeten kolaydır:
- Mobil oyunlar için: ProjectAnarchy
- Her platformda 3D oyunlar için: Unity
- Daha gelişmiş kodlayıcılar için: LWJGL (Java tabanlı), SFML (C++ tabanlı)
Adım 4. Kendi motorunuzu oluşturmak için bir araç seçin
Halihazırda biraz programlama bilginiz varsa ve kendi motorunuzu oluşturmaya kararlıysanız, işte başlamak için birkaç yer. Bu ilk denemenizse, muhtemelen öğreticilere ihtiyacınız olacak
- ActionScript, Flash tabanlı bir motor yapmanıza izin verir. Bu, orta seviye programcılar için başlamak için iyi bir yerdir.
- Java'yı öğrenmek nispeten basittir. Java için bir Java Geliştirme Kitine (JDK), ayrıca Eclipse'e veya başka bir Entegre Geliştirme Ortamına (IDE) ihtiyacınız olacak. Nasıl başlayacağınızdan emin değilseniz.
- Zaten bir programlama dili biliyorsanız (özellikle bir C dili veya Python), o dil için bir IDE arayın. Aynı projede bir derleyici ve grafikler, ses ve diğer kodlar üzerinde kolayca çalışma yeteneği içermelidir.
Adım 5. Kendi motorunuzu oluşturun
Eğer meydan okumaya hazırsanız ve önceki adımdaki gelişmiş araçlardan birini seçtiyseniz, dilinize özel tavsiyeler için büyük olasılıkla bir öğretici, yardım forumu veya deneyimli bir oyun geliştiricisi bulmanız gerekecektir. Nereden başlayacağınızdan veya ne soracağınızdan emin değilseniz, erkenden oluşturmanız gereken birkaç temel bileşen şunlardır:
- Kullanıcı girdisini yorumlayan ve sonucu işleyen bir istemci tarafı sunucusu. Grafiklere ve oynanışa ciddi bir çalışma koymadan önce giriş sisteminin doğru yanıt vermesini sağlayın. (Takılıp kaldıysanız "eylem dinleyicileri" araştırmayı deneyin.)
- Diğer karakterler için AI, böylece kullanıcının eylemlerine tepki verirler. Daha basit bir proje için, karakterlerin hareket etmesini ve belirlenmiş bir yolda hareket etmesini sağlayın.
- Grafik oluşturma yeteneği (bir araya getirme ve grafik kartına talimatlar gönderme).
- Oyun yürütülürken sürekli çalışan bir oyun döngüsü. Bu, kullanıcı girdisini almalı, işlemeli, diğer oyun mantığını işlemeli (düşman hareketi, arka plan animasyonu ve tetiklenen olaylar gibi), neyin çizilmesi gerektiğini hesaplamalı (ekranda görüntülenmeli) ve bilgileri grafik kartına göndermelidir. Sisteminiz kaldırabiliyorsa, bunu saniyede en az 30 kez (30 fps) çalıştırın.
Bölüm 2/2: Oyunu Tasarlamak
Adım 1. Önce konseptinizi ortaya çıkarın
Bir kod satırına dokunmadan önce oyununuzun ne olduğunu bulmak için epey zaman harcayın. Hangi tür? 2D mi yoksa 3D mi? Oyuncu oyunda bulmaca çözerek, hikayeyi takip ederek/yaratarak, düşmanlarla savaşarak ve/veya keşfederek ilerliyor mu? Ne kadar çok soru cevaplarsanız ve fikirlerinizi ne kadar detaylandırırsanız, uzun vadede o kadar çok zaman kazanırsınız. Kodlamaya başladıktan sonra büyük bir değişiklik yapmaya karar verirseniz, değişikliğin uygulanması birçok kez daha uzun sürebilir.
Bunu, orijinal fikrinizden çok daha basit bir şekilde ayrıştırın. Oyununuzun nasıl çalıştığını araştıran ve oynamak için birkaç seviye sunan küçük bir prototip mükemmel bir başlangıçtır. Tamamlandığında, tam bir oyuna genişletmek için bir temel olarak kullanabilir veya öğrendiklerinizi yeni bir projeye dahil edebilirsiniz
Adım 2. Aşağıdaki adımlar üzerinde herhangi bir sırayla çalışın
Bu noktada, önünüzde haftalar veya aylarca zorlu ama ödüllendirici bir çalışma var. Bir grup insan genellikle aşağıdaki görevleri bölüştürecek ve bunlar üzerinde aynı anda çalışacak olsa da, bir kişi hangi görevle başlamanın en kolay olduğuna veya her aşamada en önemli olduğuna karar vermek zorunda kalacaktır. Aşağıdaki tüm adımları okuyun ve size en çok hitap eden göreve başlayın.
Adım 3. Sanat varlıklarını toplayın veya yaratın
Metin tabanlı oyunda yapmıyorsanız, 2B görüntülere ve muhtemelen 3B modellere ve dokulara (modellere uyguladığınız desenler) ihtiyacınız olacak. Müzik ve ses efektlerini bu süreçte biraz sonraya erteleyebilirsiniz, ancak oyununuzu yayınlamayı planlıyorsanız şiddetle tavsiye edilir. Basit simgeler, kullanıcı arayüzü ve yazı tipleri, oyununuz gençken en düşük önceliğe sahiptir, ancak burada biraz çaba sarf etmek, oyuncu deneyimini büyük ölçüde iyileştirebilir.
- Çevrimiçi olarak ücretsiz veya ucuz sanat varlıkları bulabileceğiniz birçok yer var. Bu listeyi makeschool.com'da deneyin.
- Bir sanatçıyı işe almak büyük bir fark yaratacaktır. Ödeyemiyorsanız, varlıkları kendiniz toplayın ve sonucu sanatçı arkadaşlarınıza gösterin veya tavsiye için oyun geliştirme veya sanat forumlarına çevrimiçi gönderin.
Adım 4. Hikaye veya ilerleme ark tasarımı üzerinde çalışın
Hikaye tabanlı bir oyunun dallara ayrılan diyalog ağaçlarını içermesi gerekmesine rağmen, bunların çoğu oyun kodunun dışında planlama belgeleri olarak yazılacaktır. Geleneksel bir hikayesi olmayan bir oyun bile, planlamanız gereken bir ilerleme hissine sahip olmalıdır. Bir platform oyunu, bir dizi hareket ve silah yükseltmesi içerebilirken, bir bulmaca oyunu, bulmacaların karmaşıklığını ve zorluğunu artırdıkça daha fazla özellik ekleyebilir.
Adım 5. Düzey tasarımı üzerinde çalışın
Küçük, basit bir seviye veya alanla başlayın. Oyuncunun seviye boyunca izlediği yolu oluşturmaya odaklanın, ardından yan yollar (isteğe bağlı), daha ayrıntılı grafikler ekleyin ve zorluğu ayarlayın (örneğin platform yüksekliklerini ayarlayarak veya düşmanları hareket ettirerek).
Oyuncuyu bölgedeki bir sonraki noktaya yönlendirmek için ışık kaynakları ve eşya damlalarını kullanın. Oyuncuları çıkmaz sokaklara veya garip yollara girmekten caydırmak için gölgeler kullanın ve düşmanları her iki amaç için de kullanın (oyunun size düşmanları nasıl atlatmayı öğrettiğine bağlı olarak). İyi tasarlanmış bir alan, oyuncuya kendi kararlarını veriyor veya keşfediyormuş gibi hissettirir, ancak ince ipuçlarını kullanarak onu en basit rotada yönlendirir
Adım 6. Grafikleri düzenleyin ve optimize edin
Basit oyun yapma yazılımı kullanıyorsanız bu gerekli değildir. Grafik sistemlerinin daha derinlerine inmeye istekliyseniz, gölgelendiriciler ve parçacık efektleri oluşturarak veya grafik kodunu inceleyerek ve oyununuz için gereksiz görevleri kaldırarak başlayabilirsiniz. Grafikler neredeyse her zaman işlem hızını belirleyen en önemli nokta olduğundan, bir 2D oyun bile grafik kartı ve işlemci üzerindeki yükü en aza indirmek için genellikle önemli optimizasyon ince ayarlarından ve yeniden yazma işlemlerinden geçer.
Adım 7. Oyun testçilerinden geri bildirim alın
Basit bir seviyeniz veya bir oyun prototipiniz olduğunda, arkadaşlarınızın oyunu oynamasını ve geri bildirimde bulunmasını sağlayın. İnsanların nelerin eğlenceli olduğunu düşündüklerini ve onları neyin sinirlendirdiğini öğrenin. Daha sonra, oyun daha parlak hale geldiğinde, yabancılardan veya tanıdıklardan gelen geri bildirimler, başarınıza daha az yatırım yaptıkları veya sizi cesaretlendirdikleri için mükemmel bir dürüst tavsiye kaynağı olabilir.