Bilgisayardan daha fazlasını hedeflemeyi planlıyorsam fare düşünerek geliştirmeli miyim?


15

Çok basit bir soru ama cevabından emin değilim.

Fareyi kullanan ya da fareyi tamamen görmezden gelen kullanıcı denetimleri geliştirmeli ve yalnızca düğme denetimlerini kullanmalıyım.

Örnek olarak şunlar verilebilir:

Almak için bir öğeye tıklamak veya öğeye yaklaşmak ve öğeyi almak için bir düğmeye basmak.

Özellikle PC'den daha fazla platformu hedeflemek istiyorsanız, bununla ilgili görüşleriniz nelerdir?


4
"Almak için bir öğeye tıklamak vs. Öğeye yaklaşmak ve almak için bir düğmeye basmak." Bu konuda bir uyarı. Bunu uygulamak mümkün olsa da, Diablo III geliştiricileri bunu yapmadı, çünkü kullanıcının aldıkları ganimeti anlamalarına yardımcı oldu, kullanıcıya bir şey ifade etmek zorunda kaldı. Dikkate alınması gereken bir şey.
Vaillancourt

3
Fare girişini ayrık giriş için zorlamayın. Aşırıya kaçıldığında, tipik bir roguelike tamamen fare olmadan oynanabilir olmalıdır. Yalnızca kesin girdinin gerekli olduğu fareyi kullanın (örn. Ekrandaki belirli bir piksel aralığını tıklayın, bir nesneyi hedefleyin, ...). Daha hızlı ve daha basit girişi tercih eden kişiler için menü seçenekleri arasında gezinme ve iletişim kutusu seçenekleri, kısayol
tuşlarıyla

Yanıtlar:


37

Evet, oyununuzun PC'de çalışmasını istediğinizde, erken tasarım aşamasından fareyi en iyi nasıl kullanacağınızı düşünmelisiniz. Aynı şey, hedeflemeyi düşündüğünüz diğer tüm platformların giriş özellikleri için de geçerlidir.

İyi bir bağlantı noktası ile farklı bir platforma kötü bağlantı noktası arasındaki temel farklardan biri, farklı giriş stillerini barındırmak için ne kadar çaba harcadığınızdır:

  • Konsol oyuncuları gamepad kullanır. Bu beceriksiz parmak çubuklarıyla şeylere doğru bir şekilde nasıl yön vermeyi başardıkları, bir PC oyuncusu olarak benim için her zaman bir gizem olacaktır. Ancak standart bir gamepad üzerinde bulunan tüm farklı analog giriş eksenleri bazı ilginç olasılıklar sunar. Metin girişi rahatsız edici olmaya devam ediyor, ancak insanların ortaya çıkardığı bazı ilginç UI çözümleri var.
  • PC kullanıcılarının bazen gamepadleri vardır, ancak çoğunda bir tane yoktur veya fareyi kullanmayı tercih ederler. Bir fare kullanılabilir olduğunda tuşlarla menülerde gezinmek zorunda kaldıklarında gerçekten hoşlanmıyorlar. Ayrıca klavye kısayollarıyla yaygın işlemlerin gerçekleştirilmesini beklerler.
  • Mobil kullanıcıların dokunmatik ekranları vardır. Fare girişinden çok daha az hassastırlar, ancak basınç hassasiyeti, kaydırma ve çoklu dokunma hareketleri gibi ek giriş yöntemleri sunarlar. "Sanal Gamepadler", yani gamepad düğmelerinizi köşeye koymak ve oyuncuların onlara basmasını beklemek, dokunsal geri bildirim eksikliği ve azaltılmış ekran alanı sıkıntısı çeken çok tembel bir çözümdür.

Bu nedenle, farklı bir platforma iyi bir bağlantı noktası oluşturmak istediğinizde, giriş yöntemlerinizi yeniden gözden geçirmeniz gerekir. Bu genellikle kullanıcı arayüzünüzü sıfırdan yeniden tasarlamanız gerektiği anlamına gelir. Bunu gelişimin erken bir noktasında dikkate aldığınızda acıyı azaltabilir ve tüm oyun özelliklerinin farklı giriş yöntemleriyle düzgün bir şekilde uygulanabileceğinden emin olabilirsiniz.


Yanıt vermeden önce bu konuda ikinci bir onay alana kadar bekliyordum. Herkese verilen tüm cevaplar için teşekkürler. Bu durum sorunlarımı çözdü. PC için fare ile geliştireceğim ve farklı platformlar için girişleri ayarlayacağım.
kabuk

