Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





[juegos webs] Mas experimentos y test tecnologicos.

Iniciado por Tei, 08 de Junio de 2007, 10:35:02 AM

« anterior - próximo »

Tei

Haciendo experimentos con XUL:

http://www.servicios-dpi.com/fun/zelula2/index.php
(nota: requiere soporte de XUL, por ejemplo con Mozilla Firefox)

Me molaria mas hacer el mapa con html, en lugar de con xul, porque dadas la filosofia de xul el hacer objetos que se penetren unos a otros hay que utilizar una gigantesca cantidad de capas acumulativas (<stack>) lo cual puede producir pesadillas mas adelante.

Esta muy claro que usando html basico, el poner cientos de graficos gif ordenados en capas segun z-index seria algo para lo que un render de html esta preparado. Esto de acumular cientos de stack's me imagino que no.

En cualquier caso funciona.

Algo que he descubierto haciendo este experimento, es que el estado de los graficos animados es compartido. Si hay dos graficos de explosion, y uno de ellos termina la animacion. Cada vez que muestres ese mismo grafico solo mostrara el ultimo frame de la animacion. Esto reduce muchisimo la posible utilidad de los graficos animados, haciendo que o bien te inventas un hack para que no reconozca como iguales dos graficos de explosion, o bien no utilizas graficos de estos que se animan hasta el ultimo frame y luego se paran.

Haciendo experimentos con este tema he creado estas paginas:
http://www.servicios-dpi.com/fun/zelula/test.htm

Nota: tambien requiere Firefox, o soporte de XUL.

nota: los graficos no son mios, los he pillado de internet y modificado para mis intereses, solo son placeholders para vestir estos test tecnologicos

Alexpi

no conozco el XUL pero eso que muestras es muy parecido al mapa que estoy haciendo para la version final de goldpiece, y en mi caso con css + ajax se ve perfecto, y es muy facil de hacer :P
Juego web www.goldpiece.net


Tei

Cita de: "Alexpi"no conozco el XUL pero eso que muestras es muy parecido al mapa que estoy haciendo para la version final de goldpiece, y en mi caso con css + ajax se ve perfecto, y es muy facil de hacer :P

Cualquier cosa que hagas me molara mucho. Yo el mapa que tiene ahora mismo Goldpiece no me gusta. Lo unico bueno que tiene es que es al que la gente esta costumbrada, aunque eso es mucho.

El que tiene OGame que es un simple listado tiene su cosa. Mas que nada porque los graficos de los planetas son bonitos, y la gente pone nombres curiosos a los planetas y a ellos mismos. Tiene su poquitin de utilidad como "Agenda de direcciones" para vecinos :D

El que tu hagas, pues va a estar muy bien y sera muy interesante. Haber, ya tengo ganicas, y desde luego te deseo suerte :D

josepzin


Tei

Cita de: "josepzin"Se nota que controlas mucho del tema :)

No me hagas la pelota que me lo creo :D

RobiHm

Web : Indómita
Blog : MiBlog
Evobas : Evobas
Kobox : Kobox

Tei

Cita de: "RobiHm"Se nota que controláis mucho del tema  :lol:

¿Lo dices por los dibujos?
En realidad tengo tengo un esclavo que me los hace,  The Gimp.
No son mios.

waveland

Wenas Tei,
Me parece muy interesante tu proyecto pues yo me inicié en la experimentación del desarrollo de un juego del estilo de los de Sierra (caesar, zeus, faraón) con gráficos isonométricos en html por medio de javascript. Aún no empleo ajax puesto que todavía no estoy en la fase de comunicación con el servidor, pero el caso es que, de momento, funciona muy aceptablemente, piensa que llego a manejar mapeados de unos 1000 tiles y se desplazan sin problema mediante un minimapa y eventos de ratón.

De hecho me pregunto si alguien estuviera interesado en compartir más experiencias de este tipo, recursos y, quien sabe, tal vez iniciar un proyecto conjunto.

Entre mis dudas están, por ejemplo, si existe alguna forma de crear el mapeado de los tiles directamente mediante css (yo lo hago mediante código javascript, bucles y demás), o si será viable almacenar la información de los cambios efectuados por el jugador en su mapeado a una base de datos mediante ajax: lo pregunto por lo del volumen de información, puesto que la idea final es elaborar un juego online multijugador, en el cual cada usuario tendría su propio mapeado.

Un saludo.

Tei

Cita de: "waveland"Entre mis dudas están, por ejemplo, si existe alguna forma de crear el mapeado de los tiles directamente mediante css (yo lo hago mediante código javascript, bucles y demás), o si será viable almacenar la información de los cambios efectuados por el jugador en su mapeado a una base de datos mediante ajax: lo pregunto por lo del volumen de información, puesto que la idea final es elaborar un juego online multijugador, en el cual cada usuario tendría su propio mapeado.

