PC'de bir XNA oyununun fizibilitesi


19

Bir arkadaşım ve ben bir 2D XNA oyunu yapıyoruz. Şimdiye kadar, API gerçekten harika görünüyor ve performans kabul edilebilir. Benim sorum daha çok serbest bırakılması yönünde. Diğer geliştiriciler gibi, oyunları nasıl yaptılar, PC'de sizin için ne kadar başarılı oldular (indirmeler, satışlar vb.)? Xbox360 hakkındaki istatistikleri kişisel olarak görmekten biliyorum, ancak bunların PC'de ne kadar başarılı olduğunu merak ettim?

Yanıtlar:


25

XNA ve XNA dışı oyun satışları arasındaki farkları karşılaştırmak için herhangi bir istatistikim yok - verilerin gelmesinin imkansız olduğunu öneririm - ama eşdeğer oyunlar için fark olmadığını göstereceğim. Bu nedenle, XNA oyunlarının PC'ye (özellikle çevrimiçi) dağıtımına özgü önemli sorunların bir sorusu ile sorunuzu cevaplayayım:


Her şeyden önce: Bir XNA oyununun çalışması için sistemin kurulu olması gerekir: XNA Framework ve .NET Framework.

XNA Framework, oldukça küçük bir indirme, kurulumu kolay, ancak yönetici ayrıcalıkları gerektirecektir - bu nedenle bir UAC isteminin yanı sıra bir EULA istemine neden olacaktır. Çerçeve yukarı veya aşağı doğru uyumlu değildir - ancak yan yana monte edilebilir. (örn: bir XNA 3.1 oyunu XNA 3.1'e ihtiyaç duyar ve XNA 4.0'da çalışmaz).

.NET Framework 2.0 Vista ve üstünde paketlenmiştir, bu yüzden (Project Properties -> Target Framework) hedeflemenizi öneririm. [GÜNCELLEME: XNA 4 için .NET 4 gerekir, bu nedenle artık çalışmaz]

