Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Filosofada: juegos webs?

Iniciado por Tei, 02 de Junio de 2007, 02:53:36 AM

« anterior - próximo »

Tei

Me apetece colaborar en un juego web.

Bueno, igual me tendria que presentar. Soy Tei. Sobretodo conocido por desarrollar Telejano, un motor basado en el motor de Quake1 liberado por Id Software.  

Estaba pensando que todos esos juegos web que intentan replantear los juegos de tablero, o los juegos FPS, pero en formato web, quizas son un poco erroneos.

Hacer un FPS en web me parece posible, pero mala idea. Los servidores web son GET, no PUSH.  Estan esperando a que les solicites una informacion, asi que para cada update no solo tienes que contar con el tiempo que tarda el servidor en darte un update del frame, sino el tiempo que tardas en hacerle la peticion.
Ademas la tecnologia web funciona sobre TCP, hasta que no llegue el paquete 30 no te daran el paquete 31, aunque este lleve tiempo en el buffer de entrada. No hay informacion "out of band". La informacion tiene que esperar a los tardones, y asi llegar en orden.

Por estas razones la latencia es enorme.  Y ademas los servidores web estan tarifados segun el consumo que haces. En un servidor barato tipico terminaria notandose si mucha gente te consume ancho de banda, y ademas el servidor te iria lento. Quizas incluso tu proveedor de hosting notaria si miles de personas tiran de tu pobre servidor.

Pero divago.. estaba hablando de gameplay.

El caso es que puedes disimular la latencia suavizando los movimientos. Aunque.. ¿Para que?.  El medio es hostil a un juego construido asi, ¿porque no dejarse llevar por la corriente y ver donde lleva?.

Estaba pensando en que por ejemplo, en lugar de hacer un Civi con unidades que hay que mover, hacerlo solamente con ciudades. Eliminando totalmente esa inercia de mover una ficha en un mapa de tiles.
Incluso tengo que criticar el juego de escritorio, ¿que tiene de interesante mover una ficha por un mapa de tiles?, son decisiones bastante insipidas una a una, mover una tile. ¿no?.

Hacer un juego Civi, sin esta necesidad seria glorioso.

Pensando un poco en una mecanica de hacer esto, habia pensado en algo un poco como Carmen Sandiego o en X-Com y en Cluedo.

Una cosa que se podria hacer muy bien en web, seria permitir que el usuario juegue en todas las areas del mapa a la vez, tomando decisiones estrategicas en muchos sitios. Contratando a este o aquel, lanzando sondeos en varios sitios, enviando mensajes diplomaticos a otros jugadores, etc.

La superficie web parece poder permitir mezclar varias mecanicas distintas de juego. Como las "esferas" que existen en los MMORPG: crafting, harvesting, adventuring, etc..  en un juego web puede haber un juego comercial, otro diplomatico, etc..


Sobre la arquitectura de juegos web. Humm...   la forma mas sencilla es tener un servidor dedicado, con una tarea cron que corra cada n minutos, y esa tarea ejecuta unas tareas que marcan el paso del tiempo. Serian los "ticks" del servidor.

Otra forma seria no tener esta tarea, pero cuando alguien visitara la pagina, calcular cuanto tiempo a pasado desde el ultimo tick, y correr todos los ticks que faltan hasta el tiempo actual, y luego mostrar al usuario la pagina web.  Pero un sistema asi podria crear momentos en los que una pagina tardase en cargar minutos... Porque nadie habia entrado en varias horas a la pagina del juego. Aparte, quizas es dificil de debugear.

Luego esta el tema de los mapas y los graficos. Consideraciones de CPU y ancho de banda.

Naturalmente si es necesario se puede dibujar en tiempo real los mapas del lado servidor. Mediante GD u otra libreria similar. Pero esto lo veo complicado, pedira maquina del servidor, y encima consumiara bastante ancho de banda, al descargarse el navegador estos nuevos graficos. Mientras que si fueran graficos estaticos, permanecerian en el cache.

Ademas hoy en dia no lo veo tan necesario. Puesto que mediante CSS es posible tener unos graficos solapandose a otros. Entonces un mapa puede tener varios "layers", uno con el mapa en si, y otro con unidades o lineas de ayuda (la grid).

Consideraciones sobre la complejidad y el tiempo de desarrollo. Ademas de consideraciones sobre el arranque:

