Bilgisayar oyunları nasıl yapılır? Yeni başlayanlar için oyunlar oluşturma

Bir haftada sıfırdan ve bütçesiz bir RPG oyunu nasıl geliştirilir? Bölüm I

Bir hafta içinde RPG? Sıfırdan mı? Bu mümkün mü?
Risk aldım ve yaptım.

İnternet, küçük, bağımsız (indi) oyun geliştiricilerine sunulan bilgi kaynaklarıyla doludur. Böyle bir halka açık forumda, bir tartışma sırasında, bana bir haftalık süre verilirse, yeni bir Windows yüklemesi olan bir bilgisayar ve iyi bir İnternet bağlantısı verilirse, harcama yapmadan iyi bir oyun yaratabileceğimi ağzımdan kaçırdım. üzerinde bir kuruş. Hayır, kesinlikle Halo 2 ya da aynı seviyede bir şeyle rekabet edemeyecek (böyle bir oyunu bir haftada yapabilseydim, uzun zaman önce işimi bırakırdım), ama oldukça ilginç ve oynanabilir olacak. .

Aylık Game of the Day Oyun İncelemeleri'nin (www.gameinaday.com) yazarı Tom Bampton şöyle dedi: "Devam et!" Sonra ek bir koşul ekledi - Bunu mevcut oyun motorlarını kullanmadan yapmalıyım. Yalnızca çekirdek kitaplıkları/API'leri kullanmama izin var.

İlk başta bu fikirden vazgeçtim. İş yerindeki mevcut oyun projesinin geliştirilmesinden bir hafta izin almak için çok fazla zamanım olmadı. Ama sonra düşündüm: canı cehenneme, çünkü bir hafta nedir? EA gibi tipik bir şirkette çalışma haftası 40 saattir. Öyleyse neden bir takvim haftasında değil de 40 temiz saatte oyun yapmıyorsunuz? Zaten daha gerçek - ama başka bir Tetris veya Arkanoid yaratmak istemedim. Peki ya en zor oyun türlerinden biri olan rol yapma oyunu? Bu mümkün mü?

Son derece zor olacağını biliyordum. Ama meydan okumayı kabul ettim.

Ayrıca, ne ve nasıl yaptığımı ayrıntılı olarak yazdım, geliştirme sürecini anlattım. Oyun geliştiricileri için ilginç olabileceğini düşündüm - ya da en azından aniden başarısız olursam yüzümü çamura nasıl düştüğüme dair eğlenceli kayıtlar al. Bulabildiğim tek şey, saatlik aktivitemin uzun, başıboş bir kaydıydı. Okumak can sıkıntısına yol açmayacak şekilde değiştirmeye çalıştım. Nasıl oldu, kendin karar ver.

İşte bir hafta içinde sıfırdan ve bütçesiz bir oyunu nasıl yarattım. Okumak için çok tembelseniz ve nihai ürünün neye benzediğini görmek ve tüm hatalarını görmek için hızlı bir şekilde hikayenin sonuna atlamak istiyorsanız, oyunun Windows sürümünü buradan indirebilirsiniz: http://www .rampantgames.com/hackenslash.html

PLANLAMA
Hedef
The Temple of Apshai, Ultima III ve Telengard gibi yukarıdan aşağıya bir görünüme sahip, 80'lerin başlarındaki eski oyunlar tarzında eski tarz bir RPG oluşturun. Oyuncu, tipik bir zindandaki odalarda dolaşarak çeşitli canavarlarla "kılıç ve büyü" ile savaşacak. Yavaş yavaş, deneyim kazanarak, seviye atlayarak, büyülü ekipman edinerek yeteneklerini geliştirecektir.

Bununla birlikte, oyun sadece kendisiyle savaşmaktan daha fazlasını içerecek. Oyuncu ayrıca canavarları gizlice geçme veya onlarla pazarlık etme seçeneğine de sahip olacak. Kilitli kapılar ve sandıklar ve beklenmedik etkilere sahip benzersiz zindan özellikleri olacak. Oyunda uzun açıklamalar veya diyaloglar olmayacak - çoğunlukla tipik bir hack & slash olacak. Son patronla yüzleşecek, görevi tamamlayacak ve eve (başlangıç ​​odanıza) güvenli bir şekilde dönecek kadar güçlü olana kadar yolu takip edeceksiniz.

Geliştirme kuralları

Kural 1: Geliştirme süresi bir hafta ile sınırlıdır (40 saat dahil)
Oyun geliştirmeye toplam 40 saatten fazla zaman harcanmamalıdır. Bunlar, oyun üzerinde gerçekten çalışmak ve oyun hakkında düşünmek için harcanan zamanı içerecektir. On dakikadan uzun geliştirme araları sayılmaz. Bu, 40 saatlik yüksek performanslı "mükemmel" bir çalışma haftası olacaktır.

40 saat içinde tamamen işlevsel bir alfa sürümü yapılacak. Oyunun son hata ayıklaması, toplam süre içinde dağıtım için bir yükleyici oluşturulması gibi daha fazla bitirme işlemi dikkate alınmayacak, bu aşamada yeni bir işlev eklenmeyecektir. Geliştirme sürecinin dokümantasyonu da dikkate alınmaz.

2. Kural: Yalnızca Ücretsiz Araçları Kullanın
Windows kurulumu ile birlikte gelen yazılımlar haricinde sadece ücretsiz yazılımlar, mümkünse açık kaynak kodlu olarak kullanılmaktadır. Bunun amacı, bir oyun geliştirmek için pahalı (hatta ucuz) araçlara ihtiyacınız olmadığını göstermektir. Tarayıcı, mikrofon ve dijital kamera gibi ekipmanlar bu kuraldan etkilenmez - bunlara sahip değilseniz, birinden ödünç alınabileceklerini varsayacağız.

Kural 3: Motor Yok, Yalnızca Standart Kitaplıklar/API'ler
Oyun, mevcut oyun motorları kullanılmadan "sıfırdan" oluşturulmalıdır. Hile yapmak ve oyun tasarımcıları veya benzer yazılımlar kullanarak oyun veya herhangi bir parçasını oluşturmak yasaktır.

Araçlar
kod:

Python 2.3 (http://www.python.org/)
Python Kazanması
PyGame (http://www.pygame.org/)
Py2exe - dağıtım için yürütülebilir bir dosyaya ne olduğunu derlemek için. (http://starship.python.net/crew/theller/py2exe/)

Gimp 2.0 (http://gimp-win.sourceforge.net/)
MS Paint (Windows ile gelen) - PrintScreen anahtarıyla çekilen ekran görüntülerini yapıştırmak için (GIMP bir nedenle bunu yapmayı reddetti)
Ücretsiz dokular (http://www.textureartist.net/texttures/index.htm) ve (http://www.mayang.com/texttures/) adresinden alınmıştır.

Audacity (http://audacity.sourceforge.net/) artı mikrofonum veya ücretsiz olanlar.

İş Takvimi (Plan)
Programlar daha sonra kırılmak üzere yapılır, ancak ilerlemeyi ve çizgileri kontrol etmek ve gerektiğinde ayarlamalar yapmak için hala gereklidirler.

Saat 1-10: Temel mimari
Motor tasarımı ve ana bileşenler. Dünyanın görüntüsünü ekranda alın. Test oyuncusunu dünya çapında hareket ettirme ve bazı şeylere bakma ve ardından olanları bir oyun editörüne dönüştürme yeteneğini uygulamam gerekiyor.

Saat 11-20: Oyuncu seçenekleri
Oyuncu için tüm ana özelliklerin uygulanması - hareket etme, saldırma, kapıları açma, ölüm, eşyaları toplama ve envanter kullanma. Oyuncunun dünyayla etkileşim yeteneğini test etmek için ortamdaki tüm nesnelerin bir tel kafes temsilini oluşturun.

21-30. Saat: Dünyanın Yeniden Canlandırılması
Yapay zeka, oyun etkinlikleri, tuzaklar, özel efektler ekleyin. Bu sürenin sonunda, oyunun tüm ana özelliklerini içeren oldukça eksiksiz bir teknoloji demosuna sahip olacağım.

31-40. Saat: İçerik ve kurallar ekleme
Tekno demodan tam teşekküllü bir oyun edinin. Tüm ek içeriği ekleyin. Oyun mekaniğinin bütünlüğünü ve dengesini sağlamak. Yeterli zamanı olan her şeyi cilalayın, özel efektler, animasyon vb. ekleyin.

40 saat sonra: Oyunun test edilmesi ve piyasaya sürülmesi
Bulunan hataları test edin ve düzeltin (yeni özellikler eklemeden!) Her şeyi bir araya toplayın ve İnternet'e koyun. Eksiksiz belgeler.

Hackenslash Geliştirici Günlüğü: Haftanın Oyunu

1. Saat - Vahşi Tasarım ve Temel Sınıflar
Bu saat, oyun için bazı temel sınıflar oluşturmaya ve bunları daha sonraki tasarımlarda kullanmaya harcandı. Dünya, bir portal ile birbirine bağlanan bir dizi oda olarak sunulacak. Tıpkı eski macera oyunlarında veya MUD'larda olduğu gibi, dünyadaki her şey odalara dayalıdır. Oyundaki nesnelerin çoğu, bir konumu ve içeriği olan bir "Oyun Nesnesi" olarak temsil edilir (diğer nesneleri de içerebilir - bir harita odalar içerebilir, bir oda bir sandık içerebilir, bir sandık bir kılıç içerebilir.. . ve bence bir kılıç birkaç oda içerebilir, ancak bunu yapmayacağız.)

Ben nesneler yaratık (yaratık) ve oyuncu (Oyuncu) yaratırım
Yaratıklar için bir dizi nitelik oluşturuyorum ve bunları bir sınıfa enjekte ediyorum. Görünüşe göre ben çok fazla RPG oyunu oynayan bir ineğim. Oyun mekaniğinin nasıl görüneceğini ve çalışacağını henüz tam olarak bilmiyorum.
GameObject'den miras alan bir oda nesnesi yapıyorum. Bir odanın genişliği, yüksekliği ve duvarları vardır - ve şu anda başka bir şey yoktur.

Yavaş yavaş, her şeyin nasıl işleyeceğini anlamaya başlıyorum ve gerekli düzeltmeleri yapıyorum. Bu aşamada PyGame kullanmaya çalışmıyorum bile ve program konsoldan başka bir şey göstermiyor. Ama yapılanların hepsinin büyük ilerleme olduğunu hissediyorum!

2. Saat - PyGame 101
Bu saatin amacı, PyGame'i başlatmak ve en azından ekranda bir şeyler çizmeye başlamaktır. Aslında, PyGame veya SDL ile çok az veya hiç deneyimim olmadığı için zamanımın çoğunu PyGame belgelerini okuyarak, orada ne olduğunu ve nasıl olduğunu anlamaya çalışarak geçiriyorum.

Bu saat, siyahla dolu boş bir ekran görüntüleyen bir programla sona erer. Etkileyici değil. Aslında, bu pencerenin arkasında çok şey var. Bir oyun döngüsü, çerçeve değiştirme, çoklu sınıf çağrıları ve çok sayıda boş taslak var. Ancak bu, siyah ekranı daha etkileyici kılmaz.

3. Saat - Duvarların kulakları olsaydı, onları şiddetle azarlardım.
Bu saatin amacı, odanın konturlarını duvarlarla tanımlamak ve bunu hareketsiz siyah bir ekranda göstermektir. Bunu yapmak için odaya ve grafiklere ihtiyacım var. GIMP'de, İnternet'ten indirilen dokuları düzenleyerek uygun karolara dönüşmeleri için çok zaman harcamanız gerekir. Bir doku yöneticisi sınıfı oluşturuyorum. Ve örnek oda yapısını dolduruyorum. Ayrıca işi kolaylaştırmak için kullanabileceğim başka bir şey bulmak için PyGame belgelerine bakmak için biraz daha zaman harcadım.

Saat geçti. Hala aynı siyah ekrana sahibim. Duvarlar yoktu ve hayır.

4. Saat - Otelde ücretsiz oda bulunmaktadır.
Bazı sözdizimi hatalarıyla uğraştıktan sonra nihayet duvarların ekranda görünmesini sağlayabildim. Doğru, yanlış görüntüleniyorlar, belirtilen yerde değiller ve hatta segmentler arasında yuvalar var. Bu korkunç. Ancak biraz ince ayar ve düzenleme ile ekranda 10'a 10 karelik bir oda gibi görünen bir şey elde ettim.

Ayrıntılı bir proje planı olmadan, belirli bir işi yaptığınızda ve "Sırada ne var?" diye merak ettiğinizde kafanızın karışması gerçekten çok kolay. Bir oda çizmek iyiyse, iki oda çizmenin iki kat daha iyi olduğuna karar verdim.

Oluşturulan odaları saklamak için bir "minidungeon" dosyası oluşturdum.
"Portallar" mantığını eklemeye başlayacağım - diğer odalara gitmek için duvarlardaki açıklıklar (ve bitişik odaları doğru bir şekilde görüntülemek için gereken tüm ofset bilgilerini sağlayarak).

5. Saat - Hackenslash daha fazla oda alıyor

Pencerenin başlığını "Hackenslash!" olarak değiştirdim. Sadece havalı olduğu için.
Odaları depolamak için bir nesne haritası ve birkaç harita içeren bir MapMaster sınıfı oluşturdum.
İkinci bir oda ekledim ve ilkine portal üzerinden bağlandım.
Bitişik odalar, portallar aracılığıyla mevcut olana bağlanır ve artık ekranda görüntülenir.
Kısmen pencerenin ötesine uzanan duvarların doğru görüntülenmesi için bazı kırpma hatalarını düzelttim.

6. Saat - çizim becerilerimizi geliştirdiğimiz saat

Bir kapı sınıfı eklendi ve ayrıca kapı yerleşimi için haritalar ayarlandı (kapı iki oda için ortak olmalıdır). (Düzenleme: Çok kötü, hiç kullanmadım!)
3 tane daha duvar karosu oluşturdum, bunları tek bir görüntüde birleştirdim.
Duvarların grafik görünümü, tipine bağlı olarak değişir.
Yukarıdan aşağıya bir görünüm için basit bir grafik yapıyorum.

7-8. Saatler - Döndürme ve ünlemler!

PyGame'de bitmaplerin nasıl döndürüleceğini buldum.
Test oynatıcısının düzgün dönüşünü sağladım. Dönme açısını düzeltmek için birçok ayar gereklidir.
PyGame'de yazı tiplerinin nasıl kullanılacağını öğrendim ve metni görüntülemek ve canlandırmak için bazı sınıflar oluşturuyorum.
Otomatik metin işleme için bir sınıf eklendi, çünkü bu işlev gelecekte sıklıkla kullanılacaktır.

9-11 Saat - Elementler - brrr!

Ve burada yine, "Sırada ne var?" Sorusunu çözmem gerekiyor.

Odalar daha ilginç öğelere ihtiyaç duyar, bu nedenle bunların bir listesini yapmanız gerekir. Onları nasıl sistematize edeceğimi bilmiyorum, bu yüzden genel olanlarla başlamaya karar verdim. Tipik bir zindan odasında bulunabilecek üç statik öğe ekledim: bir halı, bir sütun (duvarlarla aynı işlevselliğe sahip bir blok) ve bir merdiven (yeni bir konuma geçmenizi sağlar)

Öğelerin birden fazla döşemeyi kaplayabileceğine ve herhangi bir derecede döndürülebileceğine karar verdim. (Düzenleme: Geçmişe bakıldığında, çok aptalca bir çözüm - Bunu uygulamak için çok fazla zaman harcadım, ancak neredeyse işe yaramaz olduğu ortaya çıktı.)

Sonuç olarak, yaklaşık üç saatimi öğeler üzerinde çalışarak geçirdim, grafik oluşturmak ve kod yazmak arasında kaldım.

Saat 12 - 13 - Loot'a ihtiyacımız var!

Bir şeyler için grafikler ve kodlar oluşturuyorum. Çizimin ne kadar uzun sürebileceği şaşırtıcı. Özellikle tavuk, ne kadar çaba sarf edilirse edilsin, tavuğun patisiyle çiziyormuş gibi göründüğünde can sıkıcıdır.

Maliyetleri, boyutları, ekipman yuvaları ve daha fazlası dahil olmak üzere öğelere çok sayıda istatistik ekledim. Henüz etkileşime geçemiyorlar ama en azından odanın doğru yerlerinde ortaya çıkıyorlar.

14. Saat - Halılar

Programın çok gerisindeyim, ne yapmalıyım?
Siyah arka plan çok çirkin görünüyor, bu yüzden odanın içini halılarla döşedim - ayrı fayanslar.

Ondan sonra aniden oyuncunun spritelarına ve diğer şeylere şeffaf bir arka plan eklemeyi unuttuğum ortaya çıktı. Bu gözden kaçırmayı düzeltmek için çok zaman harcamak zorunda kaldım.

Ama seviye şimdi harika görünüyor. En azından siyahtan daha havalı.

Saat 15-16 - Tıklayın! Tıklamak!

Fare kontrolü ve olay işleme ile meşguldüm.
Fare kontrolü eklendi. Hareket sarsıntılı iken, seviyenin düzgün bir şekilde kaydırılması yoktur.
Oyuncu odadan çıkabilir, çarpışma kontrolü yoktur.
Birkaç hatayı düzelttim.
GIMP'ye işkence etti ve güzel merdivenler yarattı.
.
Zaten neredeyse 17 saatlik bir geliştirme oldu, bu yüzden biraz gergin olmaya başladım. Oyunu oluşturmak için yolun 2/5'ine gittim - geliştirmenin ikinci "çalışma günü" sona erdi. Halihazırda yaptığım şey etkileyici, ancak daha yapılacak çok şey olduğunu anlıyorum. Çekirdek oyuncu özelliklerini bitirmek ve programa uymak için dört saatim daha var. Zor olacak... ama yine de grafik çizmek için fazladan zaman harcadığım için pişman değilim!

17. Saat - Alnımızı duvara vurana kadar yavaşça hareket edin

Çoğu zaman grafiklerde ince ayar yapmak ve hataları düzeltmek için harcanır.
Oyuncu hareket ettiğinde çarpışma algılama ve yumuşak kaydırma eklendi.
Oyuncu artık bir fare hareketine yanıt olarak birden fazla adım (dönüş) yapabilir.

18. Saat - Eşikleri geçmek

Oyuncu artık portallardan diğer odalara geçebilir.
Bu, bitişik odalar arasında örtüşen duvarlar ve zeminler ile kozmetik bir hataya neden olur.
Döndürmeyle ilgili, portalları geçilmez hale getiren birçok hata düzeltildi.

19. Saat - Cennete Merdiven, Cehennem Menüsü

Kardeşim oyun için müzik yapmak için gönüllü oldu. Void War için müzik yaptı ve oldukça iyi çalıştı. Bu bana ses (ve müzik) çalmayı hatırlattı. Bunu PyGame'de yapmak oldukça kolay görünüyor, bu yüzden çok uzun sürmemeli. (Düzenleme: Bunun için hiç zaman bulamadım, ne yazık ki Hackenslash'ta tek bir ses duymayacaksınız.)

Bir sonraki hedefim, yaratıklar ve nesnelerle etkileşimleri ele almak. The Sims ve Neverwinter Nights'ta yapılma şeklini gerçekten seviyorum, bir oyun nesnesiyle etkileşim kurmak istediğinizde bir bağlam menüsü açılır. Buna benzer bir uygulama yapmayı planlıyorum.

Oyuncuyu yeni bir odaya taşımak için merdivenleri öğretmek.
PyGame'de benzer bir menü için açık kaynaklı bir menü olup olmadığını görmek için internette ve PyGame belgelerinde biraz dolaşıyordum. Ve hiçbir şey bulamadı.
Kendi menümü yapmaya başladım.

Saat 20 - 21 - Menüde neler var?

Menüde çalışmaya devam ediyorum. Menü bir nesneye kolayca bağlanabilir, daha doğrusu nesne, oyuncunun seçimini işlemek için geri bildirimin uygulanmasını kolaylaştıran bir menü oluşturur.
Öğe menüsü üzerinde çalışmaya başladım. Zaten doğru yerde görünüyor ve bazı öğeleri seçmenize izin veriyor, ancak basıldığında henüz hiçbir şey yapmıyor, yalnızca menüyü kapatma düğmesi çalışıyor.

22. Saat - Devam ederken uykuya dalın

Bir şeyler üzerinde çalışmaya devam ediyorum - işlevselliklerini uygulamaya çalışıyorum ve onlara bağlamsal bilgi ekleme yeteneği de dahil olmak üzere menü komutlarına yanıt vermeyi öğretiyorum. Şimdi çok az işlevselliğe sahip, ancak yine de çalışıyor ve çalışan komutla ilgili bilgileri görüntülüyor.
Çeşitli eylemler gerçekleştirirken hareket hesaplamasını iyileştirdim, daha fazla hareketlilik elde ettim.

Zaten geç olduğunu ve bu iş için ayrılan saatin çok ötesine geçtiğimi fark ettim. Toplam geliştirme süresine dikkat etmeseydim, muhtemelen sabaha kadar otururdum. Ama zamanım kısıtlı olduğu için neredeyse boşa geçen bir saat gerçekten kötü bir haber. Yeterli zaman olmadığında önceliklerin nasıl değiştiği ilginç. Genel olarak, yatağa giderim.

23. Saat - Savaş parametreleri!

İlk bir saatte yaratılan bazı sınıf niteliklerini değiştiriyorum (aslında daha yeni başlıyorum).
Sağ üst köşede oynatıcı seçeneklerini gösterecek bir panel oluşturuyorum.
Bu pencereyi yazı tiplerinden daha hızlı çizen bir görüntüye dönüştürerek optimize ettim. Bu görüntü yalnızca ilişkili karakter parametreleri değiştiğinde güncellenir.

24. Saat - Oyuncu Menüsü

Seçenekler penceresi için optimizasyonları tamamladım.
Oyuncu bir karaktere tıkladığında beliren bir açılır menü oluşturuldu.
İksir kullanmak, büyü yapmak vb. için hızlı bir menü oluşturdum.
Menüdeki bazı hataları düzelttim.

25. Saat - Zeminleri ve duvarları kesmeden önce (bir kez)

Bu sabah kafamda bir fikir vardı (gerçekten bu kadar çok fikre sığabilecek kadar büyük bir beynim var mı?) bitişik odalarda duvarların üst üste gelmesi sorununu nasıl çözebilirim (on sekizinci saatin açıklamasına bakınız). Ya duvarların sadece yarısını boyarsam? Bu şekilde hiçbir çakışma olmayacak ve çakışmaları tespit etmek ve düzeltmek için hiçbir karmaşık mantık eklenmesine gerek kalmayacak.

Bu fikrin uygulanması için çalışmaya başlıyorum. Ne yazık ki, aslında icat edilen sadeleştirme, odayı (özellikle zeminleri) çizmeyi daha da zorlaştırıyor ve umduğum kadar çabuk uygulanamayabilir. Bu sistemi oluşturmak ve hatalarını ayıklamak yaklaşık bir saat sürdü. Ama buna değdi.

Kodun hatalarını ayıklarken, odalar arasındaki geçişle ilgili birkaç hata daha buldum.

ARA - Kriz!

Geliştirme süresinin 3/5'inden fazlasının geçtiğini ve oyunu bitirmek için on beş saatten az kaldığını fark ettim. Oyunun gerekli özelliklerinin çizelgesine baktıktan ve her birinin uygulanmasının ortalama bir saat süreceğini tahmin ettikten sonra, her şeyi uygulamanın yirmi beş saatimi alacağını fark ettim. On saat önceden. Proje resmen tehlikede.

Zaman sınırının ötesine geçemem. Bir asistan çekmek veya kod/kaynak satın almak da imkansız, çünkü oyunu 40 saat içinde kendim yapmam şartıyla. Nasıl daha verimli çalışabileceğimi bulmam gerekiyor - ama zaten maksimum verimlilikle çalışıyorum. Görünüşe göre başka seçeneğim yok, işlevselliği yeniden düşünmem ve hangi özellikleri oyundan atacağıma karar vermem gerekecek.

Kapılar: Kes! Oyunda gerçekten kapı yapmak istiyorum. Bu işlevden ayrılmak üzücü - özellikle bir süredir üzerinde çalıştığım için. Ama yine de yapay zeka gibi çok fazla çalışma var. Ve onları işe almak muhtemelen 2-3 saat sürecek, ki bu bende yok.
Envanter: Basitleştirin! Ek envanteri ve silahları istediğiniz zaman değiştirme yeteneğini unutun. Toplanan ve mevcut ekipman haline gelmeyen her şey anında paraya çevrilecek.
Tuzaklar: Basitleştirin! Onları etkinleştirmek için ilginç ve çeşitli sonuçları olan birçok tuzağa sahip olmak istiyorum. Öyle olması gerekmiyor. Tuzaklar basit bir görsel etkiye sahip olacak, hasar verecek ve rastgele bir canavarla karşılaşma şansını geçici olarak artıracak.
Yaylar (Küçük Silahlar): Kes! Oyunda sadece yakın dövüş silahları olacak, büyülerle saldırabileceğiniz bir mesafeden.
Oyunu Kaydet/Yükle: Basitleştirin! Dünyanın durumu değil, sadece karakter kurtarılabilir. (EDIT: Onu da yapmadım!)
Parçacık Sistemi: Erteleyin! Parçacık sistemi oluşturma, öncelik listesinin en altına taşındı. Bunların yapılması gerekeceğinden şüpheliyim. Büyü parçacıklarıyla etkileyici görsellere sahip olmak güzel olurdu... ama muhtemelen asla olmayacak.
Büyüler: Basitleştirin! Büyüler hakkında ciddi bir fikrim vardı: Parşömen şeklinde bulunabilirler ve sayıları bir düzineden fazladır. Üzücü ama sadece birkaç büyü olacak: Heal, Damage, Weaken, Empower ve Restoration. Seviye atlayarak, oyuncunun büyü puanlarının sayısını artırarak büyülerini geliştirmesine izin verebilirsiniz.
Canavarların ve oyuncuların animasyonu: Kes! Yeterince hızlı yapmak için zavallı bir sanatçıyım.

Neyi yapmayacağıma (veya neyi sonraya erteleyeceğime) karar verirken, önce ne yapılması gerektiğine karar vermek de aynı derecede önemlidir.

Oyunda çok önemli olduğunu düşündüğüm birçok planlanmış şey var - tuzaklar bulmak, gizli kapılar (şimdi gizli geçitler) ve sandıkları açmak. Ama yine de oyunun temeli savaştır. Bu yüzden ona odaklanmaya karar verdim, onu birinci öncelik haline getirdim. Kendime bir hedef koydum, bir buçuk saat içinde canavarlarım canlanacaklar ki öldürülebilsinler.

Harika, öncelikleri belirledik, gelişmeye devam ediyoruz.

26. Saat - Hadi zarları atalım

Oyuna bir rastgelelik unsurunun dahil edileceği bir mekanizma olan "zar" mekaniği üzerinde çalışıyorum. Gerçek bir zar kısıtlamamız olmadığı için, istediğimiz herhangi bir aralıkta rastgele bir sayı elde edebiliriz. Örneğin, 1'den 33'e veya 6'dan 17'ye. Böylece zarları atabilir, düşenleri saldırım ve düşmanın savunmasıyla karşılaştırabilirim. Atılan sayı savunmadan yüksekse, saldırı başarılıdır.

Örneğin toplam saldırı değerim 15 diyelim. 10 defansı olan bir canavara saldırıyorum. Şansım 25 üzerinden 15 (25 =15 +10) veya 5 üzerinden 3 Yani oyun 1 ile 25 arasında rastgele bir sayı üretecek ve ondan büyükse ben kazanacağım.

Verilen hasar biraz farklı bir şekilde hesaplanır. Savunmacıya "zırh" ve saldırgana "hasar" ekledim. 1'den toplamlarına rastgele bir sayı oluşturuyorum ve ardından zırhı çıkarıyorum. Sonuç birden azsa, hasar verilmez. Aksi takdirde, sonuca eşittir. Böylece, 10 hasarlı bir canavar 5 zırh puanına sahip bir oyuncuya saldırırsa, oyun 1'den 15'e kadar bir sayı üretecek ve bundan 5 çıkaracaktır, verilen hasar ne olur.

Bu açıklama ve açıklama, uygulanmasından daha uzun sürdü.

Saat sonunda zindan görüntüleme alanının boyutunu küçülttüm, şimdi pencerenin sağdaki kısmı tamamen kullanıcı arayüzüne ayrılmış, bu değişiklik performansta biraz artış sağladı. Ayrıca oyuncunun hareketinin kare hızına bağlı olmadığından emin oldum.

İhtiyacımız olan ilk şey hedefimize karar vermek. Neyle bitirmek istiyoruz? Oyununuzun "ateş etmesini" istiyorsanız, rastgele vurmak yerine daha doğru nişan alma ile başlamanız gerekir.

Kavramın aşaması ve hedefin tanımı devreye girer. Proje Müdürü.


Tür

Bitmiş oyununuzu en baştan en ince ayrıntısına kadar sunabilir veya oyunun kurgusunu, stilini ve özelliklerini geliştirme aşamasında düşünebilirsiniz. Bu durumda, aşırı hassasiyet gerekli değildir, ancak en azından oyun projemizin geliştirilmesi için yön belirlememiz gerekir. Oyunun türü en baştan hatasız seçilmelidir. Tür ve oyunun gelişiminin ana yönü olacaktır.

Yuvarlak tür tablosuna bir hedef olarak bakıyoruz ve ihtiyacımız olan oyun oyun öğelerini seçiyoruz (tür tablosu hakkında daha fazla bilgiyi makalemizde bulabilirsiniz " bilgisayar oyunları türleri"). Bazı unsurlar bize oyuncular arasında (yıkım, rekabet, kahraman, bakım), bazıları - sadık, ancak seçici hayranlar (taktikler, kontrol, kaçınma) ve bazıları - ciddi rakiplerin yokluğu (eğitim, mantık, seyahat, ekonomi).

Seçilen tür, çalışma ilerledikçe biraz değiştirilebilir, ancak özü aynı kalmalıdır. Tür, tüm oyun için bir tür temeldir. Oyununuzun türünü değiştirmek istiyorsanız, yeni bir oyun geliştirmeye başlamak, halihazırda geliştirilmiş olanı yeniden yapmaktan daha kolay olacaktır.


Ayar


Bilgisayar oyunlarının türlere ayrılması çok spesifiktir ve filmlerin ve kitapların tür sistemine benzemez. Oyun türleri sadece oyuncuların oyun sırasında yapacakları ana eylemleri belirler, bu nedenle sadece "NE?" sorusuna cevap verirler. "NEREDE?" sorularına ve ne zaman?" oyunun başka bir ana özelliğini karşılar - ayar.

Ayar, oyunun bir arsa temasına veya belirli bir sanal dünyaya ait olmasıdır. Bilgisayar oyunu ortamında en popüler ortamlardan bazıları oluştu: fantezi, bilim kurgu (bilim kurgu), İkinci Dünya Savaşı, Orta Çağ, steampunk, nükleer sonrası dünya, anime, çizgi roman.

Popüler bir ortamda bir oyun yaratmak, kendi popülerliğini sağlar ve oyuncular zaten tanıdık dünyada kendilerini rahat ve rahat hissederler. Bazı oyunlar kendi benzersiz ayarlarında veya standart temaların olağandışı kombinasyonlarında oluşturulur. Bu tür oyunlar daha az popülerdir, ancak yine de, klişe ve monotonluğa dayanamayan kendi özel oyuncu kitlesine sahiptirler.

2. Çözüm

Oyun projesinin hedefi belirlendi, şimdi bunu başarmak için araçları (malzemeler ve araçlar) seçmemiz gerekiyor. Ve burada bilgisayar dünyasının olağandışı bir olgusuyla karşı karşıyayız - oyun projesinin hem malzemesi hem de aracı aynı varlıktır - program kodu. Yapı malzemesi olarak kod, birler ve sıfırlar dizisi biçiminde dijital görüntüler, üç boyutlu modeller, sesler ve metinlerdir. Araç olarak kod, listelenen tüm türlerdeki oyun nesnelerini kontrol eden program kodu satırlarındaki komutlardır.


Oyun materyali (doldurma, içerik) oluşturmak sürecin tamamen yaratıcı bir parçasıdır, biraz sonra ele alacağız, ancak şimdilik program kodunu sadece bir araç olarak analiz edeceğiz. Bu durumda, program kodu, sonraki tüm geliştirme aşamalarının sonuçlarının üzerine yerleştirileceği bir çerçevedir (iskelet).

Bu aşama gerçekleştirilir programcılar.

Öncelikle bize en uygun programlama dilini seçmeliyiz. Bundan sonra, uzayda iki boyutlu veya üç boyutlu nesnelerle çalışabilen, görüntüleri ve sesleri birleştirebilen bir program kodu yazmak için zorlu ve özenli bir çalışma var. Sanal bir üç boyutlu uzay oluşturmak için, bir düzlemde 3B nesnelerin bir izdüşümü oluşturmak için karmaşık geometrik formüller kullanmanız gerekecek (bilgisayarın zihninde nesneler gerçek üç boyutlu uzayda bulunur, ancak yeniden hesaplamalar yapmanız gerekir). görüntülerini düz iki boyutlu bir ekranda görüntülemek için). Geliştirme sürecinde, tüm görüntü ve ses dosyası formatlarını, her türlü kodek ve kodlamayı incelemeniz gerekecek.


Oyun motorlarının kullanılması bizi programcıların kullanımından tamamen kurtarmaz, ancak onları minimuma indirir. Standart yazılım modülünün yine de özelleştirilmesi gerekecek, oyun projesini daha benzersiz hale getirmek için kendinize ait bir şey ekleyin.

3. Oyun mekaniği


Herhangi bir oyunun en önemli yaratıcı kısmı oyun mekaniğidir. Bu şey yüzeyde değil, bu yüzden çoğu zaman dikkatsiz oyun bilenlerin gözünden kaçıyor.

Genç gençler (oyun izleyicisinin ana kısmı) çoğunlukla oyunları grafik kalitesine göre değerlendirir ve popüler olmasına rağmen güzel oyunların farkına varmazlar, ancak popülerlikleri piyasaya sürüldükten sadece birkaç ay sonra sürer. Ve oyuncuların kalbinde ve ebedi oyun klasiklerinin altın listelerinde, tamamen farklı oyunlar sonsuza kadar kalır, belki görünüşte biraz çekici, ama inanılmaz derecede bağımlılık yapan bir oyun. Oyun ne kadar çeşitli ve ilginç olursa, oyuncu o kadar uzun süre oyunda kalır. Örneğin, "MineCraft" neden evrensel bir sevgi kazandı? Kesinlikle ilkel kübik grafikler için değil, bu oyunun gerçekten sınırsız oyun olanakları sunduğu gerçeği için.

Oyunu canlı bir organizma olarak hayal edersek, oyun mekaniği onun sinir sistemi ve beyni olacaktır. Ve oyunu yapım aşamasında olan bir ev şeklinde hayal ederseniz, oyun mekaniği elektrik kabloları, boru hatları ve diğer ev eşyaları olarak görünecektir. Güzel ve modaya uygun, ancak bu açıdan düşünülmemiş oyunlara ne olduğunu hayal edin: güzel bir evde yaşayabilirsiniz, ancak aydınlatması, akan suyu ve kanalizasyonu yoksa, ilk fırsatta onu bırakacaksınız. daha konforlu konut arayışı.

Oyun mekaniği, özünde oyunun işleyeceği bir dizi kuraldır. Oyuncu bu bonusu alırsa ne olacak? Oyuncu bir düşmana dokunursa, o zaman ne olacak? Bu temastan dolayı sağlığını kaybedecek mi, yoksa sadece bir düşman tarafından vurulduktan sonra mı olacak? Oyuncu arabaya yaklaşırsa, içine girip sürebilir mi? Oyuncu bir şeyler inşa edebilecek veya en azından nesneleri hareket ettirebilecek mi? Bunun gibi yüzlerce hatta binlerce soru olabilir. Tüm bu soruların cevabı oyun mekanikleri olacak.


nesneler

Tüm mekaniğin temeli oyun nesneleridir. Oyunun kahramanı, bilgisayar rakipleri, ikincil karakterler (NPC'ler), güçlendirmeler, hareketli nesneler, manzara - bunların hepsi kendi özellikleri ve olası eylemleri olan oyun nesneleridir.


Kontrol

Oyun mekaniği, hangi tuşların ana karakteri veya ana oyun nesnesini kontrol edeceğini, bir veya başka bir düğmeye bastıktan sonra hangi eylemin gerçekleşeceğini belirler. Buna oyun nesnelerinin davranış yasaları (fizik motoru) ve düşmanların davranışı (yapay zeka) da dahildir.


fizik motoru


Kontrolümüz altındaki karakterin hareketinden "kontrol" sorumluysa, oyuncunun doğrudan müdahalesi olmadan gerçekleşen hareketlerden fizik motoru sorumludur. Bu eylemler, gerçek dünyanın fiziksel yasalarını taklit eder (bazen fanteziye doğru biraz çarpıtılır). Fırlatılan bir top yerden seker, ters çevrilmiş bir namlu eğimden aşağı yuvarlanır, güçlü bir silahtan gelen atış atıcıyı geri fırlatır, yüksekten atılan kırılgan bir nesne paramparça olur - bunların hepsi bir fizik motorunun eyleminin örnekleridir.

Hazır oyun motorlarında en çok fizik motorları uygulanmaktadır. Tek yapmanız gereken benzersiz nesnelerinize hazır fiziksel özellikler atamak: ağırlık, yoğunluk, esneklik, yok edilebilirlik. Kendi fizik motorunuzu oluşturmaya karar verirseniz, bunun için nesne yönelimli programlama (OOP) ilkelerini iyi anlayan ve klasik fizik hakkında biraz bilgi sahibi olan yetenekli bir programcıya ihtiyacınız olacak.


Yapay Zeka (AI)

AI, bilgisayar düşmanlarının veya müttefiklerinin davranışlarından sorumludur.

AI'nın rolü, oyunun türüne bağlı olarak büyük ölçüde değişir. Aksiyon oyunlarında düşmanların hareketleri son derece ilkeldir; RTS stratejilerinde, rakibe görünür bir makullük kazandırmak için birkaç düzine senaryo yeterlidir; gizli, slasher ve dövüş oyunlarında, her düşman türü için benzersiz bir davranış sistemi oluşturmanız gerekir, aksi takdirde aptal düşmanlar oyunu ilgi çekici yapmaz. Ciddi bir strateji oyunu çok fazla AI çalışması gerektirir ve basit gündelik oyunlarda ve yalnızca gerçek oyuncular arasındaki savaşlara odaklanan çevrimiçi projelerde yapay zekaya hiç ihtiyaç yoktur.

4. Seviyeler


Oyun mekaniği şeklinde oyunun kuralları hazır, artık bu kuralların işlemeye başlayacağı platformlar oluşturmamız gerekiyor. Oluşturulan oyun nesneleri ayrı sanal alanlara - seviyelere (konumlara) yerleştirilir. Oyunlar çoğu zaman, aralarında geçiş hikayenin akışı içinde gerçekleşen birçok ayrı seviye içerir. Ancak son zamanlarda, bilgisayarların artan performansı sayesinde, oyunlar yalnızca şartlı olarak farklı konumlara (GTA, Skyrim) bölünmüş büyük bir bütün dünya ile piyasaya sürüldü.

Her bir seviyede oyun nesneleri, duvarlar, platformlar, manzara, arka planlar yerleştirilir. Her türden oyunlarda seviyeler oluşturulur. Renkli çakıl taşlarını yeniden düzenlemekle ilgili basit bir gündelik oyunda bile seviyeler vardır - oyun alanları ve taşları düzenleme rolleri oynar. Tarayıcı oyunlarında, bireysel html sayfaları konum görevi görür.

Oyunu yine bir ev şeklinde hayal edersek, o zaman oyun seviyelerinin inşası katların düzenidir ve seviye sayısı binanın kat sayısıdır.

Seviye oluşturma seviye tasarımcıları.

İdeal olarak, seviye tasarımcıları hevesli oyuncular arasından seçilir. Bunun nedeni, dışarıdan, yaratıcı olsa bile, ancak oyun konusundan çok uzak olan herhangi bir kişinin bu görevle iyi başa çıkamayacak olmasıdır. Seviye tasarımcısı, oyun hakkında iyi bir fikre sahip olmalı ve seviye üzerindeki nesnelerin hareketinden oyun durumunun nasıl değişeceğini hissetmelidir.



Oldukça sık, oyuna sıradan oyuncuların kendi başlarına yeni haritalar ve seviyeler oluşturabilecekleri bir seviye editörü dahildir. Oyun geliştiricileri, oyunculara ev yapımı haritaların dağıtımını destekler ve genellikle en iyi çalışmaları resmi sunucularına koyar. Seviye editörleri sadece oyuncuları eğlendirmek ve tek bir oyunun ömrünü uzatmak için değil, aynı zamanda oyun izleyicileri arasında en yetenekli insanları bulmak için yaratılmıştır. Böylece oyun stüdyoları personel sorununu çözmektedir. Yukarıda belirtildiği gibi: en iyi seviye tasarımcısı hevesli bir oyuncudur.

Oyunun en önemli bileşeninin bağlı olduğu seviyelerin tasarımından (tasarımdan değil, düzenden) - oyun. (Bu kural yalnızca çoğu gündelik oyunlar, dövüş oyunları ve seviyelerin son derece ilkel olduğu spor oyunları için geçerli değildir). İlginç olmayan ve monoton seviye düzeni, en son teknolojiyle desteklenen harika bir tasarıma sahip birçok oyunu mahvetti. Güzel bir sarmalayıcıda kukla değil, tam teşekküllü heyecan verici bir oyun yaratmak istiyorsanız, seviye tasarımında maksimum yaratıcı çaba harcamanız gerekir.

5. Dekorasyon


Grafik oluşturma ile meşgul ressamlar, oyun tasarımcıları.

Tabii ki, basit bir 2D oyun geliştiriyorsanız, o zaman piksellerden kendiniz bir şeyler çizebilirsiniz, ancak daha ciddi ve büyük projelerde profesyonel sanatçılar ve tasarımcılar kiralamak daha iyidir.


sanat

İlk önce kahramanların, düşmanların, oyun öğelerinin, arka planların görüntülerini oluşturmanız gerekir. Başlangıçta, bir grafik tablet kullanılarak bir kağıda veya bir bilgisayarda çizilirler. Küçük oyun stüdyoları için bu aşama zorunlu değildir, ancak büyük şirketlerde basitçe gereklidir, böylece parmaklarda değil, görsel görüntülerde, tüm tasarımcılara neyle sonuçlanması gerektiğini açıklamak için.


2B, 3B modeller

Sanata dayalı olarak, tasarımcılar piksellerden 2B hareketli grafikler veya çokgenlerden 3B modeller oluşturur.



animasyonlar

Oyun sırasında hareket edecek oyun nesneleri için animasyonlar oluşturulur. Animasyon sayısı bazen yüzlerce farklı hareketi aşan kahramanlar ve düşmanlarla özellikle zor olacak.

Şu anda, insansı 3D karakterler oluşturmak için, gerçek insanların hareketlerine dayalı animasyonlar oluşturmanıza olanak tanıyan özel bir "Hareket Yakalama" teknolojisi var. Bu teknoloji sadece büyük ve çok zengin şirketler için geçerlidir. Motion Capture'ı kullanmak için yalnızca pahalı ekipman satın almanız değil, aynı zamanda hareketlerin kaydedileceği bir grup oyuncu kiralamanız da gerekir.


arka plan

Arka planlarla her şey çok daha basit - bir kez çizdim, herhangi bir değişiklik yapmadan doğru yere koydum ve unuttum.


özel efektler

Görsel efektler aslında aynı animasyonlardır, ancak hareketli nesneler yerine parçacıkların ve filtrelerin hareketini kullanırlar. Güçlendirme çekerken farklı yönlerde ışık ışınları, yanan bir binada yangın, bir el bombası patlamasından sonra bir sis perdesi, tüfeklerin namlusundan lazer ışınları, su altında bulanıklık filtrelerinin uygulanması ve yetersiz aydınlatılmış yerlerde karartma filtreleri - hepsi bunlar özel efektler. Bu tür efektler olmadan oyun yavan ve çok sıradan görünecektir. Özel efektlerin kullanımı oyuna parlaklık, zenginlik ve etkileyicilik katıyor.



Ekran ve menü tasarımı

Sadece oyun seviyelerini değil, aynı zamanda onları tek bir bütün halinde birleştiren bir sistem - oyun menüsü (çizgiler, düğmeler, ayar sayfaları) tasarlamak gerekir. İlk menü genellikle oyunun ayırt edici özelliğidir ve mükemmel görünmelidir. Oyun ekranı ayrıca tasarımı uygulayabileceğiniz birçok öğeye sahiptir - can sayısı, can çubuğu, mini harita, hızlı eylem menüsü, kahraman envanteri, görev listeleri, diyalog ekranları. İngilizce'de tüm bunlara bir kısaltma - GUI (Grafik Kullanıcı Arayüzü - grafiksel kullanıcı arayüzü) denir.

Arayüz ve menü tasarımı ressamlar, programcılar ve html sayfa tasarımcıları. (Site sitesi)

6. Konu


Bir oyuncuyu projenize çekmek çok zordur, ancak oyuncunun oyunu sonuna kadar götürmesini sağlamak daha da zordur. Herhangi bir hayal kırıklığı, sıkıcı veya zor yer, oyuncuyu anında daha fazla oyundan uzaklaştırabilir. Çoğu durumda, oyuncu pişmanlık duymadan oyunu terk edecek ve unutacaktır. Ve yalnızca iyi yazılmış yüksek kaliteli bir hikaye, oyuncunun güç toplamasını, tüm oyun boyunca ilerlemesini sağlayabilir, bu da interaktif hikayenizi sonuna kadar dinlemek anlamına gelir.

Varlığının şafağında, bilgisayar oyunları bir arsa olmadan yaptı ve oyuncuları sadece oyunlarıyla sürükledi. Ancak şu anda, en basit gündelik oyun bile, büyük AAA sınıfı oyun projelerinden bahsetmiyorum bile, bir komplo ile mahvoldu.

Oyunda sadece gösteri amaçlı bir arsanın olması olumlu bir etki yaratmasa da, geliştiriciler her geçen gün daha fazla yeni hikaye bulmaya devam ediyor, biri diğerinden daha aptalca. Bir hikaye, ancak oyuncunun duygularını bağlayabiliyorsa faydalıdır. Bu, arsanın benzersizliğini, ilginçliğini ve inandırıcılığını gerektirir; her karakterin kendine özgü bir kişiliği olmalı ve ona göre hareket etmelidir; insan beyninin algılayabileceğinden daha fazla karakter ve olay olmamalıdır, aksi takdirde arsa anlaşılmaz bir salata sosuna dönüşecektir; olaylar mantıklı bir şekilde gerçekleşmelidir (gizemlilik ve nebula arsa entrikalarını sürdürebilir, ancak aynı zamanda oyuncudan gizlenmiş bir mantık olmalıdır).


Senaryolar, olaylar

En iyi seçenek, hikayenin oyunun içinde olduğu zamandır. Bu, senaryolu sahnelerin kullanılmasıyla sağlanır.

Senaryo şudur: Oyuncu belirli bir yere girer veya gerekli eylemi gerçekleştirir veya diğer bazı gerekli koşullar sağlanır ve bundan sonra bu durum için sizin tarafınızdan programlanan eylemler gerçekleştirilmeye başlar. Örneğin, askeri bir 3D atıcıda, bir tepeye çıkıyoruz, kurulu makineli tüfeğe yaklaşıyoruz (koşul karşılanıyor), bundan 10-15 saniye sonra, aşağıda aniden bir düşman büyük saldırısı başlıyor ve makineyi kullanacak biri var. silah açık (olaylar meydana geldi).

Senaryolu etkinliklerin yardımıyla, oyuna çeşitlilik katabilir veya hatta oyunu hiç bitmeyen senaryoların cazibesine dönüştürebilirsiniz (Call of Duty oyun serisi bunun üzerine kuruludur). Bu yöntemin tek dezavantajı oyuncunun hareket özgürlüğünün azalmasıdır. Her şey senaryoların emriyle olur ve oyuncunun hareketlerine çok az bağlıdır.

Senaryolar aracılığıyla düşünmek senaristler ve bunların uygulanması programcılar.


Diyaloglar, anlatım


Eski klasik oyunlarda hikaye, oynanıştan ayrı olarak var olur. Örneğin, seviyeleri yüklerken veya bitirirken, hikaye ile tanışıyoruz, kahramanlar ve düşmanlar arasındaki ilişki hakkında konuşuyoruz, seviyede ne yapılması gerektiğini ve nedenini açıklıyoruz. Oyunun kendisi sürecinde, yukarıdakilerin hiçbiri önemli değildir ve oyuncu tüm bu metinleri güvenle atlayabilir. Çoğu zaman bu olur - metinler okunmadan kalır. Ve hepsi onları okumak için iyi bir neden olmadığı için.

Başka bir şey oyun içi metinler veya diyaloglar. Oyun sırasında, ancak güvenli yerlerde veya oyuncunun yalnızca metne odaklanabilmesi için oyun süresi durduğunda gerçekleşirler. Oyun bu süre boyunca donduğu için ancak hiç durmadığı için oyuncu anlatıları dinlemek zorundadır. Ve diyaloglarda cevap seçeneğini de seçmeniz gerekiyor. Bir seçeneğin seçilmesi, metni dinlemeye etkileşim ve en azından bazı pratik anlamlar verir - doğru cevap ek bir bonus getirebilir, daha fazla oynamayı kolaylaştırabilir veya rol yapma oyunlarında kahramanın seçilen karakterini kaydedebilir.

Oyun oluştururken anlatım ve diyalog metinlerini oyun sırasında yüklenen ayrı dosyalarda saklamak daha iyidir. Oyunun dünyanın diğer dillerinde yerelleştirilmiş bir sürümünü oluşturmaya karar verirseniz, sanatsal metni teknik kodlardan ayırmak gelecekte yardımcı olacaktır.

Metin ve diyalog yazma senaristler ve yazarlar.



video ekleri

Oyunun seviyeleri arasında veya seviyelerin belirli kontrol noktalarında kuru metin ve sesli oyunculuk yerine oyunculara video ekleri (ara sahneler) gösterebilirsiniz. Bu tür introlar, ayrı video dosyaları veya bir oyun motoru yardımıyla oluşturulabilir.

Video dosyaları, oynatıcıya herhangi bir kalitede ve karmaşıklıkta bir resim aktarmanıza izin verir, ancak bir oyun dağıtım kiti oluştururken çok fazla disk alanı kaplarlar. Oyun motorunda oluşturulan introlar, kalite açısından neredeyse önceden oluşturulmuş videolar kadar iyidir, ancak onları iyi görebilmek için oyuncunun yeterince güçlü bir bilgisayara sahip olması gerekir ki bu her zaman böyle değildir.

Video eklerinin oluşturulmasıyla meşguller ressamlar, animatörler, 3D modelleyiciler, senaristler, yönetmenler.

7. Ses

Güzel çizilmiş ve gösterişli tasarlanmış bir proje sessizce bize bakıyor ve bizim ona ses katmamızı bekliyor. Bu, oyunun bir diğer önemli parçasıdır.


Ses efektleri


Herhangi bir küçük oyun hareketi için uygun sesi eklemeniz gerekir. Bunlar kılıç vuruşları, göğüs göğüse vuruşlar, hareket eden bir arabanın sesleri, bonus alma, bir kahramanın bir düşman tarafından tespit edilmesi olabilir. Abartılı olduğunu düşünmeyin ve sadece birkaç temel sesle geçinebilirsiniz. Örneğin, çoğu 3D-Aksiyon oyununda, kahramanın ve düşmanların ayak sesleri eklenmesi ihmal edilir. Sonuç olarak, birinci şahıstan bakıldığında kahramanın uzayda hareket ettiği açıktır, ancak yürüdüğü değil, yumuşak bir şekilde ileriye doğru süzüldüğü görülmektedir. Ve seslendirme adımları olmayan düşmanlar, tamamen sessizce arkadan kahramana koşabilir ve oyuncuların sinirlerini büyük ölçüde bozabilir.

İyi ses efektleri yalnızca sessizliği doldurmakla kalmaz, aynı zamanda oyunun grafik stilinin bir uzantısıdır. Neşeli arcade, daha az neşeli melodik seslerle dolu, spor araba simülatörü, motorların kükreyen gümbürtüsü ve frenlerin şıngırtısıyla dolu, 3D aksiyon filmi makineli tüfek patlamaları, düşen mermiler ve tüfek takırtılarıyla sersemletiyor.

Çoğu zaman, dijital biçimde kaydedilen gerçek sesler, ses efektleri olarak kullanılır. İnternette birçok ücretsiz ses efekti koleksiyonu var, sadece onları bulmanız ve en uygun olanları seçmeniz gerekiyor.


Müzik


Seslere ek olarak, tam teşekküllü bir oyun için müzik (film müziği) de gereklidir. Ekranda olup bitenler için ses arka planı olacaktır. Müzik de oyunun stil unsurlarından biridir ve oyuncunun ruh hali üzerinde en güçlü etkiye sahiptir. Uygun tempo ve ruh haline göre uzun süre hazır müzik seçilmelidir. Oyununuzda kullanabileceğiniz birçok ücretsiz ve ücretli oyun arka planı koleksiyonu vardır (makale " Oyun oluşturmak için müzik"). Veya bestecilere oyun için özel olarak yeni müzikler yazmalarını emredebilirsiniz.


seslendirme

Oyunun üçüncü ses kısmı ise oyun diyaloglarının ve monologların seslendirmesidir. Bu bileşen çok pahalıdır, ancak oyundaki varlığı gerekli değildir. Bazı oyunlarda diyalog ve metin yok denecek kadar az ve olduğu yerde metin alt yazı şeklinde sessiz bırakılabiliyor. Küçük oyunlarda seslendirme yapılmaz ve büyük projelerde dünya çapında profesyonel oyuncuları seslendirmeye davet ederler.


Oyunda müzik ve tam teşekküllü ses oyunculuk varlığı, sabit diskte işgal edilen bitmiş oyunun sesini önemli ölçüde artırır, ancak mümkünse oyuna seslendirme eklemek daha iyidir. Çoğu oyuncu normal seslendirilmemiş metni görmezden geldiğinden ve hiç okumadığından, bu, oyuncunun hikayeye ve anlattığınız hikayeye katılımını artıracaktır.

8. Zımparalama


Büyük bir oyun geliştirme süreci, farklı uzmanların çeşitli unsurlarıyla meşgul olacağı şekilde inşa edilmiştir. İlk aşamada oyun, çeşitli sanat alanlarındaki farklı yaratıcı gelişmeler kümesidir: görüntüler, sesler, 3B modeller, mimari, metinler, sahneler, video ekleri, tasarım. Ve nihayet, dağınık taşların toplanması gereken bir an gelir. Yazılım yardımıyla, farklı nesneler tek bir karmaşık sistemde birleştirilir.


Karıştırma malzemesi (a-versiyonu)

Bir oyun motorunda bir oyun kurarken, nesnelerin birleştirilmesi sürecin en başından itibaren kademeli olarak gerçekleşir. Oyun tamamlanana kadar alfa sürümü olarak adlandırılır. Bu noktada, bireysel seviyeleri, komut dosyalarını ve diğer mekanizmaları test etmek zaten mümkündür.

Bu aşamada, oyuncuları önceden projenize çekmek için bir demo sürümü veya en azından oynanış içeren bir video yayınlamak teknik olarak zaten mümkün.


Sorun giderme (b-versiyonu)

Oyun tamamen monte edildiğinde, sadece ortaya çıkan hataları (hataları) ortadan kaldırmak için kalır. Oyun karmaşık bir yapıya sahip bir sistem olduğu için her durumda ortaya çıkarlar. Oyunun unsurları açık ve basittir, ancak aralarındaki bağlantılar o kadar karmaşık ve süslüdür ki, hata ayıklama ve hataları düzeltme süreci tüm proje geliştirme süresinin %40'ını alabilir. Tamamen monte edilmiş ancak henüz hatası kontrol edilmemiş bir oyuna beta sürümü denir.

Oyunda bug arıyorum testçiler. Çoğu zaman, sıradan oyuncu grupları testçi olarak yer alır ve bu, oyun endüstrisindeki kariyerlerinin başlangıcıdır. Bu sorunu çözmenin en kolay yolu çevrimiçi oyunlardır - geliştiriciler, ilgilenen tüm oyuncuların katıldığı açık beta testleri düzenler.

9. Satış


Geliştirme stüdyosu, oyunun yaratılmasından ve tüm yaratıcı konulardan sorumludur ve diğer tüm konular (krediler, finans, sözleşmeler, hakların korunması, promosyonlar, yerelleştirme, satışlar) genellikle başka bir kuruluşun omuzlarına kaydırılır - oyun yayıncısı .

Geliştiriciler ve yayıncılar arasındaki ilişkiler çok farklı olabilir: eşit şartlarda işbirliği anlaşması; tüm haklar, finansal riskler ve olası kârlar yayıncıya aittir ve geliştiriciler kârın yalnızca küçük bir yüzdesini alır; tüm hakları geliştiricilere aittir, yayınevi geliştiriciler tarafından geçici olarak kiralanan ayrı bir şirkettir; geliştiriciler ve yayıncılar, büyük bir şirketin farklı bölümleridir.


Bir oyunun son kullanıcıya satılabilmesi için önce yayıncıların oyunun varlığından haberdar olmaları gerekir. Tabii ki insanlar bir oyun hakkında hiçbir şey bilmeden, sadece mağazada rastgele seçerek satın alabilirler ancak oyununuzun bu şekilde seçilme şansı son derece düşüktür. Oyunla ilgili bilgileri mümkün olan tüm kanallardan yaymak çok daha karlı. Bunu yapmak için, bir bilgisayar disk mağazasında reklam veya İnternet kaynaklarında reklam kullanırlar.

Oyun endüstrisi sıradan mallar pazarı gibi değildir, kendine has özellikleri vardır. Aktif oyun izleyicileri arasında bilgi yıldırım hızıyla yayılır ve çevredeki herkesi kapsar. Bu özelliği ile bir oyun için en etkili reklam, yüksek kalitesidir. Oyununuz ilginç ve heyecan vericiyse, oyun dergileri ve çevrimiçi bilgi portalları bunun hakkında tamamen ücretsiz yazacak, oyuncular oyunu tartışmaya ve bilgileri daha fazla yaymaya başlayacak ve ilk oyunu tamamladıktan sonra dört gözle bekleyecekler. Bu projenin eklemeleri ve devamları. Böylece reklama tek kuruş harcamadan, oyuncuların saygısını kazanarak hem mevcut oyunun hem de sonraki tüm eklemelerin başarısını sağlamış olacaksınız.


yerelleştirme

Oyunu ana dilinizde Rusça olarak yayınladınız mı? Potansiyel oyuncuların seyircisinin sadece birkaç ülkeden oluşacağına ve kârın yetersiz olacağına hazır olun. Bir oyunu İngilizce yayınlamak çok daha karlı - metni dünyadaki çoğu oyuncu tarafından anlaşılacak, bu oyuncular çok daha çözücü olacak, bu da kârın çok daha büyük olacağı anlamına geliyor.

İdeal olarak, oyunu dünyanın en popüler dillerinden birkaçında (İngilizce, Almanca, Fransızca, İspanyolca, Çince, Japonca) yayınlamanız gerekir, ancak bunun için tam bir kadroya sahip olmanız gerekir. çevirmenler ve yerelleştiriciler. Ayrıca çevirmenlerin anadili İngilizce olması da tercih sebebidir. Orijinal metnin maksimum anlamını ana dillerine aktarabileceklerdir. Ancak sıradan yalnız geliştiricilerin böyle bir lüksü yoktur ve büyük şirketlerin çoğunun bu işe para harcamak için acelesi yoktur.

Sanatsal metni oyunun teknik kısmından ayırmak, yerelleştirme sürecini büyük ölçüde basitleştirecektir. Bunu yapmak için metinleri, alt yazıları ve sesli seslendirme dosyalarını ayrı, kolay erişilebilir standart türlerdeki dosyalara yerleştirmeniz gerekir. Ve oyunun program kodunda, metnin oyuna bu dosyalardan yüklenmesi için yalnızca bağlantılar bırakmanız gerekir. En popüler oyunlar, hevesli oyuncular tarafından geliştiricilerin katılımı olmadan kendi başlarına çevrilir. Kurgu metninin oyun geliştirme aşamasında bölünmesi, bu tür meraklıların iyiliklerini yapmalarına büyük ölçüde yardımcı olacaktır.


Satış sistemi


Oyun hazır, oyuncular çıkışını bekliyor, sadece oyunu son kullanıcılara nasıl teslim edeceğine ve onlardan nasıl para alacağına karar vermek kalıyor.

Klasik yol (çok sayıda bilgisayar diski üretmek ve bunları perakende mağazalar aracılığıyla satmak) hala geçerlidir, ancak yalnızca büyük şirketler ve en azından başlangıçta popülerliği olan oyunlar için uygundur.

Küçük geliştirici grupları için oyunun dijital dağıtım sistemleri (büyük çevrimiçi mağazalar) aracılığıyla dağıtılması idealdir. Bu seçenek, hizmet çevresinde oluşturulmuş hazır bir alıcı kitlesi ile yeni basılmış az bilinen bir oyun sağlar. En ünlü örnek Steam hizmetidir. Steam'i kullanan devasa oyuncu kitlesi sayesinde, bu çevrimiçi mağazada yayınlanan hemen hemen her oyun hemen dünyaca ünlü hale geliyor.

Veya tek bir ürünle - oluşturulan oyunla - kolayca kendi çevrimiçi mağazanızı oluşturabilirsiniz. Ancak bu durumda sadece oyunun değil, mağazanın internet adresinin de reklamını yapmanız ve seyirciyi kendi başınıza kazanmanız gerekecek.

10. Destek

Bir oyun yaratmak ve onu satmak, bir oyun projesinin yaşam döngüsünün sonu değildir. Oyun son kullanıcıların eline geçtiğinde, oyuncuların yine de yardımınıza ihtiyacı olabilir. Hatta büyük şirketlerin tamamı teknik destek departmanları bu tür sorunlarla uğraşmak.


Yamaların yayınlanması

Önceki beta testi, oyundaki en bariz hataları ortadan kaldırdı, ancak bu, oyunda hiç kalmadıkları anlamına gelmiyor. Çoğu zaman, oyunun yoğun kullanımı, küçük beta testçilerinin bulamadığı daha küçük ve daha ince hataları ortaya çıkarır. Bunlar, daha az popüler donanım markalarıyla uyumsuzluktan kaynaklanan sorunlar veya oyun özelliklerinin doğal olmayan kullanımından kaynaklanan hatalar olabilir. Bazı oyuncuların hayal gücü, geliştiricilerin hayal gücünü aşıyor, oyun içinde geliştiricilerin aklına bile gelmeyecek aksiyonlar alabiliyorlar.

Bütün bunlar, zaten bitmiş bir oyunda sık sık hata düzeltmeleri yapmanız gerektiği gerçeğine katkıda bulunur. Bu düzeltmelere yamalar denir ve bu terim oyun endüstrisinde çok yaygındır. Çok az insan mükemmel oyunları hemen piyasaya sürmeyi başarır, çoğu zaman oyunlar resmi olarak piyasaya sürüldükten sonra ideal hale getirilir.

Oyun için satılan her kopya için oyunculardan para aldıysanız, yamaların yayınlanması için kesinlikle hiçbir şey almazsınız. Pazar açısından bakıldığında, yama yayınlamak, yapılması gerekmeyen savurgan ve yararsız bir eylemdir. Ancak oyun endüstrisinin gerçeklerinde, ürününüzü sonuna kadar desteklemezseniz, oyuncular nezdinde kötü bir üne sahip olursunuz ve gelecekteki olası karları kaybedersiniz. Ücretsiz olmasına rağmen yamaları yayınlamak çok faydalı ve gerekli bir şeydir.


Eklenti sürümü

Ciddi kusurları ve hataları olmayan ilginç ve heyecan verici bir oyun, daha fazla yaratıcı aktivite için size yeşil ışık yakıyor. Oyuncular oyun ürününüzü bir patlama ile kabul ettiler mi? Bu, zaten bitmiş bir oyun için bir eklenti veya tam teşekküllü bir ikinci bölüm hazırlayabileceğiniz ve başlatılan arsa daha da geliştirilerek onu tam bir destana, hatta tam teşekküllü bir oyun evrenine dönüştürebileceğiniz anlamına gelir.

Bir oyun geliştirme planı alıyoruz ve aynı on aşamaya göre yeni bir sanat eseri yaratmaya başlıyoruz, ancak şimdi birikmiş deneyim ve kazanılmış becerilerle tamamen donanmış durumdayız.


Başarı "Onursal okuyucu sitesi"
Makaleyi beğendiniz mi? Bir teşekkür olarak, herhangi bir sosyal ağ üzerinden bir beğeni atabilirsiniz. Sizin için bir tıklama, bizim için oyun sitelerinin reytinginde bir adım daha yükseldi.
Başarı "Onursal Sponsor Sitesi"
Özellikle cömert olanlar için sitenin hesabına para aktarma imkanı vardır. Bu durumda, bir makale veya pasaj için yeni bir konu seçimini etkileyebilirsiniz.

Modern büyük oyunlar, deneyimli programcılardan oluşan bir ekibin uzun yıllara dayanan çalışmalarıyla oluşturulur. Kendi oyununuzu yaratmak için programlamayı anlamanız ve biraz deneyim sahibi olmanız gerekir. Ancak profesyonel beceriler olmadan basit bir bilgisayar oyunu yaratmak mümkündür.

Oyununuzu geliştirmenin mümkün olacağı bazı özel programlar var. Bunlardan biri 3D Game Maker. Basit ve kullanıcı dostu bir arayüze sahiptir. Sadece on dakikada basit bir oyun oluşturabilirsiniz. Program, uygulanmakta olan oyunun türünü ve gerekli seviye sayısını (yirmi'ye kadar) seçmenizi isteyecektir. Ana karakter, hazır avatarlar arasından seçilebilir. Bu aşamada oyunu başlatabilecek ve oynamayı deneyebileceksiniz. Ardından ilginç bir arsa, düşmanlar, model özellikleri vb. ekleyin. Program yeni başlayan oyun geliştiricileri için idealdir. Maliyeti 35 dolar.


Hem yeni başlayan hem de deneyimli programcıların kullanabileceği başka bir oyun geliştirme programı daha var. 3D Game Studio olarak adlandırılır ve her türden ve karmaşıklık düzeyindeki oyunları uygulamak için çok çeşitli araçlara sahiptir. Program bir şablon paketine, iç mekanlar ve efektler oluşturmak için niteliklere sahiptir - ayna ve şeffaf düzlemler, gölgeler vb. Acemi geliştiricilere, aralarından seçim yapabilecekleri oyun menüsünün hazır öğeleri sağlanır. Yeni başlayanlar için motor 70 dolar, ileri düzey programcılar ise 900 dolar ödemek zorunda kalacak. 3D oyunlardan hoşlanmıyorsanız Game Maker'a göz atın. 2D formatında yüksek kaliteli bir oyun oluşturmanıza izin verecektir. Nesneleri seçmeniz ve aralarında bir etkileşim bulmanız istenecektir. Kullanıcı, herhangi bir grafik düzenleyicide resim çizme ve bunları sisteme aktarma yeteneğine sahiptir. Program birçok ilginç efekt ve ses içeriyor. Menü basit ve kullanışlıdır, bu nedenle program yeni başlayanlar için idealdir. Stencyl Works programı, daha deneyimli programcılar için tasarlanmıştır. Acemi bir kullanıcı da üzerinde çalışabilir, ancak bazı zorluklarla yüzleşmesi gerekecek. Daha deneyimli kullanıcılar kendi bloklarını oluşturabilir. Action Script 3 programlama dilini biliyorsanız oyun için kendi scriptinizi yazabilirsiniz. Oyunlarınızı yayınlayabilir ve çeşitli portallarda onlarla paylaşabilirsiniz. Dilerseniz ürününüzü satın alabilecek sponsorlar bulabilirsiniz. Profesyonel ve yüksek kaliteli bir oyun yaratmak istiyorsanız, ana oyun türlerini inceleyin ve bir yazarlık programı oluşturmak için türünüzü seçin. İyi bir senaryo yazın. Bu çoğu zaman alacaktır. Senaryoyu ve her arsayı ayrıntılı olarak düşünün. Görsel görüntüyü, grafikleri tanımlayın, oyun menüsünü oluşturun. Bundan sonra, onu oluşturmak için doğru motoru seçmek için yazılı programın karmaşıklığını değerlendirin. Nispeten basitse, Creator programını kullanın. Programlama konusunda oldukça iyiyseniz, Neo Axis Engine'e dayalı bir oyun yapın. Bu program çok sayıda iyi inceleme aldı ve herhangi bir karmaşıklık düzeyinde oyunlar oluşturmak için uygundur. Programı indirin ve oyunu oluşturmaya başlayın. Tamamen yeniyseniz, pratik yapın ve bazı kolay oyunlar oluşturun. Fırsatınız varsa, programcı arkadaşlarınızdan oyunun kodunu yazmanıza yardım etmelerini isteyin. Senaryo iyi tasarlanmışsa, bir program yapmak zor olmayacaktır.

İnternette oyun oluşturmak için birçok farklı program bulabilirsiniz. Çoğu ücretsiz olarak indirilebilir. Ciddi oyunlar yaratmadan önce ücretsiz programlar üzerinde pratik yapın ve geliştirmenin özünü anlayın. Bundan sonra uygun bir motor satın almak ve yaratma üzerinde çalışmaya başlamak mantıklı.

Piyasaya sürüldükten hemen sonra sert eleştiri - birçok modern video oyununun kaderi budur. Küçük ama heyecan verici çevrimiçi uygulamalar veya bir milyon dolardan fazla bütçeye sahip küresel projeler olsun, hepsi bir kategoriden veya başka bir kullanıcıdan memnuniyetsizliğe neden olur. Bugünkü eleştirilerin çoğu bu kadar, ne yazık ki objektif değil. Bilgisayar oyunları yaratmanın temellerinden çok uzakta, insanlar teorik olarak bile onu geliştiricilerden farklı bir şekilde sunmanın imkansız olduğunu azarlıyorlar. Bugün bu adaletsizliği düzeltmeye çalışacağız. Öyleyse başlayalım.

Bir konsept oluşturalım

Herhangi bir oyun yaratmanın ilk adımı, konseptini tanımlamaktır. Proje ne hakkında olacak? Hangi türe ve temaya ait olacak? Hangi kitle hedeflenmelidir? Bu soruları yanıtlayarak, yaratımınızın gelişiminin yönünü belirleyebilir, hangi hedefleri istediğinizi ve (gerekli özen göstererek) gerçekleştirebileceğinizi anlayabilirsiniz. Bu nedenle, dövüşlere veya yarışmalara odaklanmak, oyuncular arasında öğrenmeye veya mantığa - ciddi rakiplerin yokluğuna - artan ilgiyi garanti eder. Fantezi veya kıyamet sonrası bir dünya lehine seçim, oyuncuların (çünkü bu evrenler onlara aşina olduğundan), çizgi roman veya anime - kaçmayacak daha dar (ama aynı zamanda daha sadık) bir izleyici kitlesinin rahatlığına ve hızlı adaptasyonuna katkıda bulunacaktır. benzer bir proje yayınlandığında.

Olasılıklara karar verin

Bir oyun şaheseri yaratmanın bir sonraki adımı, kendi yeteneklerinizi gerçekleştirmektir. Kural olarak, bu aşamada geliştiriciler proje için izin verilen maksimum bütçeyi belirler, geliştirmenin gerçekleştirileceği motoru seçer veya en uygun programlama dilini seçer ve ayrıca mevcut kaynakları (hem teknik hem de insan) değerlendirir. . Tüm bu nüanslara önceden karar vermek gerekir. Aksi takdirde, örneğin, tüm bir arayış zincirinden orijinal bir eyeliner ile muhteşem bir süper vuruş geliştirdikten sonra, bu parlak fikri bu proje çerçevesinde uygulamanın hiçbir yolu olmadığı ortaya çıkan bir durumla karşılaşabilirsiniz. .

Çeşitli motorlar ve platformlar - düşünülecek bir şey var

Mekaniği hesaplayalım

Oyun içi mekanik, herhangi bir projenin en önemli bileşenlerinden biridir. Grafik bileşeni, oyuncuların dikkatini çekmek, yeni bir projeye ilgi duymak için tasarlanırken, oyunun görevi kalplerinde sonsuza kadar bir iz bırakmaktır. Bunun çarpıcı bir örneği, piyasaya sürüldüğü ilk günlerden itibaren Steam'de en çok satanlar arasında bir numara olan bir piksel sanatı çiftçiliği simülatörü olan Stardew Valley'dir. Önemsemelere bile dikkat edilmesi gerektiğini anlamak gerekir. Örneğin, oyunda bir sınıf ayrımı varsa, bir veya daha fazla grup lehine açık bir önyargı kabul edilemez ve proje oyuncuya ne kadar fazla fırsat sağlarsa (görevler, pompalama, bulmacalar, vb.), o kadar uzun olmayacaktır. oyun dünyasından ayrılmak istiyorum Dahası, sadece karakterin kendisi değil, aynı zamanda onu çevreleyen tüm nesneler, örneğin: NPC'ler ve düşmanlar (), manzara ve nesneler (fizik motoru), seviyeler ve diğer her şey üzerinde çalışılmalıdır.

Bir arsa ile gel

Daha önce çevrimiçi ve çevrimdışı projelerin gelişimi yaklaşık olarak benzerse, şimdi bu aşamada ilk önemli fark ortaya çıkıyor. Oyunun planını düşünerek, zaman çerçevesinin açıkça farkında olmalısınız. Tek oyuncu odaklı projelerin tamamlanması nadiren 1-2 aydan fazla sürse de, çevrimiçi çok oyunculu oyunların sonu yoktur. Bu nedenle, buradaki arsa mantıklı bir sonuca sahip olmamalı, ancak yeni görevler, öğeler, beceriler eklenerek haftalık / aylık ertelenebilecek açık bir sonla sunulmalıdır. Tek oyunculu oyunlarda, son, arsa üzerinde çalışmanın ilk günlerinden itibaren çalışıldı. Aynı zamanda, alternatif olabilse de (Silent Hill 2'de olduğu gibi) açık sorular (tabii ki, oyunun bir devamını çıkarmayı planlamıyorsanız) ve bazı eksiklikler bırakmamalıdır.

Bir tasarım oluşturalım

Proje çerçevesinin tüm nüanslarını düşündükten sonra, grafik bileşenine (arayüz, ses, arka planlar, sanat, özel efektler, animasyonlar vb.) geçebilirsiniz. Oyunun yönüne özellikle dikkat edilmelidir. Güncellemelerin oldukça sık (örneğin, haftada bir) yayınlanacağı varsayılırsa, onlarca (hatta yüzlerce) hareketi numaralandıran ayrıntılı detaylandırma ve animasyon ile sanat yaratmanın bir anlamı yoktur. Karakterler ne kadar basit tasarlanırsa, onları tanıtırken o kadar az söve alırsınız ve normal sürümler için o kadar az çaba harcarsınız. Nadiren güncellenen veya çevrimdışı projeler söz konusu olduğunda, kural olarak, bunun tersi geçerlidir. Sanal dünya ve oyuncunun muhteşem hareketleri / becerileri ne kadar gelişmişse, oyunun geniş bir kitlenin dikkatini çekme şansı o kadar artar.

Anladık iş yeni başladı

Ön sürümünden sonra oyun üzerindeki çalışmaların tamamlandığını düşünmeyin. Aksine, bu andan itibaren geliştirici ek sorumluluklar kazanır. Ürününü test etmeli, içindeki hataları tespit etmeli ve ortadan kaldırmalı, yaratımını yeterince tanıtmalı ve oyuncuların kafasında belirli bir imaj yaratmalı, olası eklentiler, DLC'ler ve yerelleştirmeler geliştirmeye başlamalı, satış ve oyuncu desteği sistemini düşünmelidir.

Gördüğünüz gibi, bir oyun yaratma işi çok çaba gerektiriyor. Bu nedenle, bir sonraki sürümü azarlamadan önce, gerçekten o kadar kötü olup olmadığını veya kendinize gerçekleştirilemez özelliklerle donattığınızı düşünün.

Her insan hayatında bir şeyler yapmayı hayal eder - bunun için sevdiği şeyi yapmasına ve kendisi için önemli olan alana katkıda bulunmasına izin verecek mesleği seçer.

Ancak, herkes bunu alıp oyun geliştiricisi olamaz çünkü bu meslek çok şey gerektirir ve karşılığında hemen vermeye başlamayabilir. Ama bir oh oyuncu bir gün kendi oyunlarını yaratmayı nasıl hayal etmedi? Şimdi bu fırsat çok daha yakın hale geldi.

Ana engel

Aslında, oyunların oluşturulması belirli beceriler gerektirir, ancak kendi uzmanlık alanınızdaki eğitim kurumlarında ve özel hazırlık kurslarına gitmeden başarıyla elde edilebilirler. İnternetin artık çok çeşitli bilgilerin büyük bir kaynağı olduğu gerçeği göz önüne alındığında, oradan oyun oluşturma rehberi elde edilebilir. Ancak ortalama bir oyuncu, kendi oyununu yapma fikrini bulduğunda, yollar aramaya başlar ve ilk ve ana engelle karşılaşırlar. Arama sorguları için, aralarında çok hızlı bir şekilde kaybolabileceğiniz, kafanızı karıştırabileceğiniz ve kaybolabileceğiniz ipuçları ve ayrıntılı kılavuzlarla birlikte düzinelerce ve yüzlerce sonuç verilir. Kullanıcı bir şeyi okumaya başlar, diğerine atlar, bir araya getirecek hiçbir şey bulamaz ve kendi yarattıklarını yaratmaya çalışmak yerine, profesyoneller tarafından geliştirilmiş oyunları oynamaya devam etmeye karar verir. Bundan, insanın kendi yarattıklarını yaratma yolunda ana düşmanı olduğu sonucuna varılır. Ve işte motivasyon sorusu - kendi oyununuzu yaratmak istiyorsanız, o zaman malzeme bolluğu sizi durdurmamalıdır.

Bunları sistematik hale getirmeye çalışın, küçük miktarlarda işleyin, bitmiş bir projeyi mümkün olan en kısa sürede hazırlamak için acele etmeyin - teoriyi daha iyi anlayın, pratikte uygulayın ve ardından işe başlayın.

Oyun kurmanın mevcudiyeti

Bugün, oyun geliştirmenin, on ya da yirmi yıl önce olduğu gibi, inanılmaz yeteneklere sahip seçkin bir azınlığın avantajı olması söz konusu değil. O zaman oyunun yaratılması tam teşekküllü bir mucizeydi, şimdi ise banal bir üretim süreci. Ve şimdi kumbarasında uygun arzu ve belirli fikirleri olan herhangi bir kişi, özel bir eğitim almadan bu sürece katılabilir. Sadece kendi oyununuzu yaratmak için ne vereceğinize karar vermeniz gerekiyor, çünkü bu süreç zaman alıyor ve azim ve dayanıklılık gerektiriyor. Bu nedenle, önce böyle bir projeyi üstlenmeye hazır olup olmadığınıza karar verin, ardından gerçekleştirmeyi düşündüğünüz tüm fikirlerinizi belirtin ve ancak o zaman doğrudan oyun geliştirme sürecine geçebilirsiniz.

Oyun oluşturma sürecinin ana bileşenleri

Kendi oyununuzu yaratmak için, ne yapabilmeniz gerektiğine dair net bir anlayışa ihtiyacınız var.

Oyun oluşturma süreci iki büyük bölüme ayrılabilir - teknik ve yaratıcı. Oldukça farklıdırlar, ancak planlarınız benzersiz özelliklere sahip saatlerce başyapıt yaratmayı içermiyorsa, o zaman kendi başınıza kolayca yönetebilirsiniz. Bu nedenle, bir bilgisayar oyunu geliştirme sürecinin teknik kısmı, kod yazma, yapay zeka üzerinde çalışma, grafik oluşturma, üç boyutlu modeller tasarlama vb. Sürecin bu yarısı matematiksel bir zihniyete sahip olanlar için uygundur - programlama, matematik ve diğer kesin bilimler bilgisi kullanışlı olacaktır. Sürecin ikinci yarısına gelince, bir bilgisayarda kendi oyununuzu yaratmak ve oyunun yüksek kaliteli ve benzersiz olmasını istiyorsanız, bu daha az gerekli değildir. Yaratıcı süreç, oyunun tüm içeriğini, yani oyun dünyasını, karakterleri, nesneleri, yerleri, savaş sistemlerini, geliştirmeyi, finansı içerir ve bu aynı zamanda karakterlerin seslendirmesini ve bir film müziği oluşturulmasını da içerir.

Oyun oluşturmanın en kolay yolu

Oyun geliştirmeye yönelik çeşitli yaklaşımlar vardır, ancak en basitinin her şeyden önce düşünülmesi gereken üç ana yaklaşımı vurgulamak en iyisidir. Kendi oyununuzu nasıl oluşturacağınızı düşünüyorsanız ancak kesinlikle programlama bilginiz yoksa kullanmaya değer. Bu yönteme başvurmak için özel bir oyun tasarımcısı indirmeniz gerekecek - zaten oyun oluşturmanın temel işlevlerini içeren bir program. En ünlü inşaatçılardan biri, öğrenmesi oldukça kolay olan ve iyi bir özellik setine sahip olan Game Maker'dır. Yukarıda bahsedildiği gibi, bu oyun yaratma yönteminin ana avantajı basitliğidir - sadece program tarafından sağlanan fırsatlarla fikirlerinizi hayata geçirmeniz yeterlidir. Ancak buradaki ana dezavantaj, tam da bu olanaklarda veya daha doğrusu sınırlamalarında yatmaktadır. Aslında, tasarımcı programı yardımıyla, genel listeden onun için işlevleri seçerek bir şablon oyun oluşturabilirsiniz. Oyuna biraz kişilik getirmek, lezzet katmak, kendi özelliğinizi eklemek istiyorsanız, o zaman bunu yapamazsınız.

Hazır bir motorda oyun geliştirme

Temel programlama dilleri bilgisine sahipseniz, grafik editörlere sahipseniz ve oyun scriptlerinin ne olduğunu anlıyorsanız çok daha etkileyici özellikler uygulayabilirsiniz. Hazır bir oyun motorunuz varsa, bir şablon oyun değil, kendi kişiliğinize sahip tam teşekküllü bir oyun yaratabileceksiniz - sadece temeli başka birinin, bir başkası tarafından yaratılmış olacak.

Ancak üssün etrafında kör ettiğiniz her şey - zaten sadece size bağlı. Doğal olarak, bu oyun oluşturma yolu, bir tasarımcı programı kullanmaktan çok daha karmaşıktır, ancak sonuç çok daha etkileyicidir. Böyle bir oyun yaratmak için, sorumlulukları paylaşmak için diğer insanları dahil etmeniz gerekebilir.

Eşsiz bir oyun yaratmak

Ancak en zor ama en etkileyici sonucu veren üçüncü bir yol daha var. Sadece ikincisinden farklıdır, çünkü emrinizde hazır bir motorunuz yoktur, yani oyunun temeli, temeli - bu motoru kendiniz yaratırsınız. Bu, oyununuzdaki her şeyin en küçük ayrıntısına kadar tam olarak programladığınız gibi gerçekleşeceği ve görüneceği anlamına gelir.

Oyunu kelimenin tam anlamıyla sıfırdan yazmanız gerekecek, bu durumda kesinlikle bir uzman ekibine ihtiyacınız olacak, böylece herkes kendi alanından sorumlu olacak: grafik, fizik, programlama, hikaye vb.

Sektörün yeni dalı - mobil oyunlar

Daha basit ve daha az küresel bir şey denemek istiyorsanız, o zaman sizin için ideal seçenek, mobil oyunlar son zamanlarda bilgisayar oyunlarından daha az popüler hale gelmediğinden, Android'de kendi oyununuzu oluşturmaya çalışmak olacaktır, ancak çok daha az zaman gerektirir. Kaynaklar. Java dilini bilmeniz ve uygulama prensiplerini anlamanız yeterlidir.

Flaş oyunlar

Basit oyunlar yaratmanın bir başka yolu da flashtır. Bu tür oyunlara uzun zamandır "flash sürücüler" deniyor, internette birçoğu var ve ayırt edici özellikleri basitlik ve gösterişsizlik. Kızlar veya erkekler için kendi oyununuzu yaratabilir, bu tür oyunlar için çok sayıda olan diğer türlerde kendinizi deneyebilirsiniz. Ana şey arzudur. Oyunlar "karakterini yarat ve bilinmeyene git" yapmamalısın - oyuncunun sonuçtan memnun kalması için tüm oyunu düzgün bir şekilde çalışmak daha iyidir.

Arkadaşlarınızla paylaşın veya kendiniz için kaydedin:

Yükleniyor...