ทำไมต้อง PHP มากกว่า C # สำหรับ PBBG [ปิด]


10

ฉันเป็นผู้พัฒนา C # และต้องการเริ่มโครงการงานอดิเรกเพื่อสร้างเกมที่ใช้เบราว์เซอร์แบบถาวร (PBBG) ฉันทำงานกับ C #, MSSQL และ Angular และคิดว่าฉันจะใช้เทคนิคเหล่านั้นสำหรับโครงการงานอดิเรกของฉันเช่นกัน

เมื่อฉันเริ่มค้นหาสิ่งที่ต้องทำและบริจาคและเคล็ดลับฉันรู้ว่ามีโครงการจำนวนมากที่ใช้ PHP และฉันไม่พบ PBBG ที่ใช้ C # ซึ่งจริง ๆ แล้วฉันรู้สึกแปลกใจจริงๆ ดูเหมือนว่าสแต็กที่ฉันทำงานด้วย (C #, MSSQL, Angular) สามารถเหมาะกับ PBBG ได้

เหตุผลเดียวที่ฉันนึกถึง C # ที่ไม่ได้ใช้งานก็คือราคาอันมหาศาลของ Visual Studio และความจริงที่ว่ามันไม่ใช่โอเพ่นซอร์ส

มีเหตุผลอื่นหรือฉันแค่แย่ที่หาโครงการที่ใช้ C #? หรือเป็นไปได้ไหมที่ฉันไม่ดีที่งานของฉันและไม่ทราบว่าสแต็กนี้ไม่ดีสำหรับ PBBG?


3
คำตอบจะเป็นไปตามความคิดเห็นด้วย บางคนไม่ชอบ C #
Almo

6
@Almo และคนอื่น ๆ (เช่นฉัน) เกลียดชัง PHP แต่ฉันคิดว่าฉันสามารถเขียนคำตอบที่เป็นกลางและเป็นประโยชน์ได้
ฟิลิปป์

ฉันคิดว่าคุณจะพบว่าอายุเป็นปัจจัยหนึ่งที่ทำให้เกิดที่นี่ PHP นั้นแก่กว่าและฝังลึกกว่า C # มาก
Pharap

4
"ราคาที่ยิ่งใหญ่ของ Visual Studio" - 2017 Community Edition: 0. หนักมาก
TomTom

1
คุณหมายถึงอะไรโดย "ราคาที่สูงของ Visual Studio" ได้ฟรีมาระยะหนึ่งแล้ว
user1306322

คำตอบ:


16

PHP มีข้อได้เปรียบที่ได้รับการสนับสนุนอย่างกว้างขวางจาก webhosters ราคาถูก คุณสามารถเช่าพื้นที่เว็บ LAMP (Linux, Apache, MySQL, PHP) สำหรับถั่วลิสงได้ และพื้นที่เว็บนั้นยังสามารถโฮสต์เว็บไซต์และไคลเอนต์เกมของคุณได้ การตั้งค่าแอพพลิเคชั่น PHP ส่วนใหญ่นั้นง่ายพอ ๆ กัน เพียงแค่คัดลอกไฟล์ไปยังเว็บเซิร์ฟเวอร์และคุณทำเสร็จแล้ว สิ่งนี้ทำให้ง่ายและสะดวกในการเรียกใช้เซิร์ฟเวอร์ทดสอบ

ในทางกลับกันเซิร์ฟเวอร์เกม AC # อาจมีความซับซ้อนมากกว่า คุณต้องเช่าเซิร์ฟเวอร์ที่แท้จริงซึ่งมีราคาแพงกว่าและต้องการงานและความรู้ในการติดตั้งและบำรุงรักษาที่เหมาะสม คุณไม่ได้เขียนว่า C # หมายถึงแอปพลิเคชัน ASP.NET ที่ทำงานบนเว็บเซิร์ฟเวอร์ (เป็นโซลูชั่นที่ค่อนข้างตรงไปตรงมาสำหรับ PBBG ถ้าคุณถามฉัน) หรือแอปพลิเคชัน C # แบบสแตนด์อโลนที่ทำงานเป็นกระบวนการแยกต่างหาก ค่อนข้างดีถ้าคุณมีเกมแนวแอ็คชั่นมากกว่านี้) ถ้าคุณหมายถึงหลังคุณยังจำเป็นต้องติดตั้งหรือให้เช่าเว็บเซิร์ฟเวอร์สำหรับการโฮสต์เว็บไซต์และในส่วนของลูกค้าด้านของเกมของคุณ

