Bir oyunun gelişimini nasıl başlatırsınız? [kapalı]


28

Yeni bir oyun projesine başladığınızda, ilk önce ne yaparsınız? Nasıl başlar Projeyi tamamlama yolunda başlamak için size en iyi başlangıcı veren nedir?

Mods etiketleri ile yardım lütfen ... Bu nasıl sınıflandırmak için hiçbir fikrim yok ... :)

Yanıtlar:


27

Prototip. Oyun konseptinizi bir çeşit hızlı yineleme aracı kullanarak uygulamaya çalışın. "Oyun fikrinizi" çalıştırmak için python veya sadece kullanımı kolay bir açık kaynak api ile deneyin. Mümkün olduğunca basitleştirmeye çalışın, karakterler yerine topları kullanın, bir çeşit görsel sunumun vizyonunu azaltın. Bu şekilde her zaman ona bakabilir, tartışabilir, tartışabilir ve geri bildirimde bulunabilirsiniz. Her prototip için belirlenmiş bir zaman çizelgesi koyun (belki 2 gün? Belki bir hafta en üste?). Bu şekilde sadece prototipte yapmak istediğiniz kadarını yapabilirsiniz.

Bazen, yeterince basitse fikrinizi bir parça kağıda yazabilirsiniz. Fikrinizi belirledikten sonra, ne tür sistemlere ve mekaniğe ihtiyacınız olduğunu görmeye başlayın. İşlerin zaman çizelgelerini yapılandırmaya çalışın ve onlara taahhütte bulunup bulunmadığını kontrol edin. Birlikte oyun oynamak isteyen bir grup insansanız, bunu birlikte yapmanız gerekir. Bir biranın üzerinde, şahsen veya sesli sohbet programı kullanarak yapın. Ne yapacağınızı bir kez bilirseniz, herkes ne yaptıklarıyla başlayabilir. İletişiminizin olduğundan emin olun. Ne kadar zaman ayırmak istediğinize bağlı olarak sık aralıklarla takım toplantısı yapmaya çalışın.

Kendi oyununuzu yapıyorsanız, zamanın sınırlı olduğunu ve her şeyi güzel yapamayacağınızı unutmayın. Belki de küreler ve küpler, eğer bir programcıysanız, grafiklerinizi ilerletmek için yeterli olacaktır. Sınırlarını fark et ve onlara karşı olmak yerine onlarla çalış.

Umarım bu birkaç ipucu yardımcı olur :)


7
Prototipler sırasında sadece eğlenceli şeyler olana kadar eğlenceli görünmeyen her şeyi çıkarmaya çalışın.
Ton

1
en hızlı prototip motoru hala kalem ve kağıttır :)
oberhamsi

28

Bir öğretmen olarak, başarısız olan birçok öğrenci hobisi projesi görüyorum. Muhtemelen, başarısızlığın en yüksek tek nedeni abartıdır: Proje, büyük olasılıkla tamamlanamayacak kadar büyük olan bu büyük vizyonla başlıyor, kendi tasarımı ve herkesin ağırlığına düşene kadar gittikçe daha fazla insan ortaya çıkıyor yaprakları sinirli ve moral bozukluğu yaşar.

Bunun için en iyi çözüm, kapsamınızı acımasızca sınırlamaktır. "Uzun bir projeyi bitirmek için enerjimi nasıl yeterince yükseltirim?" Demek yerine. bunun yerine "sıkılmadan önce bitirebileceğim kadar kısa bir projeyi nasıl tasarlarım?"

"Oyun sıkışıklığı" olayları (hafta sonu bir şeyler yap, bazı şeyleri başlat) başlamak için harika bir yoldur ve hızlı prototipler yaparken iyi alışkanlıklar oluşturmak için harikadırlar. WORST'te, bir haftasonunu kötü bir oyun yaparak geçirirsiniz ... muhtemelen süreçte bir şeyler öğrendiniz ... VE aylarca ilk başta düşündüğünüz kadar iyi olmamakla sonuçlanan bir fikir üzerinde çalıştınız. En iyi ihtimalle, gerçekten özel bir şeye sahip olduğunuzu görüyorsunuz ve tam özellikli bir projeye sahip olana kadar her seferinde küçük özellikler eklemeye başlayabilirsiniz.

