Lenguaje desarrollo Juego Web

magonma

Yo y unos amigos, hemos empezando a plantearnos seriamente el desarrollo de un juego web por navegador, tipo travian, cs-manager, y similares...

Tenemos conocimientos suficientes de programacion, maquetacion y diseño, pero querría saber en vuestra opinión que lenguaje de programación sería el mas conveniente para desarrollar el juego ( asp, php, .net, java, etc... ) y si me pudierais dar alguna razón pues mejor que mejor.

También si me aconsejais en que lenguaje NO lo desarrollariais, pues también se agradecería, por que la verdad nunca nos hemos planteado un proyecto de este tipo.

Un saludo y gracias :)

Soltrac

Si no te importa q el servidor sea windows, php o asp (prefiero .net, más sencillo). Si es en linux, php por supuesto.

El lenguaje en si da igual, puedes hacer lo q te de la gana con cualquiera de ellos.

Por ponerte un ejemplo, un juego web q conozco q está desarrollado en ASP es hattrick y en PHP conozco millones, ogame quizás sea el más famoso.

r2d2rigo

Yo personalmente soy bastante reacio a ASP, pero vamos, manias propias las puede tener cualquiera (tambien es verdad que no he llegado a tocar ASP.NET, asi que no se cuanto puede haber evolucionado). Pero supongo que no llegara al nivel de PHP en cuanto a librerias y add-ons, no? ;)

SeiYa

#3 Lo que pasa es que con ASP.NET puedes hacer una web y si te sale del pie un .exe ... así a grandes rasgos, puedes tocar todo en .NET y hacer capa de datos, capa de negocio y capa de presentación y solo cambiar esta última para pasar de aplicación web a alpicación binaria o como quieras llamarla...

magonma

Antes de nada, gracias a todos por vuestras respuestas.

La principal duda, era hacerlo en PhP o en .Net... supongo que por vuestras respuesta lo hagamos utilizando Php, Flash, Ajax, Jquey y MySql...

El tema de crear un .exe, no lo veo del todo util... ya que como he dicho será un juego por navegador.

Soltrac

#5 no no, lo q el quiere decir q transformar una aplicación web con .net a una aplicación .exe es muy sencillo.

G

En mi opinion:

  • Si lo vas a montar en windows es decir ( Windows Small bussiness de server o un XP Professional, IIS, ASP.NET, MSSQL Server,MySQL), te vas a dejar una pasta en licencias. Claro está haciendolo legal...

  • Si lo vas a montar en linux, (Una distribucion Debian p.ej pero para gustos colores...),PHP 5 (Orientado a objetos o estructurada), Apache 2,(aunque me fio mas de la 1), MySql o Postgresql. Esto es más económico.

No lo programaria en Java, ya que un proyecto tan "ambicioso" lo haría un poco <<lentorro>>, eso si iria hasta en una tostadora...

P.D: Buscar proyectos Open Source que esten acabados o en proceso y echarle un vistazo al codigo para haceros una idea. Espero que te haya servido de ayuda el tostón ;)

PiradoIV

Lo mires como lo mires, PHP te va a salir más barato en cuanto a servidores de refiere (alrededor de 60€/año de ahorro en hostings compartidos, mucho más ahorro en servidores dedicados y según qué compañía).

Te daría más razones, pero todas serían desde el punto de vista de un forofo de PHP =)

¡Saludotes!,
Pirado IV estuvo akí ;)

cabron

Bueno, por ahí te han comentado el tema económico, usar algunas tecnologías te va a salir más caro que otras, pero dejando eso a parte, lo que te tienes que preguntar es donde se realiza la mayor parte de proceso, si en el servidor, o en el cliente interactuando con la interfaz.

Si la mayoría se hace en el servidor, usa ASP .NET, y si la mayoría se hace en el cliente, usa Flash.

¿Por que flash y no JavaScript más Ajax?

Con flash lo harás todo más rápido y terminarás antes.