Las respuestas son Si, y Si.

Con CSS puedes modificar el fondo de una tile, sea esta tile un div, o una celda de una tabla. No se hasta que punto al navegador le gusta mas una cosa o la otra.  
En algunos de mis experimentos he terminado usando siempre img. Porque tenemos el objeto image en javascript, el cual te aporta unas cuantas funciones interesantes.

Tampoco hace falta usar tiles para toda el area. Se puede poner un backgroun "general", por ejemplo arena, o agua. Y solo poner cosas donde hay una excepcion.

Lo del ajax te funcionara. Las peticiones las tienes que hacer asincronas, y son relativamente rapidas. He visto por ahi experimentos y parecer que es suficiente para una interactivida sencilla de mover un muñeco por el mapa, y decirle que combata con cosas.

Pero habria que experimentar con distintas bases de datos, y distintos servidores web.  En principio tenemos Apache con MySQL, pero ninguno de los dos estan especialmente optimizados para velocidad. Asi que supongo que valdria la pena experimentar con SQLlite, y algun server sencillo.  O experimentar con tablas en memoria de MySQL.  O quizas no usar una base de datos para cosas muy dinamicas, sino un programa que este siempre en memoria, y contra el que se hacen consultas sencillas. Este programa deberia estar programado en un lenguaje que no haga facil crear leaks de memoria, y eliminando a PHP porque me fio que un php pueda correr indefinidamente sin dar problemas.

Enfin. Si quieres discutir cualquier punto, tecnologia o problema. Aqui estoy.  Me gano el pan haciendo ajax. Tengo aplicaciones medianas, de 15.000 lineas escritas con ajax en cada esquina. He hecho algunas cosas interesantes, y me apasiona el tema. Me encantara cualquier cosa que quieras comentar. (nota: pero no soy administrador de sistemas, asi que solo puedo comentar cosas de programacion)

waveland

Gracias por tu respuesta Tei,

Ten por seguro que te haré más preguntas porque yo estoy, como quien dice, empezando en el mundillo del ajax y javascript avanzado  :? , eso si, con mucha pasion  :D

Un saludo!!

Vicente

Tei, intenta echarle un ojo al cliente web del Dreamlords, es impresionante lo que han hecho (está en Java).

Un saludo,

Vicente

waveland

Cita de: "Tei"Pero habria que experimentar con distintas bases de datos, y distintos servidores web. En principio tenemos Apache con MySQL, pero ninguno de los dos estan especialmente optimizados para velocidad. Asi que supongo que valdria la pena experimentar con SQLlite, y algun server sencillo. O experimentar con tablas en memoria de MySQL. O quizas no usar una base de datos para cosas muy dinamicas, sino un programa que este siempre en memoria, y contra el que se hacen consultas sencillas. Este programa deberia estar programado en un lenguaje que no haga facil crear leaks de memoria, y eliminando a PHP porque me fio que un php pueda correr indefinidamente sin dar problemas.
¿Y que me dices de SQL Server con IIS y ASP, mejor o peor? por cierto, ¿a qué te refieres con leaks de memoria?

Tei

Cita de: "waveland"
¿Y que me dices de SQL Server con IIS y ASP, mejor o peor? por cierto, ¿a qué te refieres con leaks de memoria?

No se como de veloces seran esos. Mi experiencia es con Apache, MySQL y muy poca con ASP y SQL Server.

Un leak de memoria es cuando el programa coge memoria al sistema operativo, pero se olvida de devolverla. Se nota porque un programa con leaks de memoria crece y crece y cada vez parece que necesita mas memoria.

En teoria los lenguajes de scripting estan a salvo de esto, porque administran la memoria automaticamente, y los lenguajes con recolector de basura pueden tener leaks cuando se producen referencias circulares que impiden que los datos se liberen como deberian cuando han sido borrados.

waveland

Bueno, la verdad es que, aunque tengo mas experiencia de trabajo con ASP y SQLServer, me  decanto mas bien por PHP y mySQL: me dan mas 'buena espina', con el añadido de que resulta mucho más barato (a donde irá a parar!!) :wink:
Ahora bien, tengo una duda que no se muy bien como abordar: ¿como procesas las rutinas programadas en un juego de este tipo?, es decir, cuando el jugador da una orden de 'construir', por ejemplo, supongo que lo tienes que almacenar en la base de datos para que se procese, en el momento específico, mediante un triger o similar en el caso de que el jugador abandone la página, ¿cierto?.
¿Y si lo que se tiene que procesar son eventos del juego programados, que no respondan a la intervención del usuario?
En resumen, como procesas los eventos del juego en un escenario offline, cuando el jugador no está con la página abierta?
No se si me he explicado bien, espero que si por que esto me tiene en ascuas!!  :?






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.