Kendi küçük hobi projelerimde, yardımcı bulduğum diğer şey, her bir görevin yapılabilmesi ve test edilebilmesi için yapılması, sipariş edilmesi ve azaltılması gereken bilinen tüm geliştirme görevlerinin tam bir listesi ile başlamaktır. 30 ila 60 dakika, başında. Küçük bir görev yapmak, oyunda çalıştığını görmek ve listeden geçmek çok enerji vericidir ... ki bu, sonuncusundan beri listedeki bir sonraki şeyi yapmamı çok daha muhtemel kılar. çok kolay, ve sonra sıradaki ... patates cipsi yemek gibi.

Başka bir ipucu: Ne zaman yeni bir özelliği başarılı bir şekilde uygularsanız, bir yedekleme yapın (ya da temelde aynı olan kaynak kodu kontrolünü kullanın, ancak herkes kendi projelerinde çalışıyorsa herkes kaynak kontrolünü kullanmaz). Bu şekilde, kodu sabahın 2'sinde tamamen batırırsanız ve çalışma durumunda nasıl geri alacağınızı bulamazsanız, proje ölmedi ve sıfırdan başlatılması gerekmiyor; bunun yerine, yalnızca son tamamlanan ve çalışan dönüm noktasına geri dönün ve tekrar deneyin.


4
Bu yayında +1, iyi tavsiye. Kapsam proje katilidir.
underscorediscovery

12

Gerçekten önemli olan şey her zaman gösteren bir şey olması olduğunu söyleyebilirim.

Demek istediğim, yaşları ve yaşları, ertelenmiş renderleme ve gerçekten de yüksek FPS ile veri odaklı bir varlık sistemine harcayabilirsiniz. Fakat şansınız gösterecek hiçbir şeyden ve sıkılmaktan sıkılacaksınız. Oysa ilk önce ekranda birkaç model edinmeyi denerseniz, onları hareket ettirin ve oradan gidin, daha iyi bir şansınız olacak.

İlki aşağıdan yukarıya gelişme olduğunu düşünüyorum; bir çerçeveden asıl içeriğe kadar çalışan ve ikincisi yukarıdan aşağıya doğru; biraz içerik almak ve oradan oluşturmak.

Küçük bir nokta, ama gerçekten yardımcı olan bir şey.


10

Yalnız bir geliştirici olarak sesin erken dönemde uygulanmasına yardımcı olur. Beni diğer özellikler üzerinde daha çok çalışmam için motive ediyor, çünkü ilk birkaç haftada bile (parlak renkli çokgenler ile sınırlı grafikler, lapa lapa çarpışma tespiti, eksik kontroller vb.) ."


3
Orijinal yaklaşım, +1.
topright,

6

Bir keresinde, her şeyi doğru yapmış gibi görünen bir proje üzerinde çalıştım. Projede çalışan herkesin işbirliği yapması için bir web sitesi / bülten tahtası oluşturdular. Herkese belirli zaman çizelgeleri ve hedefleri sundular ve oyunun kendisi iyi bir konsept oldu. Buna rağmen, insanların haritayı terk etmeleri sadece 2 ay sürdü. 3 ay sonra gelişim tamamlandı ve oyun hiç bitmedi.

Eğer bir takımda çalışıyorsanız, o zaman teşvike ihtiyacınız olduğunu düşünüyorum. Çalışmaya devam ettiklerinden emin olmak ve neden sürekli devam etmek istediklerini hatırlatmak için herkesle sürekli iletişim halinde olan birisine ihtiyacınız var.

Yalnız çalışıyorsanız; Ben pek emin değilim. Sanat eserlerinden çok kötüyüm, bu yüzden çoğunlukla işlerin motor tarafına yoğunlaşıyorum. Bu beni her zaman ilgilendirmek için yeterli olur :)

