Neden PBBG için C # üzerinden PHP? [kapalı]


10

Ben bir C # geliştiricisi ve kalıcı bir tarayıcı tabanlı oyun (PBBG) inşa bir hobi projesi başlatmak istedim. C #, MSSQL ve Angular ile çalışıyorum ve bu teknikleri hobi projem için de kullanacağımı düşündüm.

Yapmaya ve yapmamaya ve ipuçlarını aramaya başladığımda birçok projenin PHP kullandığını fark ettim ve gerçekten garip bulduğum C # kullanarak herhangi bir PBBG bulamadım. Çalıştığım yığın (C #, MSSQL, Angular) bir PBBG'ye uygun olabilir.

C # kullanılmadığını düşünebilmemin tek nedeni, Visual Studio'nun iri fiyatı ve açık kaynak olmamasıdır.

Başka bir nedeni var mı, ya da sadece C # kullanan projeler bulmakta kötü mü? Yoksa sadece işimde kötüyüm ve bu yığının PBBG için iyi olmadığını fark etmiyor olabilir miyim?


3
Ayrıca cevaplar görüşe dayalı olacaktır. Bazı insanlar C # 'ı sevmezler.
Almo

6
@Almo Ve diğer insanlar (benim gibi) PHP'yi yoksun bırakıyor. Ama yine de tarafsız ve yardımcı bir cevap yazabildiğimi düşünüyorum.
Philipp

Sanırım burada katkıda bulunan faktörlerden biri olarak yaş bulacaksınız. PHP, C # 'dan çok daha eski ve derinlemesine yerleşmiştir.
Pharap

4
"Visual Studio'nun iri fiyatı" - 2017 Topluluk Sürümü: 0. ÇOK iri.
TomTom

1
"Visual Studio'nun ağır fiyatı" ile ne demek istiyorsun? Bir süredir ücretsiz.
user1306322

Yanıtlar:


16

PHP, ucuz webhosters tarafından çok yaygın olarak desteklenmesi avantajına sahiptir. Yer fıstığı için bazı paylaşılan barındırma LAMP (Linux, Apache, MySQL, PHP) web alanı kiralayabilirsiniz. Ve bu web alanı web sitenizi ve oyun istemcisini de barındırabilir. Çoğu PHP uygulamasının kurulumu da aynı derecede kolaydır. Dosyaları web sunucusuna kopyalamanız yeterlidir. Bu, bir test sunucusunun çalışmasını çok kolay ve kullanışlı hale getirir.

AC # gameserver ise daha karmaşık olabilir. Daha pahalı olan ve düzgün bir şekilde kurmak ve bakımını yapmak için çok daha fazla çalışma ve bilgi gerektiren gerçek bir ana sunucu kiralamanız gerekir. C #, bir web sunucusunda (bana sorarsanız bir PBBG için oldukça basit bir çözüm) çalışan bir ASP.NET uygulaması veya ayrı bir işlem olarak çalışan bir C # bağımsız uygulama (biraz alışılmadık, ancak işe yarayabilir) anlamına gelmiyorsa yazmadınız. daha aksiyona dayalı bir oyununuz varsa oldukça iyi). İkincisini demek ise, ayrıca yüklemek veya web sitenizi ve oyunun istemci taraflı parçaların barındıran bir web sunucusu kiralamak gerekiyor.

Bu ek yük, çoğu hobi geliştiricisi için bir engel olabilir, bu da PHP'yi seçmek için iyi bir neden olabilir. Ancak bir hobi oyunu ile başarılı olduğunda ve bunu profesyonelce yapmaya karar verdiğinde, zaten mevcut kod tabanlarına sahiptirler ve kesinlikle sıfırdan başlamazlar. Bu nedenle, LAMP teknolojisi yığınını, toplama için ilk endişeleri artık geçerli olmasa da tutacaklar (LAMP yığınında ciddi bir işlem yürütürken, er ya da geç paylaşılan barındırma artık kesmediği bir noktaya vuracaksınız ve kendi sunucularınıza ihtiyacınız var).