¿Por qué ASP y no php?

Pues por lo mismo.

elhamo

El motor en C# por ejemplo (fácil de usar y si el servidor es Windows el código generado >> que Bytecodes).

PHP supone tener que interpretarlo cada vez y es más jodido de distribuir el procesamiento.

Imagina un Web Service de .NET, al que le pasas unas coordenadas y te devuelve lo que sea (siempre va a hacer esto y tardará mucho menos que tener todo un entramado mucho más complejo y difícil de ampliar, caso del PHP).

A la larga siempre te va a costar menos hacerlo en C# porque es OO y un juego de estas características en mi opinión es más sencillo de implementar de esta forma.

Mucho más modular.

PHP también es OO peeero ya he comentado lo de que sea interpretado.

BD podrás usar la que quieras, yo te recomiendo postgres o mysql.

Es que incluso puedes tener cada cosa en una máquina y demás, ofrecer una interfaz en un servidor y hacer las peticiones de procesamiento a otro (que a su vez consulta la BD de otro p.e.).

Pero bueno, piensa en algo sencillo y orientalo a ser ampliado si triunfa, un mal diseño hará que tengas que rehacer mucho trabajo en caso de migrar a un entorno distribuido.

Un saludo

Kaos

Yo estoy liado con un juego como el q comentáis, lo llevo solo... y mi opinión es q lo mejor es PHP.

Pq? pues a mi forma de verlo, es lo más versatil.

1) Hosting: Más barato y más faciles de encontrar para hacer luego comparativas más amplias, un juego sopla muchíiiiiiiiiiiiiiisimo ancho de banda, es algo muy a considerar.

2) Hay una comunidad, a mi parecer, mucho más grande de PHP. Scripts, códigos, etc. Además teneis de referencia a Ogame para cualquier duda y otros muchisimos juegos que podéis echarle un vistazo.

Veo una idea genial el meter AJAX y Flash para no hacerlo uno más del montón. El mio no lleva Ajax, solo Flash puntuales, pero bueno, a ver q tal sale. Dentro de muy poco la haré pública :)

Si alguno de vosotros me agrega al msn, y me va poniendo al día de como lo lleváis os lo agradecería :) me gusta tener a la competencia lo más cerca posible. Así igual tb os puedo aconsejar un poco.

Saludos y suerte!.

elhamo

Sobre esto de Keios:

1) Hosting: Más barato y más faciles de encontrar para hacer luego comparativas más amplias, un juego sopla muchíiiiiiiiiiiiiiisimo ancho de banda, es algo muy a considerar.

He de decir que los mensajes que pases no tienen el porqué de ocupar más o menos en un lenguaje que en otro.
Que hay más servidores con PHP eso es cierto (la gran mayoría).

Yo una vez intenté ejecutar un programa en Java desde ssh y en dreamhost me lo mataron en 0 ,

Así que go PHP pero mira de tener herramientas automáticas de documentación... de otra forma te va a costar meter gente nueva (si no las conoces en persona).

Soltrac

#12 no se refiere a eso...simplemente q para tener un servidor con un lenguaje en .NET, necesitas un servidor en windows, por lo q tienes q pagar una licencia extra, cosa q con un servidor linux no.

elhamo

En realidad Mono podría ser una opción, ¿no?

Soltrac

#14 Para desarrollo, pero necesitarías un IIS para el servidor. Hay por ahí ciertos software para "emular" IIS en linux, pero ni lo he probado pq me parece q sería una real mierda xD.

elhamo

Conozco una plataforma entera hecha en Java, no sé si os suena, el proyecto Sakai.
http://sakaiproject.org/

Bueno, va de puta madre, en especial con plug-ins de Ajax, así que, ¿por qué no Java?

PiradoIV

No creo que la diferencia de rendimiento entre PHP y cualquier lenguaje compilado sea tan abismal como para no usar un lenguaje de programación que te va a simplificar la vida muchísimo más.