Geliştiriciler, üzerinde çalıştığınız alanı bitirene kadar size yeni alanlara taşınmamanızı söyleyecektir. Kendiniz bir oyun yapmaya çalışıyorsanız, o zaman bu kuralı çiğnemeye karar verirseniz, bunun çok ağır olacağını sanmıyorum. Taze bir şey üzerinde çalışmak, heyecan seviyenizi yükseltmek için iyi bir yoldur!


3

Çok iyi cevap var ama benimkini de ekleyeceğim:

  • Daima bakabileceğiniz, çalışan bir projeniz olsun. Gösterecek bir şey olmadan 2 hafta boyunca kod yazdığınız tank moduna girmeyin.
  • Geri bildirim döngüsünü kısa tutun (bu önceki noktada daha da genişlemektedir): biraz yeni bir özellik kodlayın, etrafını gösterin, geri bildirim alın.
  • Etmeyin hiç bir projede bir çerçeve ilk şey inşa asla: zorunlu sonucudur artık gerek yok bir şey, uygulamak.

Son noktada biraz daha genişlemek istiyorum, çünkü birkaç kez olduğunu gördüm: Asla önce bir çerçeve oluşturma. Pek çok neden var, fakat temel olarak, işleri doğru yapmak için gerekli vizyona sahip olmayacaksınız, ne olduğunu düşünerek çok zaman harcayacaksınız ve X gün / hafta çalıştıktan sonra moralinizi kaybedeceksiniz. gösterecek bir şey yok.

Sorun şu ki, çerçeve genellikle son ürün için gerekli, öyleyse ne yapmalı? Özellikle kodlanmış değerlerle oluşturmaya başlayın. Bir değeri değiştirmeniz gerektiğinde, seçeneklerde değiştirilebilir hale getirin. İki benzer şey yapmanız gerektiğinde, benzer parçaları birlikte soyutlayın, ancak gerisini belirli tutun. Bunu yapmaya devam ederseniz, gerçekte gerekçeye bağlı olarak ortaya çıkacak bir çerçeveye sahip olursunuz.

Size Xth oyununu kurduktan sonra, çerçeveyle başlamayı düşünebilirsiniz, o zamana kadar çekmek için yeterli deneyime sahip olursunuz.


Oyunda, ben bir (shmup) yapıyorum, silahlar ve mermiler ve gemiler için bir "çerçeve" kullanmak zorunda kaldım ve çerçeveyi bir reklamda büyütmeyi deneseydi nasıl çalışacağını hayal edemiyorum. geçici bir şekilde. Aslında yapabilirim: Muhtemelen bir karmaşa ile
bitirdim

Yeterince adil, ama tarif ettiğiniz gerçekten çok küçük. Çerçeve olarak, daha çok bir oyun motoru, bir komut dosyası sistemi vb. Düşünüyorum. İsterseniz kafanıza rahatça sığamayacağınız sınıf / nesne topluluğu. Söylediklerim nesnenin yapısını düşünme gereğini ortadan kaldırmıyor.
ADB,

2

İlk oyunumu geliştirmeye başlamadan önce iki ya da üç not defterim vardı. Birkaç ay boyunca araştırma amacıyla benzer oyunlar oynayarak - hangi özellikleri sevdiğimi veya beğenmediğimi belirleyerek geçirdim. Genel olarak önce mekaniklere odaklanmaya ve daha sonra bakış açısını ve hissine dokunmaya çalışıyorum (ancak kullanılabilirliği göz ardı etmemeye dikkat ediyorum). Gelişime dalmadan önce kaba ancak kapsamlı bir tasarıma sahip olmanızı tavsiye ederim. Tasarımınız mutlaka oynanabilirlik sorunları, teknoloji kısıtlamaları vb.


2

Beyin fırtınası yaparak ve bazı temel tasarım hedeflerini yazarak fikrinizin dolu olduğundan emin olun. Oyuna 'ruh' bulma adını verdiğim bir süreçten geçiyorum. IE bu oyunu yapmamın ana nedeni nedir? Buradan, bu ana hedefi destekleyecek daha fazla kavram ve fikir ortaya koyuyorum. Tüm bu süreç fikrin size nasıl geldiğine bağlı olarak saatler, günler, haftalar veya daha uzun sürebilir.