Deneyimlerime göre çoğu PC oyuncusunun bir gamepad var. Ve bir tane olmamak nadirdir. Bu benim tek eleştirim.
Pharap

@Pharap Oyuna bağlı olarak, PC'deki insanlar bir denetleyici kullanmak istemiyor ve denetleyici tasarımları PC'deyken çıldırıyor olabilir. Bu konuyu düşündüğümde Oblivion ve Skyrim envanter sistemi akla geliyor. Klavye ve fare açısından dev bir PITA, ancak gamepad açısından mantıklı.
TyCobb

3
Bir PC oyuncusu olarak, oyun uygunsa fareyi kullanmamayı tercih ettiğimi belirtmek isterim. Bu yüzden lütfen tuş bağlantılarının ayarlanmasına izin verdiğinizden emin olun. Örneğin roket ligi için sadece klavyeyi kullanıyorum. Bu menüde gezinmeyi de içerir
lucidbrot

1
@CGriffin İnsanların ne tür oyunlar oynamayı sevdiğine bağlı olduğunu düşünüyorum. Birisi ağırlıklı olarak şiddetli FPS oyunları veya görsel romanlar veya işaret ve tıklamalar veya RTS oyunları oynarsa, o zaman bir denetleyiciye sahip olmayacak veya istemeyecekleri mantıklı olacaktır, ancak üçüncü kişi aksiyon oyunları veya platform oyunları veya belirli bulmaca oyunları gibi şeyler sahip olmak çok daha mantıklı olacaktır giriş için bir kontrolör. Ne yazık ki bu konuda herhangi bir istatistik bulamıyorum, bu yüzden YMMV'ye kadar tebeşirleyeceğim. Oyunların kullanıcıları bir gamepad'e ihtiyaç duyması gerektiğini söylemiyorum, ancak oyuncuların bir tanesine sahip olmasının tam olarak 'nadir' olmadığını söylüyorum.
Pharap

6

Evet yapmalısın.

PC kullanıcıları oyununuzu oynamak için bir fareye sahip olmalarını beklerler. Bunu kullanmazsanız, özellikle oyundaki bazı eylemlerin bir fare ile daha doğal olarak yapılması gerekiyorsa, oyununuz "zayıf mobil bağlantı noktası" olarak etiketleme riski taşır.

Ayrıca, bazı PC kullanıcılarının da klavyeyle yapılan temel oyundan daha fazlasını olacağını bekleyeceğini unutmayın.

Hem mobil hem de PC kullanıcılarını memnun etmek için hedef cihazın giriş özelliklerinden mümkün olduğunca yararlanmanızı öneririm.


5

Her zamanki gibi değişir.

Ne tarz? Ne kadar paranız / zamanınız var? Para kazanmak için uygulamayı geliştiriyor musunuz?