La ventaja de la web es que cuentan con 500 millones de potenciales jugadores, aunque luego son muchos menos si decides hacer el juego en castellano, ademas que compites con otros miles de juegos web. Normalmente querras que tus usuarios se registren, y esto requiere de un esfuerzo de parte del jugador que le tiene que merecer la pena, porque seria otro posible spamero detras suyo, y otra contraseña que recordar.
Otra ventaja añadida a un juego web es que la gente puede jugar desde el trabajo. Incluso aunque tengan administradores de sistema autoritarios, una pagina web se puede colar por las rendijas.  La poblacion que esta delante del ordenador del trabajo aburrida es seguramente mucho mayor que la poblacion que esta en sus casas delante del ordenador desocupada, mucha mayor. Solo hay que ver las estadisticas de visita de cualquier pagina web, y se ve que el mayor trafico siempre es en horas de trabajo (o quizas esto solo es mi interpretacion de los datos).  
Como pequeño guiño a estas personas, un buen juego web podria tener un boton de panico que mostrara una hoja de calculo, en lugar del juego web.

Me preocupa la dinamica de arranque de una aplicacion asi.  En las fases iniciales, con solo un programador, sin usuarios. No veo problema otro que "señor con varios sombreros" al ser la misma persona el programdaor, el betatester, el QA y el usuario. Yo no soy una persona que pueda llevar todos esos sombreros a la vez. Pero ademas hace falta un tipo de persona muy especial para llevar aunque sean dos de esos.
Añadir mas gente tampoco lo simplifica. Idealmente funcionaria muy bien el engañar a un grupo de amigos para que jugaran a tu juego web en cuanto llegara a cierto nivel de madurez. Pero un amigo tampoco es que sea un betatester fiable, claro que el pasarselo bien con el juego seria un aporte brutal. Suponiendo que a este nivel el juego llegara a ser divertido.

A nivel medio, con 2000 jugadores, el peligro es el estancamiento. Los jugadores impondrian una enorme resistencia a cambios mayores al juego. Como ocurre en los MMORPG.  Superar algo asi me imagino que seria posible teniendo un esquema de multiples servers, de modo que cambiarias el problema de 2000 jugadores, por el problema de 20.000 jugadores.
El problema de 20.000 jugadores es monetizarlo. Puesto que con tanta gente el facturon del servidor ha de doler. Y con tanta gente ha de ser posible encontrar vias de obtener un beneficio economico, o al menos compensar el gasto del facturon.
Una vez con dinero. Una forma que veo de evolucionar un juego web es crear "clones". Si tu juego original es de naves, creas uno del oeste, o de la mafia. Implementando las mejoras que has visto oportunas en el juego anterior. El cual lo has dejado en manos de administradores de sistemas y gente de mantenimiento, que lo mantienen engrasado.
Me da la sensacion de que algo asi hicieron la gente de OGame. Los cuales para mi han entendido muy bien dos o tres aspectos claves de hacer juegos webs.

¿Que opinais?

RobiHm

Decir que comparto un montón de puntos de vista de los que has expuesto, es más hasta la idea del botón de pánico la tenía pensada xD

He programado varios juegos web y tal, a mi me gusta la estrategia en todos sus posibles ámbitos (gestión,militar...), la simulación y el rol asi que la mayoría de mis juegos han sido de estrategia y rol xD

He hecho bastantes jueguecillos, pero por tiempo no he podido pasar de la fase de testeo... actualmente ando "planificando" mi vida y creo que podré sacar el tiempo necesario para intentar dedicarme seriamente e incluso profesionalmente al tema del desarrollo de juegos de navegador. Todos los juegos que he desarrollado ha sido en php & mysql

El problema que mencionas de personal con el compartir tareas es el problema al que me he enfrentado yo en todos mis proyectos, la gente se acaba cansando de trabajar en algo que parece que no tiene fin...

Otro problema que no has mencionado, es el de la seguridad, un pequeño fallo en cualquier lugar pronto será descubierto por los usuarios y explotado hasta el infinito, lo cuál causa grandes estragos en la comunidad (por no decir en el servidor) xD

El tema del cron (windows carece de un cron fiable y las alternativas que corren por la web no me hacian mucha gracia) asi que lo solventé en su día generandome una pequeña aplicación que lanzaba las actualizaciones a determinadas horas y tal

Si realmente te lo tomas en serio podemos ponernos en contacto y ver que sale xD
Web : Indómita
Blog : MiBlog
Evobas : Evobas
Kobox : Kobox

josepzin

Que interesante exposición! yo hace tiempo tengo ganas de hacer algun intento de juego web, pero siempre el tiempo...

Alexpi