Un juego por web no tiene tanta diferencia a una página de cualquier otra cosa que guarde datos en base de datos (a nivel abstracto, no se me ofenda Kaos por el curro que se está pegando xD), y la podrá soportar perfectamente.

En mi opinión, si puedes dedicarle más tiempo al juego con un lenguaje como PHP, en vez de a pulir el rendimiento haciéndolo en ensamblador, adelante.

¡Saludotes!,
Pirado IV estuvo akí ;)

PD: Y digo PHP por decir algo, si Java te hace feliz porque te es más cómodo, adelante... al igual que si ensamblador es lo más fácil para ti, correcto también.

elhamo

¿Google estará hecho en PHP?

:D

Escalabilidad, una propiedad de los Sistemas Distribuidos.

elhamo

Me respondo:

No, google no está hecho en PHP pero un juego no es google.

PHP es la poya, cuando haces "cat *.php | wc -l" y te dice 8500 en una sola página web, te das cuenta de que son muchas líneas y que has hecho un cojón de trabajo.

Pero si hay bastante peña metida, algo que sea más fácil de documentar (see javadoc) o tenga una estructura originalmente orientada a objetos, ownea.

IMHO

Soltrac

Es mas, .NET, desde su versión 2.0 o 2005, permite que el código de sus páginas sea interpretado y no compilado.

Eso si, hay una opción (realmente oculta, ya que es a través de MS DOS) de poder seguir haciendo como en 1.1 y compilando la página web.

También hay una ventaja de la compilación, y es nadie puede ver el código (útil pa cuando haces páginas para otras personas para q no te copieteen)

PiradoIV

#19

¿8500 lineas de código en una página web?, eso es cuanto menos curioso, incluso suponiendo que estés incluyendo HTML, CSS y cualquier script que utilices. En realidad lo que ocupa espacio en este tipo de páginas de las que hablamos (Google, un juego web, o la propia Media-Vida), son las bases de datos.... y ahí las únicas lineas de código que tienes que hacer son las de las estructuras de las tablas, el contenido se llena por sí mismo.

Casualmente yo tengo hecho un IndexServer de todos los ficheros que hay en la red del curro y, desde luego, las lineas de código no creo que se lleguen a contar ni en cientos, lo que me ocupa es la base de datos.

En cuanto al rendimiento, si buscas un fichero en toda la red y te lo muestra en 0,003 segundos (incluso con una previsualización), para mí es más que suficiente y la carga del servidor es mínima.

En cuanto a la documentación del código y a la facilidad con la que otra persona lo pueda leer... no entiendo por qué no usar PHP5, puedes hacer programación orientada a objetos sin despeinarte y puedes usar Frameworks, que hay a patadas, y que simplifiquen el mantenimiento.

Espero haberte entendido muy mal y que no tengas ese feeling de PHP que me ha parecido que tenías al leer lo que has puesto.

¡Saludotes!,
Pirado IV estuvo akí ;)

BlisZ

sobre lo que dicen de que PHP es interpretado y eso consume mucho: se puede solucionar con la extension eaccelerator, que crea si no me equivoco una especie de bytecode y no hace falta interpretar de nuevo el codigo cada vez que se accede a el, reduciendo muchisimo el consumo y aumentando brutalmente la velocidad de generacion de la pagina

parezco un anuncio xd

elhamo

Si PHP es la poya.

8500 líneas, efectivamente, con HTML entre medias.

Digamos que es un proyecto gordo.

(Y eso que tengo funciones para generar formularios, etc.)
(Y eso que el panel de control se auto-genera según las tablas / atributos de ellas)

PHP me encanta, es lo más de lo más.

¿Por qué no RoR?
La gente piensa que RoR es la poya++;

Usuarios habituales

  • elhamo
  • PiradoIV
  • Soltrac
  • Kaos
  • magonma
  • SeiYa
  • r2d2rigo