ค่าใช้จ่ายเพิ่มเติมนั้นอาจเป็นอุปสรรคสำหรับนักพัฒนางานอดิเรกส่วนใหญ่ซึ่งอาจเป็นเหตุผลที่ดีในการเลือก PHP แต่เมื่อผู้เล่นอดิเรกประสบความสำเร็จกับเกมของพวกเขาและตัดสินใจที่จะทำสิ่งนี้อย่างมืออาชีพพวกเขามี codebase ที่มีอยู่แล้วและแน่นอนว่าจะไม่เริ่มต้นจากศูนย์ ดังนั้นพวกเขาจะเก็บเทคโนโลยีสแต็คของ LAMP ไว้แม้ว่าความกังวลเริ่มแรกของพวกเขาสำหรับการเลือกมันจะไม่ถูกต้องอีกต่อไป (เมื่อคุณกำลังดำเนินการอย่างจริงจังกับสแต็คของ LAMP คุณจะไม่ช้าก็เร็ว คุณต้องการเซิร์ฟเวอร์ของคุณเอง)

แต่จำไว้ว่าถ้าคุณดูต้นทุนโครงการโดยรวมในการพัฒนา PBBG คุณจะสังเกตเห็นว่าค่าใช้จ่ายสำหรับการโฮสต์เซิร์ฟเวอร์และการดูแลระบบในช่วงการพัฒนาเป็นเพียงส่วนเล็กน้อยของงบประมาณการพัฒนา

ดังนั้นการตัดสินใจของคุณว่าจะใช้เทคโนโลยีใดควรขับเคลื่อนด้วยเทคโนโลยีที่ช่วยให้คุณสร้างเกมที่ดีที่สุดในเวลาน้อยที่สุด การเลือกเครื่องมือที่ดีที่สุดที่เงินสามารถซื้อ (ดีที่สุดสำหรับคุณและโครงการของคุณ ) ไม่เสียค่าใช้จ่ายเงินมันช่วยให้คุณประหยัดเงิน


7
rooterver นั้นไม่จำเป็นสำหรับเว็บแอ็พพลิเคชัน C # ดู Microsoft Azure เช่น
Michael Pittino

11
ด้วยรหัส Visual Studio และ / หรือ Visual Studio Community ค่าใช้จ่ายในการเข้าใช้เครื่องมือจะไม่เป็นอุปสรรคอีกต่อไปสำหรับ C #
0xFF

1
@Erik ในทางกลับกันถ้าคุณใช้เครื่องมือย่อยคุณอาจต้องใช้เวลานานกว่าจะรู้ว่าความคิดเกมของคุณไม่ทำงานดังนั้นคุณจะสูญเสียแรงงานมนุษย์มากขึ้น ยิ่งแย่ไปกว่า: คุณอาจรู้ว่าหลังจาก 100 ชั่วโมงที่เกมของคุณไม่สามารถสร้างด้วยเครื่องมือย่อยที่คุณเลือก แต่จะทำงานกับเครื่องมือที่มีราคาแพงกว่าซึ่งคุณจะต้องซื้อต่อไป
ฟิลิปป์

2
@TylerH True แต่เนื่องจากคอมไพเลอร์ C # นั้นฟรี (อย่างน้อยก็ตั้งแต่ Roslyn) ฉันสงสัยว่าพวกเขาจะลากเส้นที่ไหน
0xFF

4
และที่จริงแล้วจากหน้าเว็บของ VisualStudio สำหรับรุ่นชุมชน: "นักพัฒนารายใดก็ตามสามารถใช้ Visual Studio Community เพื่อสร้างแอปฟรีหรือจ่ายเอง"
0xFF

5

คำตอบอื่น ๆ นั้นถูกต้อง แต่มีปัจจัยทางประวัติศาสตร์ที่ไม่ได้กล่าวถึง

