Karoshi MSX Community
06 de Julio de 2021, 03:47:10 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1] 2
  Imprimir  
Autor Tema: MSXdev'11 : ExChess  (Leído 8298 veces)
0 Usuarios y 1 Visitante están viendo este tema.
mars2000you
Karoshi Hero
*****
Mensajes: 672



WWW Email
« : 26 de Enero de 2012, 09:56:37 pm »

The fourth finished game for MSXdev'11 contest !   Beam - Qbiqs

ExChess

by Garlic Soft (Jos’b)

 Ray - Qbiqs Ray - Qbiqs Ray - Qbiqs

http://msxdev.msxblue.com/
En línea

Benoît
blueMSX co-developer and MSX blue webmaster
blueMSX - MSX blue - MSX Eggerland
theNestruo
Karoshi Lover
***
Mensajes: 236


Email
« Respuesta #1 : 26 de Enero de 2012, 10:31:31 pm »

¡Ese Jos'b! Cheesy

Yo no puedo entrar a valorar la calidad de juego del juego porque soy un paquete jugando (movimiento de las fichas y poco más Sad ) pero en una práctica de la carrera hicimos un ajedrez: para dos jugadores, versión normal y también algunas variantes SICO. Era para PC; teníamos memoria y procesador de sobra... ¡Y aún así aquello fue un infierno de estructuras de datos y punteros! ¡No me quiero ni imaginar lo que tiene que haber sido conseguir meterlo en 32Kb! ¡Y que juegue! Shocked ¡Enhorabuena!

Haz extensiva mi felicitación a Sutchan (no sé si es miembro de este foro), que ha "vestido" muy bien lo que hay por debajo Cheesy
En línea

theNestruo."Old BASIC programmers never die; they GOSUB but never RETURN."
S0Y
Karoshi Lover
***
Mensajes: 148

Lo difícil, lo hago; lo imposible, lo intento.


WWW
« Respuesta #2 : 27 de Enero de 2012, 12:57:24 am »

Pues está muy interesante, la verdad. Tiene una forma muy particular de jugar (no significa que sea malo jugando, yo tampoco soy una maravilla en ello), pero es que en 32 Kb no creo que se pueda pedir más. Lo malo es el tiempo que se tira pensando las jugadas, tuve que poner nlMSX a una burrada de MHz para que la respuesta fuera decente sin forzarlo a mover, pero insisto, está muy bien. Seguro que tiene tela marinera hacer un ajedrez para MSX, aunque esté basado en un código en C.

Me están entrando ganas de picarlo con Colossus 4 Chess... Ya veremos si lo hago, lo mismo nos sorprende ExChess...  Wink

Saludos!!
« Última modificación: 27 de Enero de 2012, 12:59:10 am por S0Y » En línea

Lo difícil, lo hago; lo imposible, lo intento.
Jos'b
Karoshi Maniac
****
Mensajes: 262


« Respuesta #3 : 27 de Enero de 2012, 08:01:11 pm »

gracias por el feedback Cheesy

Al final he conseguido hacer realidad uno de mis sueños, ese era el objetivo principal.

y ahora de momento, a disfrutar  Magical Stones



 
En línea
Iggy Rock
Visitante
« Respuesta #4 : 27 de Enero de 2012, 08:27:58 pm »

Jos'b ... eres MUY grande! un juego de ajedrez no se lo trabaja cualquiera, enhorabuena!
En línea
Jos'b
Karoshi Maniac
****
Mensajes: 262


« Respuesta #5 : 29 de Enero de 2012, 12:03:03 pm »

Jos'b ... eres MUY grande! un juego de ajedrez no se lo trabaja cualquiera, enhorabuena!
todavía me falta mucho para alcanzarte Cheesy
En línea
mesiasmsx
Karoshi Hero
*****
Mensajes: 557



WWW Email
« Respuesta #6 : 29 de Enero de 2012, 12:58:00 pm »

!Enhorabuena! Pero hasta que no finalice la fecha del Dev no me descargo nada  Smiley