Realmente lo que se necesita para un juego web son ganas no gente :P

Yo llevo tiempo haciendo un juego web, solo somos el grafista que hace el art y yo que hago todo lo demas.

La verdad que el juego lleva mucho retraso pero a sido mas por el grafista que no tenia tiempo y estubo varios meses off que por otra cosa. El codigo en poco mas de 1mes de curro lo acabé.

El metodo que uso para actualizar los datos es el de comprobar el tiempo pasado entre cada refresco, la verdad que fue un infierno diseñar un sistema bueno para eso pero ha quedado bastante bien, excepto por una funcion que es recursiva.... pero que es muy improvable que llegue a alcanzar mas de 5 o 6 niveles recursivos (aun asi me he curado en salud y he aumentado el limite de ejecucion de scripts de apache de 30seg a 90seg xD).

Si quieres hecharle un ojo pasate por //www.goldpiece.net

El juego aun esta en beta, estoy acabando de implementar el diseño final del juego y luego darle un par de retoques pero espero que este mes salga.

Bueno, con toda esta parrafada solo queria mostrar que si hay ganas, es posible hacer un juego aunque estes solo :P.
Juego web www.goldpiece.net

josepzin

CitarYa ha emepzado la fase 2 del juego, y todas las cuentashan sido mejoradas.
:D

donald

Tei, conmigo no hace falta que te presentes, me acuerdo de esa modificación del Quake1, el Telejano, y esos posts sobre tu juegos de naves usando aquello, y de haberlo testeado... ;)

No entiendo de la materia, soy sólo grafista, pero suena el tema con mucho sentido...Mucha suerte!

Al del Goldpiece...si el grafista estaba sólo para el juego entero...comprendo que haya tardado, a menos que sean 4 gráficos, un juego de esos suelen ser paletadas de trabajo gráfico...y lo ha terminado ;)

¿Por qué estos juegos con login nunca tienen sección de screenshots? ¿Por evitar plagios o momentum comercial?..Si no es por eso, una sección de eso, y como no, de concept art, acabaría por venderlo mucho mejor...en eso Blizzard es maestra...sin llegar a sus super videos de siempre, claro... ;)
Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

josepzin

Cita de: "donald"¿Por qué estos juegos con login nunca tienen sección de screenshots? ¿Por evitar plagios o momentum comercial?..Si no es por eso, una sección de eso, y como no, de concept art, acabaría por venderlo mucho mejor...en eso Blizzard es maestra...sin llegar a sus super videos de siempre, claro... ;)
Totalmente de acuerdo!

Alexpi

Cita de: "josepzin"
Cita de: "donald"¿Por qué estos juegos con login nunca tienen sección de screenshots? ¿Por evitar plagios o momentum comercial?..Si no es por eso, una sección de eso, y como no, de concept art, acabaría por venderlo mucho mejor...en eso Blizzard es maestra...sin llegar a sus super videos de siempre, claro... ;)
Totalmente de acuerdo!

sin duda tendra screenshots pero a la salida del juego, hasta que el diseño y el juego no este completo no quiero poner screen que muestren lo que NO va a ser xD.
Juego web www.goldpiece.net

lluc

Muy interesante! Una buena paja mental! XDD

Pues yo llevo un tiempo con un juego de estrategia Web, i la verdad es que si estáis estudiando no es una buena idea ponerse hacer un juego web!!!

Yo me metí y tuve q hacer una larga pausa hasta q acabe el curso (ya keda poko…), el proyecto lo iniciamos 2 personas y se fueron sumando colaboradores.. pero ahora esta muy parado, espero poder reunir a la tropa en vacaciones, algo q seguro será difícil ¡!
Y también tendría q buscar un curro pq sino pocas vacaciones tendré, i alguna copilla tendré q ir a tomar con los amigos...

Así que con el poco tiempo q tendré intentare tirar “pa lante” el proyecto!!

Nuestro juego web: http://www.vaminor.com/

Un saludo!

Tei

Cita de: "Alexpi"
Si quieres hecharle un ojo pasate por //www.goldpiece.net

Lo estoy probando. Tiene cosas que me recuerdan a OGame y eso me parece muy interesante.  :D
Congrats! :D

No se ven muy bien que son cada material. Quizas deberias hacer unos iconos estilo dibujo.

En este apartado:
http://www.goldpiece.net/juego.php?seccion=tecnologiasAc
Deberian colorearse de rojo los dots de las tecnologias que no tengo disponible?. Me salen todas verdes.

