Tại sao PHP hơn C # cho PBBG? [đóng cửa]


10

Tôi là một nhà phát triển C # và muốn bắt đầu một dự án sở thích xây dựng một trò chơi dựa trên trình duyệt bền bỉ (PBBG). Tôi làm việc với C #, MSSQL và Angular và nghĩ rằng tôi cũng sẽ sử dụng những kỹ thuật đó cho dự án sở thích của mình.

Khi tôi bắt đầu tìm kiếm làm và không và lời khuyên, tôi nhận ra rằng rất nhiều dự án sử dụng PHP và tôi thực sự không tìm thấy bất kỳ PBBG nào sử dụng C #, điều mà tôi thấy thực sự lạ. Có vẻ như ngăn xếp mà tôi đang làm việc với (C #, MSSQL, Angular) có thể phù hợp với PBBG.

Lý do duy nhất tôi có thể nghĩ về việc C # không được sử dụng là mức giá quá đắt của Visual Studio và thực tế là nó không phải là nguồn mở.

Có bất kỳ lý do nào khác, hoặc tôi chỉ tệ trong việc tìm kiếm các dự án sử dụng C #? Hoặc có thể là tôi chỉ tệ trong công việc của mình và không nhận ra rằng ngăn xếp này không tốt cho PBBG?


3
Ngoài ra câu trả lời sẽ dựa trên ý kiến. Một số người không thích C #.
Almo

6
@ Almo Và những người khác (như tôi) ghét PHP. Nhưng tôi nghĩ rằng tôi đã có thể viết một câu trả lời trung lập và hữu ích.
Philipp

Tôi nghĩ bạn sẽ thấy tuổi tác là một trong những yếu tố góp phần ở đây. PHP cũ hơn nhiều và ăn sâu hơn C #.
Pharap

4
"mức giá quá đắt của Visual Studio" - Phiên bản cộng đồng 2017: 0. RẤT HẤP DẪN.
TomTom

1
Bạn có ý nghĩa gì bởi "giá quá đắt của Visual Studio"? Nó được miễn phí trong một thời gian.
dùng1306322

Câu trả lời:


16

PHP có lợi thế là nó được hỗ trợ rất rộng rãi bởi các webhosters giá rẻ. Bạn có thể thuê một số không gian web LAMP (Linux, Apache, MySQL, PHP) lưu trữ chia sẻ cho đậu phộng. Và không gian web đó cũng có thể lưu trữ trang web của bạn và ứng dụng khách trò chơi. Việc thiết lập hầu hết các ứng dụng PHP đều dễ dàng như nhau. Chỉ cần sao chép các tập tin vào máy chủ web và bạn đã hoàn tất. Điều này làm cho nó rất dễ dàng và thuận tiện để chạy thử nghiệm.

AC # gameserver, mặt khác, có thể phức tạp hơn. Bạn cần phải thuê một máy chủ gốc thực sự, tốn kém hơn và đòi hỏi nhiều công việc và bí quyết hơn để thiết lập và bảo trì đúng cách. Bạn đã không viết nếu C # có nghĩa là một ứng dụng ASP.NET chạy trên máy chủ web (một giải pháp khá đơn giản cho PBBG nếu bạn hỏi tôi) hoặc một ứng dụng độc lập C # chạy như một quy trình riêng biệt (một chút không chính thống, nhưng có thể hoạt động khá tốt nếu bạn có một game thiên về hành động hơn). Nếu bạn muốn nói đến cái sau, bạn cũng cần cài đặt hoặc thuê một máy chủ web để lưu trữ trang web của bạn và các bộ phận khách hàng trong trò chơi của bạn.

Chi phí bổ sung đó có thể là một rào cản đối với hầu hết các nhà phát triển sở thích, đó có thể là một lý do tốt để chọn PHP. Nhưng khi một người có sở thích thành công với trò chơi của họ và quyết định thực hiện điều này một cách chuyên nghiệp, họ đã có cơ sở mã hiện tại và chắc chắn sẽ không bắt đầu lại từ đầu. Vì vậy, họ sẽ giữ ngăn xếp công nghệ LAMP của họ ngay cả khi những lo ngại ban đầu của họ về việc chọn nó không còn hiệu lực nữa (khi bạn đang thực hiện một hoạt động nghiêm túc trên ngăn xếp LAMP, bạn sẽ sớm đạt được một điểm mà lưu trữ chia sẻ không cắt nữa và bạn cần máy chủ của riêng bạn).