.NET 3.5 yüklemesi çok, çok yavaş - bundan kaçınmanızı öneririm. Tam 4.0 yüklemesinden emin değilim, ancak 4.0 İstemci Profili yüklemesi daha yeni .NET özelliklerine ihtiyacınız varsa yeterince hızlıdır (muhtemelen yok - hala .NET 2.0'da lambdas ve uzantı yöntemlerini kullanabilirsiniz ).

Bir .NET Framework yüklemesi elbette bir UAC ve EULA istemine neden olacaktır. Ayrıca yeniden başlatmaya da neden olabilir.


Şu anda XNA oyunlarını dağıtmanın "standart" yolu ClickOnce'dir . Çevrimiçi yükleme yapabilirsiniz - dezavantajı, kullanıcınızın tüm gevşek oyun dosyalarını web sitenizden çeken küçük bir "bootstrap" yükleyici yürütülebilir dosyası almasıdır. Alternatif olarak, tüm bu gevşek dosyaları ve yükleyiciyi bir zip içinde dağıtabilirsiniz. Bunların hiçbiri, kullanıcıların çoğu oyundan beklediği gibi bağımsız bir yürütülebilir dosya değildir.

ClickOnce'ın en büyük acısı, imzasız yazılım indirmeyle ilgili oldukça korkutucu görünebilecek birkaç uyarı göstermesidir.

ClickOnce'ın diğer bir dezavantajı, örneğin hangi başlat menüsü girişlerine sahip olduğunuz gibi şeyler üzerinde çok fazla kontrole sahip olmamanızdır.

ClickOnce'i kullanmanın avantajı, kurulumunun çok kolay olması ve gerekli çerçeveleri Microsoft'un web sitesinden otomatik olarak indirip yüklemesidir.

ClickOnce ile ilgili bu sorunların bir MSI kullanılarak çözülebileceği izlenimi altındayım - ve yine de gerekli çerçeveleri otomatik olarak indirip kurabilir. Korkarım bunun için özel talimatlarm yok.


Kendi kurulumunuzu yaparsanız veya hiç kurulum yapmazsanız, gerekli çerçeveler eksikse oyun yürütülebilirinizin son derece yararsız bir hata mesajıyla çökeceğini bilmeniz gerekir!


Oh, ve kurulumunuz biraz daha büyük olabilir (veya çerçeveler eklerseniz çok fazla olabilir). XNA'nın yerleşik içerik öğelerini kullanıyorsanız (ve neden olmasa da, orada ve kolay), indirmeniz gereken daha fazla şey olabilir, çünkü dosyalar sıkıştırılmamış ve ayrıca kendiniz ele alırsanız olabilir (özellikle ses) .


Bu kadar. Oyun yüklendikten sonra, yerel DirectX (yani: çoğu) kullanan diğer oyunlarla hemen hemen aynı durumdasınız.

(Çevrimiçi dağıtım yerine CD-ROM dağıtımı gibi bir şey yapıyorsanız, açıkladığım aynı sorunlardan bazılarıyla karşılaşabilirsiniz - ancak bunun yerine CD'nize karşıdan yüklenmesi gereken her şeyi koyabilirsiniz. gerekli çerçeveler.)

İndirilebilir shareware yapıyorsanız, temel olarak kullanıcıları bir zincir boyunca yazılımınızı öğrenmekten, demoyu oynamaya ve tüm oyunu satın almaya kadar yönlendirmeye çalışıyorsunuz. XNA'nın dezavantajı, bu zincirdeki kurulum adımını cilalamak için biraz daha zor hale getirmesidir - ancak yine de mümkündür.

(IMO, daha kolay geliştirme ve XBox uyumluluğunun tersine buna değer.)

Bunu sorunuza geri döndürmek için: XNA kullanmak küçük bir fark yaratabilir - ancak önemli olması yeterli değildir. Dolayısıyla, PC oyun satışlarıyla ilgili bulduğunuz tüm istatistikler PC'deki XNA oyunları için geçerli olmalıdır.


Harika, Nihayetinde XNA 2.0 oyunumu nasıl dağıtacağımı biliyorum (evet, 2.0 yeni olduğunda bir oyun yaptım ve kapsamlı bir şekilde aradım, ancak çökmemesi için gereken her şeyi indiren bir yükleyiciyi nasıl kolay bulacağımı bulamadım yoksul kullanıcı ...)
hızlandırıcı

@speeder ClickOnce özelliklerinin XNA 3.0'da yeni olduğunu belirtmekte fayda var, bu yazıya buradan bakın: blogs.msdn.com/b/astebner/archive/2008/09/18/8957968.aspx 2.0 için geçici çözümler var - her ne kadar ben en kolayı XNA 2.0'dan 3.1'e yükseltmek olabilir.
Andrew Russell

1
Net 4.0 her zaman makinelerimde yeniden başlatmaya neden oluyor - sadece bunun farkında olun.
Jonathan Dickinson

Kendinizi dağıtmak için çerçeveleri bir cd'de paketlemeyle ilgili bir tür lisans sorunu yok mu?
Bill

1
@Bill: No: "XNA Framework Yeniden Dağıtılabilir indirmesi, oyun geliştiricilerine Windows platformunda yeniden dağıtım için ürünlerine ekleyebilecekleri XNA Framework çalışma zamanı kitaplıkları sağlar ." Referans
Andrew Russell

5

Bu konunun yaratılmasından bu yana bir yıldan fazla oldu ve o zamandan beri XNA tarafında biraz gelişme oldu. Örneğin, PC için piyasaya sürülen ve şu anda Steam'de satılan birkaç popüler XNA oyununun bulunduğu bir liste:

... ve bunlar sadece satın aldığım ve XNA çalışma zamanını kullandıklarını fark ettiklerim - eminim onlardan daha fazla habersizim.

Bunları bilmemeniz durumunda, Terraria çok uzun bir süre sattı (yukarıdaki bağlantıda "bir milyondan fazla satıldı" feragatnamesinden anlayamazsanız), Steam'in en çok satanlar listesinde uzun süre kaldı . Ve Bastion ... birkaç gün önce üç Spike VG Ödülü (yılın en iyi indirilebilir oyunu dahil) kazandı .

Ayrıca diğer oyunları da kontrol etmenizi istiyorum. Chime son derece dinlendirici bir zen-tür deneyim sağlayan inanılmaz bir gündelik / müzik oyunudur. Ve Dizi, DDR ve RPG'nin gerçekten orijinal bir karışımıdır ( onu tanıyanlar için Ronald Jenkees'in bazı müzikleriyle ). Son olarak, Magicka Diablo'ya benzer bir aksiyon RPG'dir ve bu da oldukça havalıdır.

PC oyunları geliştirmek için XNA kullanmanın uygulanabilirliği hakkında bir şey söylemeliyim.


1
Ayrıca, kayda değer başka bir güncelleme de kodun yeniden kullanılmasıdır. Günümüzde geliştiricinin XNA kod tabanının çoğunu (hepsi değilse de) korumasına ve oyunun çapraz platform sürümünü çalıştırabilmesine izin veren MonoGame gibi projeler var. Chrome'da çalışan Bastion (Chrome Web Mağazası'nda bulunur) buna iyi bir örnektir.
Darren Reid

