¿Por qué PHP sobre C # para PBBG? [cerrado]

10

Soy un desarrollador de C # y quería comenzar un proyecto de pasatiempo creando un juego persistente basado en navegador (PBBG). Trabajo con C #, MSSQL y Angular y pensé que también usaría esas técnicas para mi proyecto de hobby.

Cuando comencé a buscar qué hacer y qué no hacer y consejos, me di cuenta de que muchos proyectos usan PHP y en realidad no he encontrado ningún PBBG con C #, lo que me parece realmente extraño. Parece que la pila con la que estoy trabajando (C #, MSSQL, Angular) podría adaptarse a un PBBG.

La única razón por la que puedo pensar en C # no se usa es el alto precio de Visual Studio y el hecho de que no era de código abierto.

¿Hay alguna otra razón, o simplemente soy malo para encontrar proyectos que usan C #? ¿O puede ser que soy malo en mi trabajo y no me doy cuenta de que esta pila no es buena para PBBG?

Kurus
fuente
3
También las respuestas estarán basadas en opiniones. A algunas personas simplemente no les gusta C #.
Almo
66
@Almo Y otras personas (como yo) detestan PHP. Sin embargo, creo que pude escribir una respuesta neutral y útil.
Philipp
Creo que la edad será uno de los factores que contribuyen aquí. PHP es mucho más antiguo y está más arraigado que C #.
Pharap
44
"El alto precio de Visual Studio" - Edición comunitaria 2017: 0. MUY fuerte.
TomTom
1
¿Qué quiere decir con "precio considerable de Visual Studio"? Ha sido gratis por un tiempo.
user1306322

Respuestas:

16

PHP tiene la ventaja de que es ampliamente compatible con servidores web baratos. Puede alquilar un espacio web de alojamiento compartido LAMP (Linux, Apache, MySQL, PHP) para cacahuetes. Y ese espacio web también puede alojar su sitio web y el cliente del juego. La configuración de la mayoría de las aplicaciones PHP es igualmente fácil. Simplemente copie los archivos al servidor web y ya está. Esto hace que sea muy fácil y conveniente ejecutar un servidor de pruebas.

El servidor de juegos AC #, por otro lado, puede ser más complicado. Debe alquilar un servidor de raíces real, que es más costoso y requiere mucho más trabajo y conocimientos para configurarlo y mantenerlo adecuadamente. No escribió si C # significa una aplicación ASP.NET que se ejecuta en un servidor web (una solución bastante sencilla para un PBBG si me pregunta) o una aplicación independiente C # que se ejecuta como un proceso separado (un poco poco ortodoxo, pero podría funcionar bastante bien si tienes un juego más orientado a la acción). Si te refieres a lo último, también necesitas instalar o alquilar un servidor web para alojar tu sitio web y las partes del juego del lado del cliente.

Esa sobrecarga adicional puede ser una barrera para la mayoría de los desarrolladores de pasatiempos, lo que puede ser una buena razón para elegir PHP. Pero cuando un aficionado tiene éxito con su juego y decide hacerlo profesionalmente, ya tiene su base de código existente y ciertamente no comenzará desde cero. Por lo tanto, mantendrán su pila de tecnología LAMP a pesar de que sus preocupaciones iniciales para elegirla ya no son válidas (cuando ejecuta una operación seria en una pila LAMP, tarde o temprano llegará a un punto en el que el alojamiento compartido ya no es suficiente y necesitas tus propios servidores).

Pero recuerde que si observa el costo total del proyecto de desarrollar un PBBG, generalmente notará que los costos de alojamiento y administración del servidor durante la fase de desarrollo son solo una pequeña fracción del presupuesto de desarrollo.

Por lo que su decisión que la tecnología para su uso debe ser impulsada por la tecnología, que permite que permite crear el mejor juego en el menor tiempo posible. Elegir las mejores herramientas que el dinero puede comprar (lo mejor para usted y su proyecto ) no le cuesta dinero, le ahorra dinero.

Philipp
fuente
77
Un servidor raíz no es esencialmente necesario para las aplicaciones web C #. Ver Microsoft Azure por ejemplo.
Michael Pittino
11
Con Visual Studio Code y / o Visual Studio Community, el costo de entrada para las herramientas ciertamente ya no es una barrera para C #.
0xFF
1
@Erik Por otro lado, si usas herramientas de baja calidad, podrías tardar más en darte cuenta de que tu idea de juego no funciona, por lo que pierdes más mano de obra humana. Peor aún: después de 100 horas, es posible que se dé cuenta de que su juego no se puede hacer con las herramientas inferiores que ha elegido, pero que funcionaría con herramientas más caras que luego tendría que comprar de todos modos (estado allí).
Philipp
2
@TylerH Cierto, aunque dado que el compilador de C # en sí mismo es gratuito (al menos desde Roslyn), me pregunto dónde dibujan la línea.
0xFF
44
Y, de hecho, desde la página web de VisualStudio para la edición Community: "Cualquier desarrollador individual puede usar Visual Studio Community para crear sus propias aplicaciones gratuitas o de pago".
0xFF
5

Las otras respuestas son correctas, pero hay un factor histórico que no se ha mencionado.

Cuando comencé a buscar qué hacer y qué no hacer y consejos, me di cuenta de que muchos proyectos usan PHP y en realidad no he encontrado ningún PBBG usando C #, lo que me parece realmente extraño.