De todas maneras me gusta ver que hay un juego nuevo de ajedrez para el standar, yo nunca he sabido jugar demasiado, mas bien poco, pero aun recuerdo las partidas que me pegaba hace años con algunos titulos de MSX , eso si para acabar siemrpe perdiendo  Cry .

Pues nada que felicidades y adelante.
En línea
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #7 : 30 de Enero de 2012, 07:35:17 am »

Esta es la diferencia de quienes saben programar y quienes, como yo, lo intentan Smiley. Yo no sabría ni como empezar a plantearme un juego así: enhorabuena Jos'b, valiente! Wink
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
S0Y
Karoshi Lover
***
Mensajes: 148

Lo difícil, lo hago; lo imposible, lo intento.


WWW
« Respuesta #8 : 30 de Enero de 2012, 01:26:40 pm »

Jos'b ... eres MUY grande! un juego de ajedrez no se lo trabaja cualquiera, enhorabuena!

Ratifico el comentario de Iggy Rock: ¡eres MUY grande!  Smiley Smiley Smiley

Saludos!!
En línea

Lo difícil, lo hago; lo imposible, lo intento.
phsoft
Karoshi Fan
**
Mensajes: 68



WWW
« Respuesta #9 : 31 de Enero de 2012, 11:00:53 pm »

me encanta este juego. la parte gráfica.. sobria, funcional, elegante... es estupenda. en cuanto a la programación pues como no tengo ni idea Magical Stones me atrevo a preguntar si un librillo muymuymuy básico de tres o cuatro mov iniciales típicos de alguna aperturas, las más normales, no hubiera entrado en 48kb? no sé.. lo digo porque no diese la sensación de que tarda mucho en mover desde las primeras jugadas.. en fin, no me hagáis caso. me parece una proeza plantearse un ajedrez para un z80, tíos
mi enhorabuena a los autores

saludos,
- paco

En línea
Jos'b
Karoshi Maniac
****
Mensajes: 262


« Respuesta #10 : 01 de Febrero de 2012, 11:40:59 am »

Pues si. Se podría haber metido un pequeño libro de aperturas, aunque no hubiera supuesto una mejora en el juego.  En realidad solo le he metido unas cuantas opciones iniciales para evitar el determinismo del programa a hacer siempre las mismas jugadas.

Para mí, lo más importante es el medio juego (al que por cierto ya le he detectado algunos pequeños defectos) y el tema de los finales que es bastante complicado (que tambien es mejorable).

De todas formas quiero sacar otra ROM con algunas mejoras en el juego (siempre dentro de sus limitaciones)
En línea
Mortimer
Karoshi Lover
***
Mensajes: 216


WWW
« Respuesta #11 : 01 de Febrero de 2012, 09:18:05 pm »

Yo estoy lejos de jugar bien al ajedrez, pero por si te sirve de algo he echado un par de partidas sin tomármelo muy en serio, y a veces me ha sorprendido que cambiaba piezas por otras de menor valor, sin que luego aprovechara la situación.

En cuanto al a detalles técnicos, ¿Puedes comentarnos cuántas líneas tiene el código C, si tiene algo de ASM inline y con qué lo has compilado?

Saludos
En línea
Jos'b
Karoshi Maniac
****
Mensajes: 262


« Respuesta #12 : 01 de Febrero de 2012, 10:10:53 pm »

Yo estoy lejos de jugar bien al ajedrez, pero por si te sirve de algo he echado un par de partidas sin tomármelo muy en serio, y a veces me ha sorprendido que cambiaba piezas por otras de menor valor, sin que luego aprovechara la situación.

Efectivamente, ese es uno de los pequeños defectos que le he encontrado en la versión que he mandado al concurso (porque en versiones previas no tenía ese defecto).

La cuestión es un poco larga de explicar, pero intentaré resumirlo un poco. La última semana estuve actualizado una gran parte del motor al detectar algunos errores muy graves en el código y que, yo, achacaba a una mala valoración de la posición. Me dí cuenta cuando incruste el código en otro para poder compilarlo en un PC y poder testear valor por valor. Desgraciadamente, esto me hizo que no pudiera testear el programa lo suficiente como para detectar algunos fallos antes de enviarlo a la DEV.