Buradan görünür ve kinetik bir şey olsun. Oyunla oynayabilmenin ve ondan geri bildirim alabilmenin motivasyonu arttırmada hayati önem taşıdığını biliyorum. Görsel ve ses efektlerinin yanı sıra basit girdi işleme ve işlemenin yanı sıra, bir şey 'oluyor' ve bir rüyadan ziyade bir gerçeklik gibi hissediyorum.

Geliştirme stratejiniz nasıl giderse gidin, bir oyun "motoru" tasarlayıp kodlamaya çalışırken silmeyi yeterince vurgulamıyorum. Oyun üzerinde gözle görülebilir veya dokunulmaz bir etkisi olmayan her özellik çok az ödül sunacak. Bunun temel çekirdek sistemlerle dengelenmesine yardımcı olmak için, geliştirme bilgisini ekrana koyun. IE FPS, AI değişkenleri ve daha önce olmayan bir şeyin olduğunu ortaya çıkarmaya yardımcı olacak herhangi bir metin. Bir sistemi kodlamak, derlemek ve eskisi gibi aynı deneyime sahip olmak için 10 saat harcamaktan başka bir şey yoktur.

Birkaç yıl önce ilginizi çekebilecek oyun ruhunuzu bulma hakkında bir makale yazdım: http://deleter.phatcode.net/index.php?page=articles&a=8

edit: Ve üzerinde durmak istediğim başka bir yazıda gördüğüm bir şey daha var. Sadece oyununuzu tasarlarken değil, kendi oyununuz üzerinde çalışmak için fazla motive olmadığınızı hissettiğiniz zaman da oyun oynayın. Benzer oyunlar oynamanın neden oyunumu yapmak istediğimi hatırlamama yardımcı olduğunu ve devam etmem için gereken ekstra desteği vermeme yardımcı olduğunu biliyorum.

Ek olarak, oyununuza koymak istediğiniz öğelerin tümünü içeren resimler, videolar, müzik ve ses kliplerinden oluşan bir "ilham bankası" oluşturabilirsiniz. İstediğiniz zaman, kararlarınızı yönlendirmek için bu kaynaklara geri dönün. Bu sizi motive ve takip etmenize yardımcı olacaktır.


1

Genelde önce UI'ye odaklanırım. Oyunun nasıl oynayacağını tahmin etmeme yardımcı oluyor. Ayrıca ilk önce kolay düşünmeye çalışıyorum, bu yüzden hiçbir şeyden mahrum kalmam.


1

Bir oyun konsepti ile başlayın, oyunun nedenini belirleyin, oyun, yapmak istediğiniz oyunun görünüşü ve hissini verin.

Oradan bir özellik ve varlık listeleri yapmaya başlayabilirsiniz, böylece programcı ve sanatçı en azından bir şey üzerinde çalışmaya başlarken, tasarımcı oyun mekaniğini biraz düşünür veya değiştirir.

Bu şekilde, moralinizi artırmak ve projenizi başlatmak için en azından birkaç gün veya hafta içinde bazı kod ve varlıklara sahip olursunuz.


s/moral/morale
RCIX

Yazım hatası = p
Wight

0

Benim için, zihinsel olarak oyun fikrini başlamadan önce ortaya çıkarmak için yardımcı olur. Ana mekaniği, iç oyunun temel yapısını, nasıl çalışmasını istediğime dair bazı detayları öğrenmeye çalışacağım. Sonra kauçuğu yola uygularım ve kodun farklı bir kuruluma ihtiyacı olan zihinsel haritamın bölümlerini bükmeye veya kırmaya başlar. Bazı şeyleri yazabilirim (arka plan, belki de temel özellikler), ancak bu noktada tasarım genellikle bir belgenin kullanışlı olması için çok fazla kayıyor.

Aksi taktirde, erken başlayan bir proje olarak sona erecek şekilde durdum:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.