Nhưng hãy nhớ rằng nếu bạn nhìn vào tổng chi phí dự án để phát triển PBBG, thì bạn sẽ thường nhận thấy rằng chi phí cho việc lưu trữ và quản trị máy chủ trong giai đoạn phát triển chỉ là một phần rất nhỏ trong ngân sách phát triển.

Vì vậy, quyết định của bạn nên sử dụng công nghệ nào sẽ được điều khiển bởi công nghệ nào cho phép bạn tạo ra trò chơi hay nhất trong ít thời gian nhất. Chọn những công cụ tốt nhất mà tiền có thể mua (tốt nhất cho bạn và dự án của bạn ) không làm bạn mất tiền, nó giúp bạn tiết kiệm tiền.


7
Một máy chủ gốc không cần thiết cho các ứng dụng web C #. Xem Microsoft Azure chẳng hạn.
Michael Pittino

11
Với Visual Studio Code và / hoặc Visual Studio Community, chi phí nhập cho các công cụ chắc chắn không còn là rào cản nữa đối với C #.
0xFF

1
@Erik Mặt khác, nếu bạn sử dụng các công cụ phụ, bạn có thể mất nhiều thời gian hơn để nhận ra rằng ý tưởng trò chơi của bạn không hoạt động, do đó bạn sẽ mất nhiều lao động của con người hơn. Thậm chí tệ hơn: Bạn có thể nhận ra sau 100 giờ rằng trò chơi của bạn không thể được tạo bằng các công cụ phụ mà bạn đã chọn nhưng sẽ hoạt động với các công cụ đắt tiền hơn mà sau đó bạn sẽ phải mua (ở đó).
Philipp

2
@TylerH Đúng, mặc dù vì trình biên dịch C # là miễn phí (ít nhất là từ Roslyn) Tôi tự hỏi họ vẽ đường này ở đâu.
0xFF

4
Và trên thực tế, từ trang web riêng của VisualStudio cho phiên bản Cộng đồng: "Bất kỳ nhà phát triển cá nhân nào cũng có thể sử dụng Cộng đồng Visual Studio để tạo các ứng dụng miễn phí hoặc trả phí của riêng họ".
0xFF

5

Các câu trả lời khác là đúng, nhưng có một yếu tố lịch sử chưa được đề cập.

Khi tôi bắt đầu tìm kiếm làm và không và lời khuyên, tôi nhận ra rằng rất nhiều dự án sử dụng PHP và tôi thực sự không tìm thấy bất kỳ PBBG nào sử dụng C # mà tôi thấy thực sự lạ.

Cho đến vài năm trước, có một cộng đồng phát triển PBBG chủ yếu tồn tại trên hai diễn đàn: BBGameZone và MakeWebGames, cả hai đều chứa đầy các lập trình viên PHP. Những người mới không biết cách tạo trò chơi đã được chỉ ra các hướng dẫn tuyệt vời tại BuildingBrowserGames.com, tất cả đều có trong PHP. Thuật ngữ "PBBG" chủ yếu xuất phát từ các trò chơi được tạo bởi những người kết nối với hai diễn đàn này, đã có một nỗ lực phổ biến thuật ngữ này để thể loại này có một cái tên dễ nhận biết mà người chơi có thể tìm kiếm và hy vọng làm chậm sự suy giảm của thể loại này, không có gì lạ nếu bạn chỉ nhận được PHP khi bạn tìm kiếm cụm từ.