Ancak, bir PBBG geliştirmenin toplam proje maliyetine bakarsanız, genellikle geliştirme aşamasında sunucu barındırma ve yönetim maliyetlerinin geliştirme bütçesinin sadece küçük bir kısmı olduğunu fark edeceksiniz.

Bu nedenle hangi teknolojiyi kullanacağınıza karar vermeniz , hangi teknolojinin en az zamanda en iyi oyunu oluşturmanıza izin verdiğini belirlemelidir. Paranın satın alabileceği en iyi araçları seçmek ( sizin ve projeniz için en iyisi ) size maliyet getirmez, size para kazandırır.


7
Kök sunucu C # web uygulamaları için gerekli değildir. Örneğin, Microsoft Azure'a bakın.
Michael Pittino

11
Visual Studio Code ve / veya Visual Studio Community ile, araçların giriş maliyeti C # için kesinlikle bir engel değildir.
0xFF

1
@Erik Öte yandan, par. Daha da kötüsü: 100 saat sonra oyununuzun seçtiğiniz alt par araçlarıyla yapılamayacağını, ancak yine de satın almak zorunda kalacağınız daha pahalı araçlarla çalışacağını fark edebilirsiniz.
Philipp

2
@TylerH Doğru, C # derleyicisinin kendisi ücretsiz olduğu için (en azından Roslyn'den beri) nerede çizgi çizdiklerini merak ediyorum.
0xFF

4
Ve aslında, VisualStudio'nun Topluluk sürümü için kendi web sayfasından: "Herhangi bir geliştirici kendi ücretsiz veya ücretli uygulamalarını oluşturmak için Visual Studio Topluluğu'nu kullanabilir".
0xFF

5

Diğer cevaplar doğrudur, ancak bahsedilmeyen tarihsel bir faktör vardır.

Ne zaman yapmak ve donts ve ipuçları aramaya başladığımda bir çok proje PHP kullandığımı ve aslında gerçekten garip buldum C # kullanarak herhangi bir PBBG bulamadık fark ettim.

Birkaç yıl öncesine kadar, çoğunlukla iki forumda bulunan bir PBBG geliştirme topluluğu vardı: BBGameZone ve MakeWebGames, her ikisi de ağırlıklı olarak PHP programcılarıyla doluydu. Bir oyunun nasıl yapılacağını bilmeyen yeni katılımcılar, PHP'de olan BuildingBrowserGames.com'daki harika eğiticilere yönlendirildi. "PBBG" terimi çoğunlukla bu iki foruma bağlı olan kişiler tarafından yapılan oyunlardan geliyor, bu türün popülerleştirilmesi için bir çaba vardı, böylece türün oyuncuların türün arayabileceği ve umarım yavaşlayabileceği tanınan bir adı olacaktı, sadece terimi aradığınızda PHP alıp almamanız şaşırtıcı değildir.