1
Bu kayda göre @Layoric, ben çok heyecanlıyım bu (sadece birkaç gün önce duydum). :)
David Gouveia

3
XNA'nın nereden geldiğini göstermek için +1. Çoğu geliştiricinin fark edeceği gibi, XNA tarihleniyor, hala DX9 kullanıyor ve bunun için çok fazla gelişme söz konusu değildi. ANX'e bakmanızı öneririm, sadece ad alanlarınızı değiştirmenize ve sistemlerini kullanmanıza izin verir. Bunun faydaları, sharpdx üzerinde çalışan açık kaynaklı, sürekli güncellenen bir çerçeve elde etmenizdir. İşlemciyi anında değiştirmeye izin veren bir opengl sistemi de geliştirilmektedir. anxframework.codeplex.com
FrenchyNZ

1
@Twitchy Bu doğru, ama bunun çok uzun sürmesini beklemiyorum. Andrew Russell'ın XNA'nın geleceği ile ilgili blog yazısı ( andrewrussell.net/2011/11/predictions-on-xna-in-windows-8 ) / Windows 8, DX9 kullanımının arkasındaki nedenleri açıklıyor ve XNA'nın daha yeni bir versiyonunun DX10-11 destekler muhtemelen zaten çalışıyor.
Darren Reid

@Twitchy Funny, ben de bağladıktan hemen sonra ANX'ten nasıl bahsettiğinizi! Kararlı hale geldiğinde gerçekten kontrol etmeyi dört gözle bekliyorum. Ancak yeni bir XNA sürümü de çok hoş karşılanıyor.
David Gouveia

1

Gerçek istatistikler hakkında hiçbir fikrim yok, ancak yaban mersini bahçesi ve filo hakkında bir şey bulabilirseniz görülmeye değer olabilir . Her ikisi de XNA ile yazılmıştır ve her ikisi de buharda kullanılabilir. Flotilla'nın bazı buhar istasyonları bile var (sadece inandığım arkadaş listesi)


Vaay havalı. Steam'in aslında XNA oyunlarını kabul edeceğini bilmiyordum.
Corv1nus

kullanıcıda .NET yüklü değilse ne olur?
Iain

2
Hem .NET hem de XNA'yı kontrol etmek için bir yükleyici yazabilirsiniz. XNA için piyasaya sürdüğüm neredeyse tüm küçük oyunlar için yaptım
Jeff

1
Buhar bağımlılıkları kontrol etmek ve kurmak için desteğe sahiptir, dürtü benzer bir sisteme sahiptir.
Cubed2D

1

Oyununuzu XNA kullanarak oluşturarak satışlarınızı çok fazla incitmeyeceksiniz. (Verilmişse, Mac / Linux'taki kullanıcılar oynatamaz). Daha büyük bir faktör olacak reklam, tanıtımlar, demo ve gerçek oyun.

Çoğu windows kullanıcısı oyunu oynamak için ihtiyaç duydukları her şeye sahip olacak. Gerçekten dikkatli olmak istiyorsanız, yükleyicinin .net, xna runtime, directX, vb.Gibi gereksinimleri kontrol etmesini sağlayabilirsiniz. Ve yüklemelerini isteyin.

Aslında, XNA, saf DirectX veya Direct3D kullanarak daha büyük satışlar alacağınızı düşünmeyin. Daha büyük bir kitle elde edersiniz, ancak bu satışlarla eşdeğer değildir.

Harika bir oyun yapmaya odaklanın, reklamcılık için biraz para yatırın (bir Facebook hayran sayfası oluşturun ve orada biraz buzz yaratıp yaratamayacağınızı görün), iyi bir teaser videosu yapmak için zaman harcayın ve çoğu eğlenceli bir demo oluşturun.

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.