Có vẻ như ngăn xếp Im làm việc với (C #, MSSQL, Angular) có thể phù hợp với PBBG.

Lý do duy nhất tôi có thể nghĩ về việc C # không được sử dụng là mức giá quá đắt của Visual Studio và thực tế là nó không phải là nguồn mở.

Tôi nghĩ rằng bạn sẽ ổn 100% khi tiếp tục sử dụng C #, MSSQL và Angular. Bạn sẽ thấy rằng hầu hết các công cụ PHP đã lỗi thời PHP4 hoặc PHP5.

Mọi người BBGameZone chủ yếu chống lại việc sử dụng các công cụ (mọi người đều viết công cụ riêng của họ, bao gồm cả tôi) Có những nỗ lực của người MakeWebGames để đưa các công cụ PHP mới vào (McCodes là công cụ cũ chính của họ và Công cụ Thế giới Mới) được coi là như một cái mới có thể xảy ra được một nửa

Đây là một tài liệu Google với một so sánh công cụ từ một vài năm trước, so sánh McCode / NWE / ezRPG / GL Script: https://docs.google.com.vn/s rải tờ / d / 1WM3axFhYaAtjiKd1KRwibx9jEegwjwCJNhQmXP_j

Đã có những nỗ lực trong quá khứ để đưa cộng đồng cũ trở lại với nhau, nhưng không có nhiều may mắn cho đến nay: https://www.reddit.com/r/PBBG/comments/6r34vi/announcing_pbbgsite/


Tôi nghĩ rằng bạn sẽ ổn định 100% khi sử dụng C #, MSSQL, ngăn xếp góc, chỉ cần nhớ rằng có lẽ bạn là người đầu tiên viết PBBG bằng chuỗi công cụ của bạn và bạn sẽ phải tự tạo mọi thứ mà không cần bất kỳ ví dụ nào trước đây nhìn lại.

Chỉ cần nhớ rằng thể loại này đang chết ngay bây giờ, nhưng tất cả những gì nó cần là một hoặc hai trò chơi phổ biến để tự hồi sinh, nếu bạn nghĩ bạn có thể làm điều đó trong C # tôi sẽ root cho bạn.


1
  • Các trò chơi dựa trên trình duyệt đã tăng vào thời điểm C # không phổ biến lắm, nhưng PHP thì có. Vì vậy, nhiều dự án được thực hiện bằng ngôn ngữ đó, nhiều hướng dẫn đã được viết cho ngôn ngữ đó và nhiều chuyên gia trong các trò chơi đó đã chấp nhận PHP làm ngôn ngữ chính của họ và do đó chọn nó theo mặc định,
  • PHP được xem là ngôn ngữ có khả năng mở rộng dễ dàng từ các ứng dụng cỡ nhỏ đến cỡ trung bình, trong khi C # (và Java) thường được xem là ngôn ngữ có trọng lượng tương đối nặng phù hợp cho các ứng dụng kinh doanh lớn; hầu hết PBBG sẽ rơi vào loại dự án nhỏ đến trung bình (ít nhất là ban đầu / khái niệm trò chơi cốt lõi mà không có mã rác tích lũy).
  • Máy chủ LAMP rất dễ có, nhiều nhà phát triển sở thích chỉ đơn giản là có một máy chủ, máy chủ C # đắt hơn; điều này vẫn giữ ở một mức độ nào đó nhưng không còn mạnh mẽ nữa
  • PHP có thể cảm thấy nó phù hợp với công việc hơn: nó được thiết kế để đáp ứng cuộc gọi web với nội dung / dữ liệu dựa trên HTML, chính xác là những gì bạn cần cho phần phụ trợ của trò chơi trình duyệt (tùy thuộc vào mức độ huyền ảo); C # cũng có thể làm điều đó, nhưng có thể cảm thấy cồng kềnh hơn (hoặc mạnh mẽ hơn),
  • Rất dễ dàng để có được các lập trình viên PHP giá rẻ so với các lập trình viên C # giá rẻ, điều này phù hợp với PHP rất dễ "vào" vì vậy thường là ngôn ngữ goto để nhanh chóng có được một số "trang web" cơ bản và chạy (và sau đó chỉ mở rộng nguyên mẫu đó thay vì xem xét lại công nghệ của bạn trong thời gian dài và thay thế nó)
  • trò chơi thường là những cảnh quay nhanh, được phát triển, thử nghiệm công khai, sau đó thành công hoặc bị loại bỏ; một lần nữa, điều này liên kết với hình ảnh của PHP tương đối tốt để có được một cái gì đó chạy nhanh

Tóm tắt ý kiến: Nếu bạn không biết bất kỳ ngôn ngữ (phù hợp) nào (đủ tốt), tôi sẽ cho rằng bạn nhận được "thứ gì đó" và chạy nhanh hơn với PHP. Nhưng nếu bạn đã biết một ngôn ngữ phù hợp như C # và cách thiết lập máy chủ / phụ trợ với nó, điều này sẽ không áp dụng (trừ khi bạn muốn sử dụng một công cụ cụ thể trong ngôn ngữ đó). Lợi thế tạo mẫu này của PHP cũng có thể không tồn tại khi trò chơi của bạn phức tạp hơn / phức tạp hơn.


2
"Với PHP bạn chỉ cần một ngôn ngữ (và HTML) để trò chơi cơ bản diễn ra" - Tương tự với C #. Sự gia tăng của Javascript / Angular là giống nhau ở cả hai - chạy ứng dụng trong trình duyệt. Nhưng asp.net có thể vui vẻ tạo thế hệ html trên phần phụ trợ tương tự như PHP. Không khác biệt.
TomTom

@TomTom đúng, tôi đã xóa điểm đó
Frank Hopkins
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.