เมื่อฉันเริ่มค้นหาสิ่งที่ต้องทำและ donts และเคล็ดลับฉันรู้ว่ามีโครงการจำนวนมากที่ใช้ PHP และฉันไม่พบ PBBG ที่ใช้ C # ซึ่งฉันรู้สึกแปลก ๆ

จนกระทั่งเมื่อสองสามปีก่อนมีชุมชนการพัฒนา PBBG ที่ส่วนใหญ่มีอยู่ในสองฟอรัม: BBGameZone และ MakeWebGames ซึ่งเต็มไปด้วยโปรแกรมเมอร์ PHP ผู้เล่นใหม่ที่ไม่รู้ว่าจะสร้างเกมอย่างไรนั้นชี้ไปที่บทช่วยสอนที่น่าประทับใจที่ BuildingBrowserGames.com ซึ่งเป็นภาษา PHP ทั้งหมด คำว่า "PBBG" ส่วนใหญ่มาจากเกมที่ทำโดยคนที่เชื่อมต่อกับฟอรั่มทั้งสองนี้มีความพยายามที่จะทำให้เป็นที่นิยมในระยะนี้เพื่อให้ประเภทนั้นมีชื่อที่จดจำได้ซึ่งผู้เล่นสามารถค้นหาและหวังว่า ไม่น่าแปลกใจหากคุณได้รับ PHP เมื่อคุณค้นหาคำศัพท์เท่านั้น