Kullanıcılar genellikle niş oyunlardaki kötü giriş kontrolleri (örneğin bağımsız geliştiriciler tarafından JRPG'ler) hakkında şaşırtıcı bir şekilde affeder, ancak daha fazla satmak istiyorsanız daha iyi giriş kontrolü hala bir artıdır.

Çok sıkı bir bütçeniz varsa ve satışlardan doğrudan kâr etmiyorsanız (örneğin, eğitim yazılımı geliştirmek için size sabit bir saat ödeyen bir yardım fonu), iyi yapılmış tek bir giriş yöntemine bağlı kalmak mantıklıdır - çoklu giriş yöntemlerini iyi yapmak önemli miktarda zaman alır.

Oyununuzu makul bir fiyata (20 $ +) satmak ve makul sayıda çok sayıda alıcıya (50'000 +) ulaşmak istiyorsanız, farenin, klavyenin, dokunmatik ekranın ve başından beri gamepad cihazları. Bir fare / klavye oyununa basitçe "geriye dönük" bir gamepad girişi veya tam tersi bir yol yoktur.

* Oyununuzu, gamepad ve fare dostu hale getirmeyi düşündüğünüzde, aslında iyi bir çözüm olmadığını görebilirsiniz. Bu tür durumlar oldukça yaygındır (gerçek zamanlı strateji oyunları nadiren çapraz platformdur). Bu durumlarda olağan çözüm, yalnızca oyununuzun gerektirdiği girdi biçimini destekleyen cihazlarda yayınlamaktır.


1

Bu tam olarak hafta içi gelişmekte olan tür bağlıdır.

3D Oyunlar
Eğer birinci şahıs oyunlarının çoğuna bakarsanız, fare sadece etrafınıza bakmak için kullanılır. Konsola taşındığında, analog çubuklar ve düğmeler kullanılır ve mobilde, diğer denetimlerin ekrandaki düğmeler olabildiğince az görünmesi için kaydırma kullanılır. İyi bir karşılaştırma için, Minecraft'ın farklı sürümlerinin videolarına bakın .

2D Oyunlar .
Etkileşimlerin 2d uzayda olduğu oyunlar için. Daha sonra tarif ettiğiniz gibi fare etkileşimlerini kullanmak mümkün olabilir; ancak dikkate alınması gereken en önemli şey, ellerinizi klavyeden fareye ve geriye ne sıklıkta hareket ettirmeniz gerektiğidir. Mobil cihazlarda başka seçeneğiniz yoktur, çünkü kullanmak isteyebileceğiniz tüm düğmelerin ekranda olması gerekir. Bununla birlikte, yalnızca mobil cihazlarda gerektiğinde görünen düğmelere sahip olmayı düşünebilirsiniz, örneğin: bir öğeye yaklaştığınızda, bir düğme yalnızca onu alma olasılığı kalırken ekranda görünebilir. 2D oyunlarda, nokta baltası PC'de ve mobilde iyi çalışır, ancak analog çubukların kullanılabilmesi nedeniyle konsolda biraz tıknaz olabilir.

Ancak sorunuza göre, çoklu platform için PC'de geliştirirken göz önünde bulundurmanız gereken en önemli şey, diğer platformlara göre çok daha fazla düğme zenginliğine sahip olmanızdır. Bu nedenle, düğmelerinizin sayısı minimum düzeyde olması ve (avantajlı PC için) bir el Chan'ın farede ve bir klavyede tutulmasını sağlayın, ardından bir oyun kontrolünü diğer platformlara yazdırın.


1

Evet yapmalısın. Ancak, soyut bir giriş sınıfına veya arayüzüne karşı geliştiririm ve daha sonra donanım türüne bağlı olarak kullanıcının buna karşı etkileşimde bulunabileceği çeşitli yolları uygularım.

Oyununuzu özellikle bilmiyorum, ancak bir örnek olarak, aşağıdaki gibi yöntemlerle soyut bir sınıf arayüzü oluşturun

bool lookingUp();
bool shooting();

Ve sonra bunları somut bir sınıfta uygulayın, örneğin:

bool lookingUp() {
    return mouseIsMovingUp(); // e.g. PC
}

bool lookingUp() {
    return isTrianglePressed(); // e.g. Gamepad
}

bool shooting() { // e.g. phone
    return screenPressedAt(10, 10);
}

Daha sonra oyununuzda, donanım türüne göre beton sınıfı oluşturun. Bu, kodunuzu daha temiz hale getirir ve farklı platformlara kolayca hitap edebilirsiniz.


Genel fikir doğrudur, ancak genellikle bir oyunda sürekli olarak durumu kontrol etmek yerine girdi olaylarına tepki verirsiniz.
Rotem

@Rotem Genellikle kullanılan çerçeve veya kütüphanelere bağlıdır. Genellikle her ikisinin bir kombinasyonunu kullanırım, örneğin olay gerçekleştiğinde "ateş" için olayı alıp bir boolde saklarım ve oyun döngüsünün her yinelemesinde boolü kontrol ederim. Bu aynı zamanda çoklu kullanım problemlerini de önler.
Steve Smith

-3

Şeytanın avukatını oynayacağım. Kök ölçümleriyle ilgili yeni bir rapor yayınladım, daha fazla kişi PC'lere karşı hücresel uygulamalar kullanıyor. Bu doğru, sadece mobil cihazlar devralmakla kalmadı, aynı zamanda mobil uygulamalar toplamda masaüstü kullanıcılarını geçti.

Bununla birlikte, tüketiciler kolaylıktan hoşlanırlar ve fare gerektiren bir cihaza sahip olabilirler. Sadece bir düşünce.


Öyleyse .... bilgisayardan daha fazlasını hedeflemeyi planlıyorlarsa OP fare göz önünde bulundurularak geliştirilmeli mi?
Vaillancourt

bunun soruya nasıl cevap verdiğinden emin değilim.
Brian H.

Bu soruya bir yorum olarak daha iyi olurdu
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.