Birlikte çalıştığım yığın (C #, MSSQL, Angular) bir PBBG'ye uygun olabilir.

C # kullanılmadığını düşünebilmemin tek nedeni, Visual Studio'nun iri fiyatı ve açık kaynak olmamasıdır.

C #, MSSQL ve Angular kullanmaya devam etmek için% 100 iyi olduğunuzu düşünüyorum. PHP motorlarının çoğunun eski PHP4 veya PHP5 olduğunu göreceksiniz.

BBGameZone halkı çoğunlukla motorları kullanmaya karşıydı (herkes ben dahil kendi motorlarını yazıyordu) MakeWebGames çalışanları tarafından yeni PHP motorları yerleştirme çabası vardı (McCodes'lar ana eski motoru ve NWE (Yeni Dünya Motoru) yarı yolda yapılan olası yeni bir tane olarak)

İşte McCode / NWE / ezRPG / GL Script'i karşılaştıran ve birkaç yıl önceki motor karşılaştırması olan bir Google dokümanı: https://docs.google.com/spreadsheets/d/1WM3axFhYaAtjiKd1KRwibx9jEegwjwCJNhQmXP_jzss/puble

Eski topluluğu yeniden bir araya getirmek için geçmişte çabalar vardı, ancak şu ana kadar çok şans yok: https://www.reddit.com/r/PBBG/comments/6r34vi/announcing_pbbgsite/


Bir C #, MSSQL, Açısal yığın kullanarak% 100 daha iyi olacağınızı düşünüyorum, sadece araç zincirinizle bir PBBG yazan ilk kişi olduğunuzu unutmayın ve geçmiş örnekleri olmadan kendiniz her şeyi oluşturmanız gerekir. arkana bak.

Sadece türün şu anda ölmekte olduğunu unutmayın, ancak tüm ihtiyaç duyduğu kendini canlandırmak için bir veya iki popüler oyun, eğer C # 'da yapabileceğinizi düşünüyorsanız, sizin için kök salmış olacağım.


1
  • Tarayıcı tabanlı oyunlar, C #'ın çok popüler olmadığı bir zamanda yükseldi, ancak PHP. Bu dilde çok fazla proje yapılıyor, bu dil için birçok öğretici yazıldı ve bu oyunlardaki birçok uzman PHP'yi ana dilleri olarak kabul etti ve bu yüzden varsayılan olarak seçti,
  • PHP, küçük ve orta boyutlu uygulamalardan kolayca ölçeklenen bir dil olarak görülürken, C # (ve Java) genellikle büyük işletme uygulamaları için uygun nispeten ağır diller olarak görülür; çoğu PBBG küçük ila orta ölçekli proje kategorisine girer (en azından başlangıçta / birikmiş kod çöpü olmadan çekirdek oyun kavramı).
  • LAMP sunucularının olması kolaydı, birçok hobi geliştiricisinin zaten bir tane vardı, C # sunucuları daha pahalıydı; bu hala bir dereceye kadar geçerli ancak artık o kadar güçlü değil
  • PHP, işe daha iyi uyuyormuş gibi hissedebilir: HTML tabanlı içerik / veri içeren bir web çağrısına, tam olarak bir tarayıcı oyununun arka ucu için ihtiyacınız olana (fantezi seviyesine bağlı olarak) yanıt vermek üzere tasarlanmıştır; C # bunu yapabilir, ancak daha şişkin (veya güçlü) hissedebilir,
  • ucuz C # programcılarından daha ucuz PHP programcıları almak ve muhtemelen daha kolay, bu PHP'nin içine girmek için "kolay" olduğu için düşüyor, bu yüzden çoğu zaman hızlı bir şekilde bazı temel "web sitesi thingy" yukarı ve çalışan almak için goto dili (ve sonra sadece teknolojinizi uzun vadede yeniden değerlendirmek ve değiştirmek yerine bu prototipi genişletmek)
  • oyunlar genellikle hızlı çekimlerdir, geliştirilir, kamuya açık olarak test edilir, sonra başarılı olur veya atılır; Yine, bu, PHP'nin görüntüsüyle bağlanır ve bir şeyin hızlı bir şekilde çalışmasını sağlamak için nispeten iyi olur

Görüş Özeti: Herhangi bir (uygun) dil bilmiyorsanız (yeterince iyi), PHP ile "bir şeyler" kurup daha hızlı çalıştığınızı varsayarım. Ancak zaten C # gibi uygun bir dil biliyorsanız ve onunla bir sunucu / arka uç nasıl kurulursa, bu geçerli olmayacaktır (o dilde belirli bir motoru kullanmak istemiyorsanız). PHP'nin bu prototipleme avantajı, oyununuz ne kadar karmaşık / durumlu olursa da olmayabilir.


2
"PHP ile temel oyun devam almak için sadece bir dil (ve HTML) gerekir" - C # ile aynı. Javascript / Angular'ın yükselişi her ikisinde de aynıdır - uygulamayı tarayıcıda çalıştırır. Ancak asp.net mutlu bir şekilde PHP'ye benzer arka uçta html oluşturma yapabilir. Sigara farkı.
TomTom

@TomTom doğru, bu noktayı kaldırdım
Frank Hopkins
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.