Hasta hace un par de años, había una comunidad de desarrollo de PBBG que existía principalmente en dos foros: BBGameZone y MakeWebGames, ambos predominantemente llenos de programadores PHP. Los recién llegados que no sabían cómo hacer un juego fueron señalados a los increíbles tutoriales en BuildingBrowserGames.com, todo en PHP. El término "PBBG" proviene principalmente de juegos hechos por personas conectadas a estos dos foros, hubo un esfuerzo por popularizar el término para que el género tuviera un nombre reconocible que los jugadores pudieran buscar y, con suerte, ralentizar el declive del género, no es de extrañar si solo obtienes PHP cuando buscas el término.

Parece que la pila con la que estoy trabajando (C #, MSSQL, Angular) podría adaptarse a un PBBG.

La única razón por la que puedo pensar en C # no se usa es el alto precio de Visual Studio y el hecho de que no era de código abierto.

Creo que estás 100% bien para seguir usando C #, MSSQL y Angular. Encontrará que la mayoría de los motores PHP están desactualizados PHP4 o PHP5.

La gente de BBGameZone estaba en su mayoría en contra del uso de motores (todos escribían su propio motor, incluyéndome a mí) Hubo un esfuerzo por parte de la gente de MakeWebGames para instalar nuevos motores PHP (McCodes era su motor principal y NWE (New Worlds Engine) siendo considerado como el probable nuevo que estaba a mitad de camino)

Aquí hay un documento de Google con una comparación de motores de hace unos años, que compara McCode / NWE / ezRPG / GL Script: https://docs.google.com/spreadsheets/d/1WM3axFhYaAtjiKd1KRwibx9jEegwjwCJNhQmXP_jzss/pub&ght=html=trub>==03

Se han realizado esfuerzos en el pasado para volver a unir a la antigua comunidad, pero hasta ahora no hubo mucha suerte: https://www.reddit.com/r/PBBG/comments/6r34vi/announcing_pbbgsite/


Creo que estarás 100% bien en el futuro usando un C #, MSSQL, una pila angular, solo recuerda que probablemente eres la primera persona que escribe un PBBG con tu cadena de herramientas y tendrás que crear todo tú mismo sin ningún ejemplo anterior. recordar.

Solo recuerda que el género está muriendo en este momento, pero todo lo que necesita es uno o dos juegos populares para revivirse, si crees que puedes hacerlo en C #, te apoyaré.

IKM
fuente
1
  • Los juegos basados ​​en el navegador aumentaron en un momento en que C # no era muy popular, pero PHP sí. Se realizan tantos proyectos en esos idiomas, se escribieron muchos tutoriales para ese idioma y muchos expertos en dichos juegos han adoptado PHP como su idioma principal y, por lo tanto, lo eligen por defecto,
  • PHP es visto como un lenguaje que se escala fácilmente de aplicaciones pequeñas a medianas, mientras que C # (y Java) a menudo se ven como lenguajes comparativamente pesados ​​adecuados para aplicaciones de grandes empresas; la mayoría de los PBBG se incluirían en la categoría de proyectos pequeños a medianos (al menos inicialmente / el concepto del juego central sin código acumulado).
  • Los servidores LAMP eran fáciles de tener, muchos desarrolladores de pasatiempos simplemente tenían uno de todos modos, los servidores C # eran más caros; esto todavía se mantiene hasta cierto punto, pero ya no es tan fuerte
  • PHP puede sentir que se adapta mejor al trabajo: está diseñado para responder a una llamada web con contenido / datos basados ​​en HTML, exactamente lo que necesita para el backend de un juego de navegador (dependiendo del nivel de fantasía); C # también puede hacer eso, pero puede sentirse más hinchado (o poderoso),
  • fue y probablemente sea más fácil obtener programadores PHP baratos que programadores C # baratos, esto coincide con que PHP es fácil de "ingresar", por lo que a menudo es el lenguaje Goto para poner rápidamente en funcionamiento un "sitio web básico" (y luego simplemente extienda ese prototipo en lugar de reconsiderar su tecnología a largo plazo y reemplazarla)
  • los juegos son a menudo tiros rápidos, desarrollados, probados públicamente, luego exitosos o descartados; de nuevo, esto se relaciona con la imagen de PHP para ser comparativamente bueno para que algo funcione rápidamente

Resumen de opinión: si no conoce ningún lenguaje (adecuado) (lo suficientemente bien), supongo que obtiene "algo" y funciona más rápido con PHP. Pero si ya conoce un lenguaje adecuado como C # y cómo configurar un servidor / backend con él, esto no se aplicará (a menos que desee utilizar un motor en particular en ese idioma). Esta ventaja de creación de prototipos de PHP también puede ser inexistente cuanto más complejo / completo sea tu juego.

Frank Hopkins
fuente
2
"con PHP solo necesitas un lenguaje (y HTML) para que el juego básico funcione" - Lo mismo con C #. El aumento de Javascript / Angular es el mismo en ambos: ejecutar la aplicación en el navegador. Pero asp.net puede hacer felizmente la generación de HTML en el backend similar a PHP. No diferencia
TomTom
@TomTom cierto, eliminé ese punto
Frank Hopkins,