Foros - Stratos

Stratos => Proyectos => Mensaje iniciado por: AgeR en 09 de Julio de 2007, 01:44:32 PM

Título: NJ Sudoku
Publicado por: AgeR en 09 de Julio de 2007, 01:44:32 PM
Bueno, hacía tiempo que no posteaba nada sobre mis juegos, y llevo un par de días trasteando con un Sudoku para móviles (sí, otro más, qué pasa? XD). La novedad del proyecto es que será un AdverGame para NoticiasJuegos que podrá descargarse gratuitamente desde el blog.

(http://www.andorstudios.com/advergames/njsudoku.png)

Todavía le falta darle caña, tanto a los gráficos como a la jugabilidad, pero me gustaría que me dierais vuestra opinión. Ya me han comentado que al desplazarse el cursor tarda en responder, y que les falta luminosidad a los números. ¿Opináis igual? ¿Qué os parece la dificultad?

De momento estoy con la versión para pantallas de 128x128. Una vez la termine haré la de 176x208 y en principio no tengo pensada ninguna otra versión. El juego usa MIDP1 y CLDC1 así que no debería haber demasiados problemas de compatibilidad, dada además la sencillez del juego.

Los que lo probéis, me gustaría saber el modelo de móvil en el que lo habéis probado, para tener una idea más o menos.

Descarga: NJ Sudoku (http://www.andorstudios.com/advergames/njsudoku.zip)

El juego es muy sencillo y no tiene sonido (no le veo sentido en un Sudoku). El objetivo del proyecto por una parte es promocionar NoticiasJuegos, y por otro, tener una base para realizar advergames sencillos por encargo (ojalá). Si funciona bien, la idea es hacer algunos otros juegos más de este estilo, en los que cambiando unos pocos gráficos y textos se obtiene un buen resultado.  Obviamente los juegos serían muy baratos para el anunciante, claro, aunque de momento es solo una idea, y habrá que ver cómo va con NoticiasJuegos.
Título: NJ Sudoku
Publicado por: sés en 09 de Julio de 2007, 02:24:45 PM
Lo de los números es verdad, se ven un poco mal. Algo más de contraste no vendría mal.

Lo del teclado, no es que tarde en responder, es que usas keyRelease(). Iría mejor con keyPressed() (y si tb usas keyRepeated(), mejor aun).

Para los móviles que tienen "joystick", una opción para moverte con el y escribir directamente con los números, estaría genial.
Título: NJ Sudoku
Publicado por: yens en 09 de Julio de 2007, 03:23:21 PM
No te lo había comentado por si los que no tienen joystick no pudieses tenerlo pero el tema de escribir directamente el número estaría muy bien, sería cómodo y rápido, toy de acuerdo con ses :p
Título: NJ Sudoku
Publicado por: AgeR en 09 de Julio de 2007, 03:31:10 PM
Gracias por los comentarios. Lo del keyRelease, efectivamente es lo que utilizo, ya me estaba temiendo que ese sería el motivo.

En cuanto al joystick... quiero hacerlo lo más genérico posible, y si no tengo mal entendido, en los móviles que no tienen joystick se usan las funciones de up, down, left y right con los propios números del teclado, con lo que debería hacer versiones distintas, algo que no quiero hacer  :?
Título: NJ Sudoku
Publicado por: sés en 09 de Julio de 2007, 03:38:53 PM
No me refería a versiones distintas, si no a dar la opción (desde el menú por ejemplo) de activar ese modo.
Título: NJ Sudoku
Publicado por: matriax en 09 de Julio de 2007, 04:21:44 PM
Ademas de los numeros, que tambien este bien resaltado el cuadro que esta seleccionado, y los limites de las lineas que los pondria casi negros, o asi en verde pero mas oscuro.

Y ya puestos los numeros mejor leibles, porque a ese tamaño, mas que diseño yo buscaria claridad, porque el "6" parece una "b" y el 9 una "P" al reves.
Título: NJ Sudoku
Publicado por: ethernet en 09 de Julio de 2007, 04:32:36 PM
Buena iniciativa ager. Espero que te salgan cosas a raiz de esto.
Título: Re: NJ Sudoku
Publicado por: Buffon en 10 de Julio de 2007, 09:01:39 AM
Cita de: "AgeR"Bueno, hacía tiempo que no posteaba nada sobre mis juegos, y llevo un par de días trasteando con un Sudoku para móviles (sí, otro más, qué pasa? XD). La novedad del proyecto es que será un AdverGame para NoticiasJuegos que podrá descargarse gratuitamente desde el blog.

(http://www.andorstudios.com/advergames/njsudoku.png)

Todavía le falta darle caña, tanto a los gráficos como a la jugabilidad, pero me gustaría que me dierais vuestra opinión. Ya me han comentado que al desplazarse el cursor tarda en responder, y que les falta luminosidad a los números. ¿Opináis igual? ¿Qué os parece la dificultad?

De momento estoy con la versión para pantallas de 128x128. Una vez la termine haré la de 176x208 y en principio no tengo pensada ninguna otra versión. El juego usa MIDP1 y CLDC1 así que no debería haber demasiados problemas de compatibilidad, dada además la sencillez del juego.

Los que lo probéis, me gustaría saber el modelo de móvil en el que lo habéis probado, para tener una idea más o menos.

Descarga: NJ Sudoku (http://www.andorstudios.com/advergames/njsudoku.zip)

El juego es muy sencillo y no tiene sonido (no le veo sentido en un Sudoku). El objetivo del proyecto por una parte es promocionar NoticiasJuegos, y por otro, tener una base para realizar advergames sencillos por encargo (ojalá). Si funciona bien, la idea es hacer algunos otros juegos más de este estilo, en los que cambiando unos pocos gráficos y textos se obtiene un buen resultado.  Obviamente los juegos serían muy baratos para el anunciante, claro, aunque de momento es solo una idea, y habrá que ver cómo va con NoticiasJuegos.

te invito al maravilloso mundo del ofuscamiento de código y más si es un proyecto remunerado para NoticiasJuegos.

Lo digo por que el código se ve perfecto una vez decompilado ^_^.

A ver si tengo tiempo cuando llegue a casa y veo que se puede mejorar :D y lo pruebo en el móvil
Título: NJ Sudoku
Publicado por: AgeR en 10 de Julio de 2007, 11:37:32 AM
Buffon, lo sé, estaba sin ofuscar, ya está subido ofuscado... o al menos eso dice el NetBeans. De todos modos el código no tiene ningún misterio, uso un simple algoritmo de backtracking, muy similar por ejemplo al que tiene Juan Mellado en su Sudoku en Inmensia y en varios sitios más.

Lo que me tiene mosqueado es el sistema de pistas, ya que ahora mismo el sudoku es muy difícil de resolver. Tenéis alguna idea de cómo generar las pistas sin que se coma un buen rato de procesado? Puedo ir poniendo pistas y comprobando que solo existe una solucion, y si es así añadir otra pista... pero en un movil eso puede ser la muerte...  :roll:

También he cambiado el keyRelease por KeyPressed a ver si el cursor se mueve mejor.
Título: Re: NJ Sudoku
Publicado por: ethernet en 10 de Julio de 2007, 08:12:59 PM
Cita de: "Buffon"

te invito al maravilloso mundo del ofuscamiento de código y más si es un proyecto remunerado para NoticiasJuegos.

Lo digo por que el código se ve perfecto una vez decompilado ^_^.

A ver si tengo tiempo cuando llegue a casa y veo que se puede mejorar :D y lo pruebo en el móvil

Estas cosas se dicen en privado hombre...
Título: Re: NJ Sudoku
Publicado por: Buffon en 10 de Julio de 2007, 09:05:36 PM
Cita de: "ethernet"
Cita de: "Buffon"

te invito al maravilloso mundo del ofuscamiento de código y más si es un proyecto remunerado para NoticiasJuegos.

Lo digo por que el código se ve perfecto una vez decompilado ^_^.

A ver si tengo tiempo cuando llegue a casa y veo que se puede mejorar :D y lo pruebo en el móvil

Estas cosas se dicen en privado hombre...

yap, se me pasó, además con el jefe detrás viendo stratos... con las ganas que sabe que tengo de irme a una empresa de programación gráfica xD aunque en criptografía estoy de muerte :)

A ver si tengo estos días a mirar tu verificación del sudoku, a ver si se me ocurre alguna mejora de eficiencia :D
Título: Re: NJ Sudoku
Publicado por: AgeR en 10 de Julio de 2007, 09:38:23 PM
Cita de: "Buffon"A ver si tengo estos días a mirar tu verificación del sudoku, a ver si se me ocurre alguna mejora de eficiencia :D

jajaja pues te vas a partir, porque la verificación del sudoku no es tal como debería ser, he ido a lo simple comparando el tablero original generado con el que ha hecho el jugador. Cosa que bastaría... si me hubiera asegurado de que solamente hay una solución, que es precisamente lo que me falta comprobar XD
Título: NJ Sudoku
Publicado por: Mars Attacks en 11 de Julio de 2007, 10:33:10 PM
Para lo que decías que puede ser la muerte en un móvil, supongo que lo suyo es hacer una hebra aparte con muy baja prioridad que vaya buscando mientras el jugador juega. Teniendo en cuenta que el tema de las pistas no es en "tiempo real" (el jugador tardará una eternidad -desde el punto de vista de la máquina- en preocuparse por no encontrar el siguiente número), debería ir sobrado con eso.
Título: NJ Sudoku
Publicado por: AgeR en 11 de Julio de 2007, 10:50:45 PM
Mars me da que no es tan sencillo como lo pintas. Por un lado, lo de los hilos, me pregunto las incompatibilidades entre diferentes móviles, que seguro las habrá. Por otro lado, lo que busco es que 1 sudoku tenga 1 única solución, desde el principio. Para esto lo mejor es ir descubriendo pistas, e intentar resolver el sudoku con estas pistas, si hay más de una solución posible no se añade la última pista... no sé si me explico...

Pero eso puede llevar un tiempo de generación de pistas bastante elevado, y tampoco permite regular facilmente la dificultad del sudoku. En fin, mañana seguiré con el tema, que he tenido dos días bastante liados, ya contaré como va el tema.
Título: NJ Sudoku
Publicado por: Mr. Sandman en 12 de Julio de 2007, 02:22:09 AM
Quería ver si con éste me aficiono un poquito a hacer sudokus, parece que todo el mundo sepa, y a mi no se me dan bien  :oops:
Título: NJ Sudoku
Publicado por: Mars Attacks en 13 de Julio de 2007, 12:18:41 AM
Vale, entonces la versión chachi: cuando el jugador añade un número, lo envías a la red, donde tu servidor lo recoge y lanza un programa en prolog que resuelve recursivamente todas las posibilidades para el sudoku. Luego, eliges una pista al azar y se la devuelves al jugador :D

En fin, si sabes cómo resolver el sudoku con los datos que das al comienzo, el dar pistas sólo se basa en eso, ¿no? A medida que el player introduzca un número, compruebas si existe una solución para lo que él ha hecho. Si la hay, te quedas con esa solución como "solución original", y la pista será uno de los valores de esa solución que aún no esté descubierto. Si no la hay, el número estaba mal (por cierto, por curiosidad, ¿qué haces si han puesto un número mal?) y la pista será uno de los valores de la última solución posible.

Lo malo es que supongo que, incluso con backtracking, el tiempo de cálculo puede ser un poco alto.
Título: NJ Sudoku
Publicado por: synchrnzr en 13 de Julio de 2007, 08:07:01 AM
CitarPero eso puede llevar un tiempo de generación de pistas bastante elevado, y tampoco permite regular facilmente la dificultad del sudoku

Regular la dificultad de un Sudoku bien es bastante complejo, te lo digo por experiencia. En su dia me lo curré mucho para que los PCSudokus pudieran evaluar la dificultad del problema con precisión, dado que, almenos en su día, era donde fallaban todos los demás Sudokus.

Todo depende de cuanto te lo quieras currar y (aunque a priori no te parezca que tenga relación) de lo óptimo que sea tu código. La dificultad se evalua solucionándolo, cuantas más veces puedas probar un tablero durante la generación, mejor podrás precisar su dificultad. Mi consejo es que primero te estudies bien las técnicas para solucionar un Sudoku a mano y luego las utilices en tu solucionador para evaluar la dificultad de cada problema. Por desgracia, me temo que hasta aquí puedo leer, por temas de confidencialidad.

sync
Título: NJ Sudoku
Publicado por: AgeR en 13 de Julio de 2007, 11:01:33 AM
Ey sync, ya había leído todos los post en los que hablabas del PCSudoku y demás y lo que comentas lo tengo más o menos claro. El problema no es hacer el algoritmo (me refiero al generador de pistas), sino hacer un algoritmo que sea eficiente, no ya en el PC, sino en un movil.

Sobre la dificultad, me pondré con ello cuando acabe el tema de las pistas y la solución única. La verdad es que me temo que o se hace alguna chapuza, o el tiempo de generación en los moviles va a ser insufrible  :(

Sigo leyendo y buscando info a ver qué soluciones hay  :D
Título: NJ Sudoku
Publicado por: synchrnzr en 13 de Julio de 2007, 05:35:25 PM
CitarEl problema no es hacer el algoritmo (me refiero al generador de pistas), sino hacer un algoritmo que sea eficiente, no ya en el PC, sino en un movil.

Para móvil es más jodido porque con CPUs de hasta 200/300MHz... y con Java imagino que el tema del rendimiento aun está peor. En mi opinión sólo tienes 2 opciones: o pregenerar los problemas o generar sudokus con menor grado dificultad.

sync
Título: NJ Sudoku
Publicado por: AgeR en 13 de Julio de 2007, 08:16:55 PM
Sync en efecto, el problema es la velocidad de los móviles. He probado el sudoku este en mi movil (Nokia 6103 roñoso) y va a pedales el juego, aunque no tarda excesivamente en generar el sudoku.

También he leído por varias páginas que dando 17 pistas ya te aseguras de que exista una única solución. Lo habitual es situar unas 28 pistas. Peeeero, mayor número de pistas no significa que el sudoku sea más fácil de resolver, así que tendré que jugar con los números que abro como pistas y tal... en fin, un engorro, pero es lo que hay y para moviles creo que será lo más factible.