Esto se podria convertir a gif, o a png con transparencia (en este ultimo caso habria que utilizar un hack para que IE lo renderice bien)
http://www.goldpiece.net/img/mapa/marco-der.jpg


oro.gif y los otros iconos tienen un estilo fotorealista, pero para pocos pixeles resulta raro. Si se retocan se puede conseguir iconos mas claros, o se pueden hacer de cero.
Seguramente intentabais algo como esto:


----

Este de http://www.vaminor.com/ tambien esta muy currado. Impresionantemente currado. Si yo hago uno no se si le metere tanta caña :D


De nuevo... BUEN TRABAJO TIOS!

OOpps.. en vaminor hay un problema con los correos de registro. En el proceso de registro hay un momento que visita _algo asi_:
http://www.virtualgensoft.com/vaminor/regconfirm.php?id=afasdfasdf

pero ese path es malo.
Lo pude corregir a mano copiando y pegando entrando en

http://www.vaminor.com/regconfirm.php?id=afasdfasdf

Me parece que si no corregis esto poca gente se registrara :D
De todos modos no me deja loguear.

lluc

Gracias!
La verdad es q nos pegamos un buen curro y me gustaría mucho acabarlo algún dia!! La parte grafica la llevo yo y el compañero programa (un crack), a demás de tener algunos colaboradores…

La verdad es q ahora mismo no se puede uno logear pq esta el proyecto parado!

Tenemos el juego aun un poco “en pelotas”, y no podemos presentarlo a medias… si te interesa saber mas sobre el juego puedes visitar nuestra web y el foro!!

http://www.virtualgensoft.com

foro: http://forums.virtualgensoft.com/

Un saludo!

jazcks

Tei, buena filosofada, muy argumentada, aunque discrepo contigo.
Yo pienso que la mayoria de juegos no explotan todas las posibilidades que un navegador puede dar, el css + javascript puede dar mucho juego xD valga la redundancia, y mas ahora con ajax.

Es cierto que no para todo tipo de juegos, pero si para arcades sencillos, pong, tetris, pacman, quizas plataformas, y por supuesto RTS (FPS ni de coña).

Las conexiones como bien dices, se basan en peticiones get o post, que ademas de lentas, que normalmente implican tambien abrir/cerrar una conexion a la BBDD cada vez,.

Aun asi, hasta hace poco era impensable hacer "aplicaciones" web, o messengers,chats o similares, en el navegador y sin flash, ahora con javascript, unos timers, ajax y algun truco mas, es posible y puede dar la sensacion de fluidez como en otras aplicaciones cliente-servidor.

Ey Lluc XD, Vaminor lo tenemos un poco parado, a ver si conseguimos ponernos a tope en verano.

De mientros voy haciendo experimentos de javascript (recomiendo Opera o Firefox para verlos bien)
- juego plataformas: http://jazcks.homeip.net/B&B
- pong (aun no jugable): http://jazcks.homeip.net/games/pong
- efecto fuego (el de las demos): http://jazcks.homeip.net/games/fire

Tei

Cita de: "jazcks"
Yo pienso que la mayoria de juegos no explotan todas las posibilidades que un navegador puede dar, el css + javascript puede dar mucho juego xD valga la redundancia, y mas ahora con ajax.

Bueno, con una separacion entre diseño y presentacion, yo creo que todos nos dariamos con un canto en los dientes.

CSS es la mejor tecnologia disponible para hacer una buena web.
AJAX yo lo usaria, pero sin pasarse. No queremos generar excesos de trafico en el servidor.

Garthof

Cita de: "donald"¿Por qué estos juegos con login nunca tienen sección de screenshots? ¿Por evitar plagios o momentum comercial?..Si no es por eso, una sección de eso, y como no, de concept art, acabaría por venderlo mucho mejor...en eso Blizzard es maestra...sin llegar a sus super videos de siempre, claro... ;)

¿Y por qué no te dejan entrar como invitado para jugar a una pequeña demo? Es decir, una cuenta de usuario que se destruye al cabo de un corto periodo de tiempo, para probar cómo es el juego. Si te gusta, te registras en el juego, si no, pues no ha pasado nada.

Un saludo.

Capiflash

Yo creo que es pq este tipo de juegos tardas dias/semanas/meses , en desarrollarte lo suficiente para "ver" por completo el juego.

Podrian hacerse cuentas ficticias , con todo "desbloqueado" con cosas como el comercio o los ataques deshabilitados.... asi se evitan trampas , aunque no veo que puede apreciarse si tan solo se puede construir..






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.