De hecho, lo más dificil que he encontrado al hacer este juguecillo ha sido precisamente ese, el testeo, hay infinidad de posibilidades que por una cosa u otra se te terminan escapando, y son muy dificiles de controlar. El defecto que has encontrado estaba resuelto, como digo en versiones anteriores, y dí por hecho que seguía perfecto después de modificar el motor.

Basícamente, todo deriva de que el programa es capaz de detecta cuantas piezas propias y contrarias dominan un determinado punto. Calcula que, SI tiene mayoría de piezas en ese punto, debe conseguir ventaja, y procede a la captura. Esto se hace muy fácil con una pequeña formulita que hace que coma con la pieza de menor valor, pero se ve que al tocar el código (esta última semana como he dicho) tambien he tocado algo que ha hecho que en vez de tomar con la pieza de menor valor lo haga con la de mayor valor. Sad En definitiva, es algo que se dónde está, se como resolver, y lo haré.

Tambien quiero hacer mucho hincapié en que es un programa que calcula a tan solo 1/2 jugada (si el programa tuviera una previsión de 3, 4 o 5 jugadas no caería en esos errores)

En cuanto al a detalles técnicos, ¿Puedes comentarnos cuántas líneas tiene el código C, si tiene algo de ASM inline y con qué lo has compilado?
Pues líneas no son muchas, sobre unas 2500 en puro C, solo tiene pequeñas rutinillas en ASM para el trato directo con el Hardware del MSX, y esta compilado con el SDCC.

En realidad el programa realiza muy pocos cálculos, basicamente cada posición la valora en función de unos criterios muy pero que muy sencillos. Simplemente apoyados por una función que es capaz de detectar la dominación por bando de los escaques (solo en cantidad, lo ideal hubiera sido también en calidad y ordenarlos de menor a mayor, pero no me daba para más).

En fin, he intentado hacer algo que sea medianamente jugable. Cuando hize las primeras pruebas, a una previsión de 2 jugadas, ejecutaba cada movimiento cada 5 minutos, y aún así no era lo suficientemente bueno, así que opté por cambiar de criterio y meterle solo a media jugada con criterios reales de valoración de la posición, con la idea final de trasladar el código para un ajedrez para  PC pero aumentando los criterios de valoración y la profundidad, así, si con tan solo media jugada se defiende medianamente bien, al aumentar la profundidad de cálculo con los mismos criterios debería jugar francamente bien.

El código es muy mejorable, y posiblemente si pudiera transformar alguna función a ensamblador, a lo mejor se ganaría en velocidad, pero en principio la idea era hacer programa de ajedrez, y las mejoras si tienen que venir ya vendrán poco a poco. 

Despues de todo este rollo, lo que más me gustaría que se valorase es que juega a media jugada y hace jugadas más o menos coherentes, que no es poco, y que cualquiera, sepa más de ajedrez o sepa menos, pueda echar un rato agradable con él. 
 
En fin, me alegra tu sinceridad respecto al programa porque eso me ayudará a mejorarlo, sin duda Smiley.
En línea
Mortimer
Karoshi Lover
***
Mensajes: 216


WWW
« Respuesta #13 : 02 de Febrero de 2012, 10:30:30 pm »

¡Gracias por la superexplicación  Cheesy! muy muy interesante todo. Quizás mi mensaje quedó un poco seco porque sólo te dije algo negativo, pero  me parece un proyecto genial, lástima de las prisas de última hora. Cuando haya otra versión la probaré y te comentaré

Un saludo

En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #14 : 03 de Febrero de 2012, 12:07:50 am »

...apoyados por una función que es capaz de detectar la dominación por bando de los escaques...

Me ha encantado esta frase. No la he entendido, pero me ha encantado. Wink

Y ahora en serio: lo que has hecho es toda una gesta. Nada más y nada menos que un motor de juego de ajedrez para MSX...
En línea
Páginas: [1] 2
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!