ดูเหมือนว่าสแต็ค Im ที่ทำงานกับ (C #, MSSQL, Angular) อาจเหมาะกับ PBBG

เหตุผลเดียวที่ฉันนึกถึง C # ที่ไม่ได้ใช้งานก็คือราคาอันมหาศาลของ Visual Studio และความจริงที่ว่ามันไม่ใช่โอเพ่นซอร์ส

ฉันคิดว่าคุณโอเค 100% ในการใช้ C #, MSSQL และ Angular คุณจะพบว่าเครื่องยนต์ PHP ส่วนใหญ่นั้นล้าสมัย PHP4 หรือ PHP5

คน BBGameZone ส่วนใหญ่ต่อต้านการใช้เครื่องมือ (ทุกคนเขียนเครื่องยนต์ของตัวเองรวมถึงฉัน) มีความพยายามที่ทำให้คน MakeWebGames ได้รับเครื่องมือ PHP ใหม่ (McCodes เป็นเครื่องมือหลักเก่าของพวกเขาและ NWE (New Worlds Engine) ใหม่ที่น่าจะเป็นครึ่งทาง)

นี่คือเอกสารของ Google ที่มีการเปรียบเทียบเครื่องยนต์เมื่อไม่กี่ปีที่ผ่านมาเปรียบเทียบสคริปต์ของ McCode / NWE / ezRPG / GL: https://docs.google.com/spreadsheets/d/1WM3axFhYaAtjiKd1KRwibx9jEegwjwCJNhQmXP_jzss/pub????==&&&&&&& รวมทั้งสคริปต์

มีความพยายามที่ผ่านมาในการทำให้ชุมชนเก่ากลับมารวมกัน แต่โชคไม่ดีเท่านี้: https://www.reddit.com/r/PBBG/comments/6r34vi/announcing_pbbgsite/


ฉันคิดว่าคุณจะโอเค 100% ในการใช้ C #, MSSQL, Angular stack เพียงจำไว้ว่าคุณอาจเป็นคนแรกที่เขียน PBBG ด้วย toolchain ของคุณและคุณจะต้องสร้างทุกอย่างด้วยตัวเองโดยไม่มีตัวอย่างใด ๆ มองย้อนกลับไป

เพิ่งทราบว่าประเภทกำลังจะตายในขณะนี้ แต่สิ่งที่มันต้องการคือหนึ่งหรือสองเกมยอดนิยมเพื่อฟื้นฟูตัวเองถ้าคุณคิดว่าคุณสามารถทำได้ใน C # ฉันจะหยั่งรากสำหรับคุณ


1
  • เกมที่ใช้เบราว์เซอร์เพิ่มขึ้นในเวลาที่ C # ไม่ได้รับความนิยมมาก แต่ PHP เป็น มีหลายโครงการที่ทำในภาษานั้นบทเรียนจำนวนมากถูกเขียนขึ้นสำหรับภาษานั้นและผู้เชี่ยวชาญจำนวนมากในเกมดังกล่าวได้ใช้ PHP เป็นภาษาหลักของพวกเขาและเลือกเป็นค่าเริ่มต้น
  • PHP ถูกมองว่าเป็นภาษาที่ปรับขนาดได้อย่างง่ายดายจากแอปพลิเคชันขนาดเล็กถึงขนาดกลางในขณะที่ C # (และ Java) มักถูกมองว่าเป็นภาษาที่มีน้ำหนักค่อนข้างมากซึ่งเหมาะสำหรับการใช้งานทางธุรกิจขนาดใหญ่ PBBG ส่วนใหญ่จะตกอยู่ในประเภทโครงการขนาดเล็กถึงขนาดกลาง (อย่างน้อยที่สุดในตอนแรก / แนวคิดเกมหลักโดยไม่ต้องมีรหัสถังขยะสะสม)
  • เซิร์ฟเวอร์ LAMP นั้นใช้งานง่ายมี devs งานอดิเรกมากมายแค่มีอยู่แล้วเซิร์ฟเวอร์ C # นั้นมีราคาแพงกว่า สิ่งนี้ยังคงอยู่ในระดับหนึ่ง แต่ก็ไม่เป็นเช่นนั้นอีกต่อไป
  • PHP อาจรู้สึกว่าเหมาะกับงานที่ดีกว่า: มันถูกออกแบบมาเพื่อตอบสนองต่อการโทรผ่านเว็บด้วยเนื้อหา / ข้อมูลที่ใช้ HTML ซึ่งเป็นสิ่งที่คุณต้องการสำหรับแบ็กเอนด์ของเกมเบราว์เซอร์ (ขึ้นอยู่กับระดับความเพ้อฝัน) C # สามารถทำเช่นนั้นได้ แต่อาจรู้สึกป่องมากขึ้น (หรือทรงพลัง)
  • มันเป็นและอาจจะง่ายกว่าที่จะได้โปรแกรมเมอร์ PHP ราคาถูกกว่าโปรแกรมเมอร์ C # ราคาถูกซึ่งสอดคล้องกับ PHP ที่ง่ายต่อการ "เข้าสู่" ดังนั้นบ่อยครั้งที่ภาษา goto จะได้รับ "เว็บไซต์ thingy" พื้นฐานบางอย่างได้อย่างรวดเร็ว ขยายต้นแบบนั้นแทนการพิจารณาเทคโนโลยีของคุณในระยะยาวและแทนที่มัน)
  • เกมมักจะเป็นช็อตอย่างรวดเร็วพัฒนาทดสอบแบบสาธารณะแล้วจะประสบความสำเร็จหรือถูกยกเลิก อีกครั้งความสัมพันธ์นี้กับภาพของ PHP จะค่อนข้างดีที่จะได้รับสิ่งที่ทำงานได้อย่างรวดเร็ว

สรุปความเห็น: หากคุณไม่รู้ภาษาใด ๆ (เหมาะสม) (ดีพอ) ฉันจะสมมติว่าคุณได้ "บางสิ่ง" และใช้งานได้เร็วขึ้นด้วย PHP แต่ถ้าคุณรู้ภาษาที่เหมาะสมเช่น C # และวิธีตั้งค่าเซิร์ฟเวอร์ / แบ็กเอนด์ด้วยภาษานี้จะไม่ใช้ (ยกเว้นว่าคุณต้องการใช้เครื่องมือเฉพาะในภาษานั้น) ข้อได้เปรียบในการสร้างต้นแบบของ PHP นั้นอาจไม่มีอยู่จริงเกมของคุณจะมีความซับซ้อนมากขึ้น


2
"ด้วย PHP คุณต้องการเพียงหนึ่งภาษา (และ HTML) เพื่อให้เกมพื้นฐานดำเนินต่อไป" - เหมือนกับ C # การเพิ่มขึ้นของ Javascript / Angular นั้นเหมือนกันทั้งคู่ - การเรียกใช้แอปในเบราว์เซอร์ แต่ asp.net สามารถสร้าง html บนแบ็กเอนด์คล้ายกับ PHP ได้อย่างมีความสุข แบบไม่แตกต่างกัน
TomTom

@TomTom จริงฉันลบจุดนั้น
Frank Hopkins
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.