Encuesta

Mi telefono móvil es un...

01-09-2010 - 206 votos

Destacados Agenda

Más eventos |

(3)

¡Comienza la JavaCup 2008!

21/04/2008 11:39 abraham

La revista Sólo Programadores, Sun Microsystems Ibérica y la organización sin ánimo de lucro javaHispano hemos organizado la segunda versión del torneo virtual de fútbol JavaCup donde cada equipo es una clase Java que implementa una interfaz predefinida. El concurso cuenta con el patrocinio de las empresas Kynetia, en calidad de patrocinador de oro; Isthmus Inc. y Everis como patrocinadores de plata; y Salenda como patrocinador de bronce. La participación está abierta a cualquier hispanohablante, sin importar su nacionalidad. Desarrollar un equipo de fútbol es extremadamente simple ya que el software en el cual se basa el concurso se encarga de dibujar en la pantalla y gestionar los movimientos de la pelota y de los dos equipos. Para crear un equipo lo único que hay que indicar es qué movimientos quieres que realice tu equipo en cada situación, lo cual es sencillo gracias a la API que expone a los equipos el software.

 

Premios

El ganador del concurso recibirá 1500 €, el segundo clasificado recibirá 1000 €, el tercero 500 € y el cuarto 250 €. Además, todos ellos recibirán una suscripción anual a la revista Sólo Programadores. Los ganadores del concurso se anunciarán en el evento tecnológico OpenJavaDay, que se celebrará a finales de junio en España, Madrid.

 

Documentación para participar en el concurso concurso

Todos los que quieran participar en el concurso deberán ver un vídeo-tutorial de 30 minutos donde se explica qué se necesita para construir los equipos, dónde obtenerlo, cómo funciona el software y, además, se construyen varios equipos simples a modo de ejemplo. En el vídeo se ha grabado como un programador (Jorge Rubira) teclea en Netbeans letra por letra el código para crear los varios equipos de ejemplo, que son distribuidos con el propio software. Por tanto, es muy sencillo construir tu propio equipo tras ver el vídeo.

En un segundo video se explica cómo se construyó el software que se emplea para el concurso JavaCup. Este segundo vídeo no es necesario para participar en el concurso. Su propósito es satisfacer la curiosidad de aquellos que, además de construir su propio equipo, quieran saber cómo funciona el software que ejecuta los partidos.

El software de la JavaCup es 100% Java, por lo que se puede emplear cualquier entorno de desarrollo Java para crear el equipo de fútbol. Por comodidad para los usuarios, lo distribuimos empaquetado como un proyecto de Netbeans y como un proyecto de Eclipse, sin que esto sea un impedimento para usar cualquier otro IDE. Existen dos versiones del software, una que denominaremos básica que contiene lo esencial para participar en el concurso; esta versión es la que, fundamentalmente, se cubre en el segundo video del concurso.

El software puede considerarse un framework que cuenta con puntos de extensión (que en este caso permiten crear un equipo de fútbol) y ofrece una API en la cual pueden apoyarse los equipos para construir sus tácticas de juego. Esta API permite averiguar cosas como cuál es tu jugador que está más cercano a la pelota, cuál es el jugador del equipo contrario que está más cercano a la pelota, la posición de todos los jugadores y de la propia pelota, etcétera.

La versión completa contiene además del software necesario para participar en el concurso, todas las tácticas que participaron en el torneo el año pasado, funcionalidad que permite reproducir los partidos del año pasado, grabar partidos en ficheros, etcétera. Esta segunda versión está más orientada a ser empleada por los propios organizadores del concurso, para registrar el resultado de los partidos, que por los participantes. No obstante, puede ser empleada para participar en el concurso y animamos a todos los interesados en ella a descargársela y a estudiar su funcionamiento. Todo el código de ambas versiones, y las tácticas de años anteriores, tienen licencia GPL.

Los dos videos, y las dos versiones del software de la JavaCup pueden descargarse desde http://javacup.javahispano.org. Para cualquier duda, podéis acudir al foro de la JavaCup.

Normas básicas del concurso:

Cada participante deberá implementar un único equipo virtual de fútbol. Para ello se apoyará en un software que se distribuye bajo licencia GPL y que puede obtenerse en el CD que acompaña al número de junio de la revista Sólo Programadores, en la página web del concurso o en el proyecto JavaCup de javaHispano.net. El plazo para el envío de equipos comienza el 28 de abril; los organizadores del concurso revisarán todos los equipos una vez enviados y, de considerar que hay algún problema con el equipo, darán siete días al autor para solucionarlo. Si en esos siete días el problema no ha sido solucionado de un modo satisfactorio, el equipo quedará descalificado.

javaHispano se reserva el derecho para descalificar cualquier equipo que considere que no se ajusta a la filosofía del torneo. Si un equipo es descalificado, el autor no tiene ninguna forma de apelar la decisión. Los resultados del torneo también son inapelables. Participar en el concurso implica aceptar estas normas. En la página web de la JavaCup pueden encontrarse las bases del concurso con más detalle.

Sobre la JavaCup 2007

El año pasado la revista Sólo Programadores y javaHispano organizamos la primera edición del torneo virtual de fútbol "JavaCup 2007". En el torneo se registraron cerca de 400 participantes y de los equipos enviados 78 fueron aceptados para participar en el torneo. El software del concurso fue descargado más de 3500 veces, siendo el segundo proyecto más activo de javaHispano.net. Se grabaron varias docenas de videos con el resultado de los partidos que, además de en javaHispano.org, fueron publicados en Youtube acumulando varios miles de vistas. Los participantes en el concurso crearon más de 1500 entradas en el foro de la JavaCup durante la competición. El ganador del torneo fue Fabian Nuñez Perez, de Chile con su equipo "F.C. The Patetics"; en segunda posición quedó el madrileño Jorge Cobo López, con "Cobian F.C."; el tercero fue Jacobo Rouces, también español con su equipo "Eclipse" y el cuarto fue el colombiano David Bonilla Bohorquez con "Millos". Las tres nacionalidades de los cuatro ganadores del concurso dan una buena idea del carácter internacional del torneo.

Agradecimientos

javaHispano quiere agradecer a Kynetia, Isthmus Inc., Everis y Salenda su apoyo a este concurso, apoyo que se ha traducido en unos premios bastante más sustancial es que los del año pasado. Y, por cierto, como podréis ver en sus anuncios, los tres primeros están contratando personal nuevo ahora mismo.

También queremos agradecer a todos los que participasteis en la JavaCup 2007 por haber hecho que el concurso fuese tan interesante, tan vivo, y tan interactivo gracias a la realimentación y aportaciones que realizasteis (muchas de ellas como correcciones de bugs o código fuente). Por último, animarnos a todos a participar y a enviar un equipo al torneo. Y pediros también que, si consideráis que este torneo es interesante, nos ayudéis a difundirlo. Aquí tenéis un póster que podéis usar con tal propósito; si lo colgáis en una cartelera en vuestra oficina o en un tablón de anuncios en la Universidad os lo agradeceremos. Además teneis los videos promocionales en YouTube de  JavaCup 2008, Kynetia, IsThmus y Everis.

Volver a actualidad

Etiquetas: otro, javahispano, javacup

Comentarios: 48

  • Anónimo 21/04/2008 11:54

    !!!Chaciiiiiiiiii!!!!! Ya pensaba que este año no lo ibais a organizar.l

  • Marioko 21/04/2008 13:48

    genial, esta vez tratare de participar..

  • Anónimo 21/04/2008 14:17

    Buenas,

    creo que los enlances de los videos estan cambiados. El primer video apunta al segundo y el segundo al primero.

    Un saludo y muchisimas gracias por el concurso y la web en general.

    Rafa.

  • abraham 21/04/2008 15:02

    ummm, Rafa, yo creo que los enlaces apuntan a los sitios adecuados.

  • Anónimo 21/04/2008 15:21

    Ole ole, llevaba tiempo esperando que apareciera el concurso para este año.

  • Anónimo 21/04/2008 15:33

    Mis disculpas, solo vi el la introduccion del primer video  decia algo asi como: "en este segundo video...". Escribi el comentario demasiado rapido.  Perdon.

    Rafa.

  • Marioko 21/04/2008 17:55

    Estuve ojeando las normas, y quiero confirmar si la fecha de entrega es el 28 de abril??? porque pienso que es muy poco tiempo.. o hay algun plazo

  • ecamacho 21/04/2008 18:05

    La fecha de entrega empieza el 28 de abril y tienes hasta junio para entregar tu táctica. De esta forma si hay algún error con tu táctica tenemos tiempo de avisarte y que puedas cambiarla.

  • ibon 21/04/2008 18:05

    "El plazo para el envío de equipos comienza el 28 de abril"

    Hoy se está notando mucho que es lunes ;-)

  • Marioko 21/04/2008 18:15

    jejej ahora si...  bueno mandare mi equipo.. En estos dias he estado aprendiendo mucho de IA, esta es una buena oportunidad de poner en practica lo que se 8-)

  • Anónimo 21/04/2008 18:54

    ¿Pueden haber equipos con más de un participante, es decir, mi amigo y yo podemos participar juntos por el mismo equipo?

  • Marioko 21/04/2008 19:00

    pues yo no lo veo ningun problema, puedes hacer el programa entre 10 y mandar un solo equipo con un solo "dueño"

  • Anónimo 21/04/2008 19:12

    El problema está en los egos de los miembros del equipo. Porque, si el equipo ganara, habrían 9 (según tu ejemplo) que se quedarían tristes porque sus nombres no figurarían en la lista de ganadores. Ese es el problema que le veo.

  • Marioko 21/04/2008 19:31

    Pues lo que importaria en el caso de que ganaran es como repatir el dinero.. jejeje ;-)

  • abraham 22/04/2008 07:24

    Ola a todos,

    A los organizadores nos da igual que mandéis un equipo entre 10 personas (lo que no nos da igual, y trataremos de evitar este año al igual que el anterior, es que una misma persona envíe varios equipos; de ahí que haya que registrarse con el nombre real). Eso sí, para simplificar la gestión por nuestra parte, habrá un único "representante" que se registre, con el cual interaccionaremos nosotros y al cual le enviaremos el dinero. No tenemos intención de hacer de mediadores en posibles disputas internas que pudieran surgir entre el conjunto de desarrolladores.

    Saludos.

  • Anónimo 22/04/2008 13:26

    El plazo de entrega se dice que es hasta junio, pero que día? Es decir, el primer día de junio, a mediados, a finales...

    Por otro lado, la gente que haya participado otros años, cuanto tiempo invirtieron en crear su equipo? Es que no tengo ni idea de como va el tema y me gustaría participar pero no se si voy a poder sacar el tiempo suficiente.

  • JorgeRubira 22/04/2008 15:15

    Buenas. (Te puedo contestar a la segunda pregunta.)

    Comprendo que las personas que hayan participado el año pasado tengan cierta ventaja sobre las nuevas porque tienen ya una cierta experiencia. De hecho, el año pasado eramos todos nuevos:). Para que la gente nueva no vaya perdida y ya que la idea general era partir de todo el conocimiento del año anterior,  en la sección descargas tienes dos paquetes de software. Uno de ellos tiene el framework básico que sirve para preparar la táctica. El segundo tiene todo el código fuente de todas las tácticas que se enviaron así como una base de datos con la posición donde se quedaron en la liga previa. Para abrir los proyectos necesitas un Netbeans 5.0 o superior. Es por ello, que puedes echarle un vistazo a estas tácticas y basarte en cierta medida en ellas.

    Por otra parte, darte animos para participar ya que de esta manera el año que viene tendrás ya cierta experiencia que te dará ventaja frente a otros.

    Finalmente, si tienes alguna duda (aunque sea básica) sobre el uso del framework, al igual que la gente preguntaba el año pasado, puedes hacerla en el foro que tenemos en javahispano exclusivo para la javacup. También puedes ver el historico de hilos en ese foro.

    Atentamente, Jorge

  • Anónimo 23/04/2008 01:09

    "Mis disculpas, solo vi el la introduccion del primer video decia algo asi como: "en este segundo video...". Escribi el comentario demasiado rapido"

     

    ..programadores, programadores.

  • Anónimo 23/04/2008 09:51

    si el framework es el mismo y se facilitan los equipos del año pasado, ¿cómo sabrá el jurado hasta qué punto los equipos que se envíen son 100% del autor?

  • JorgeRubira 23/04/2008 11:12

    Buenas,

    Contestando a la última pregunta, no se penalizarán las tácticas que tengan algoritmos de las tácticas de años anteriores, al igual que el año pasado no se penalizaban tácticas que fuesen totalmente iguales a las tácticas de demo.

    Otra cosa diferente sería si se enviasen tácticas iguales o con similitudes ineditas o con trozos de código ineditos iguales. En este último caso si se penalizarian.

    Atentamente, Jorge

  • Anónimo 23/04/2008 12:07

    Hasta cuando se puede entregar?

  • Anónimo 23/04/2008 14:23

    Hola

    Me parece un error que el sistema que se siga sea el de eliminatoria directa entre equipos. La forma más real y más justa de determinar para obtener un ganador es el sistema de liga.

    Creo que el llevarlo a cabo de esta forma no es algo costoso.

    Gracias.

  • Efcasado 23/04/2008 14:39

    Estupenda iniciativa. ¡Y con patrocinadores!

    El año pasado me quedé con ganas de participar, a ver si la universidad lo permite y este año preparo mi "equipito", jeje.

  • ibon 23/04/2008 16:25

    "Me parece un error que el sistema que se siga sea el de eliminatoria directa entre equipos. La forma más real y más justa de determinar para obtener un ganador es el sistema de liga."

    A mi me parece que por aqui hay alguien de Getafe ;-)

  • abraham 23/04/2008 16:44

    >Creo que el llevarlo a cabo de esta forma no es algo costoso.

    Pues chico, echa la cuentas de nuevo... 1000 participantes no creo que sea un numero imposible de alcanzar. Si hacemos una liga tenemos.... del orden de un millón de partidos!!!!!! Los organizadores tenemos que ponernos en el "peor" de los casos. Eso es lo que nos decanta por la copa.

  • Anónimo 23/04/2008 16:47

    sobre el sistema de competición...

    no cabe duda de que el azar, la suerte, o como lo queramos llamar influye en el resultado de un partido de la javacup, es una pena que el trabajo de un participante se vaya a la M por cuestión de suerte en la primera o segunda ronda.

    a mi tambien me parece mejor y sobre todo mas justo el sistema de liga

     

    saludos

  • ibon 23/04/2008 17:10

    Esto... ¿y el futbol no es eso? :-D Perdon pero es que es muy duro odiar el deporte nacional y de vez en cuando me tengo que desahogar ;-)

  • JorgeRubira 23/04/2008 17:20

    Como muy bién comenta Abraham, para el año pasado con 78 equipos tendriamos que haber publicado 78/2*77 = 3003 partidos, lo que con tanto partido se perdería la emoción de seguir los partidos de tu equipo (por haber tantos). Aun así, se ejecutará una liga previa (al igual que el año pasado) para que los equipos que queden primero no se enfrenten en las primeras rondas y de esa forma haya un poco más de justicia.

  • Marioko 23/04/2008 18:27

    lo unico que veo que se podria mejorar un poco es cuando dos equipos queden enpatados. Eso de decidirlo aleatoriamente se podria usar en el ultimo recurso depues de haber hecho otros intentos. Por ejemplo en caso de quedar en enpate se podria hacer:

    1) Se dan 30 segs mas de juego haber si en ese tiempo hacen algun gol de oro. 

    2) Si todavia quedan enpatados y si los equipos ya tienen varios partidos anteriores (iguales en numero, algo que deberia ser asi por las rondas), gana el equipo que tenga mas goles acomulados. Es decir: Goles partido 1 + Goles Partido 2 + Goles partido actual = Acumulado, si es mayor que el del contraincante entonces gana, sino pierde. 

    3) Si todo falla queda el Math.random() para que solucione el problema.

    Creo que eso le daria muuchisimo mas de emocion. Imaginen un super partido, ambos equipos quedan 5 a 5, en 30 segundos  el que haga un gol de oro (osea el primer gol) automaticamente gana. Y en el caso de los goles acomulados, eso obligaria a los Dueños de los equipos y a los fans a estar pendiente con cuentas y para ver quien gana.

     

    Otra idea que se me acaba de ocurrir pero que se podria implementar para el otro año es un sistema de apuestas.. :D Asi los fan podrian ganarse algo.  Siquiera "subcripcion gratis" por un año a Javahispano con derecho a postear y leer post.. jejej ;-) 

    PD: Si los encuentros no se hacen por rondas es algo facil de arreglar.

    Mientras NumeroParticipantes >=2

        RondaN = NumeroParticipantes / 2

    Cada mitad juega encontra de la otra pero aleatoriamente, es decir el 1 de la mitad A podria juegar contra el 14 de la Mitad B

    Al final de la ronda el numero de participante obviamente quedaria a la mitad, entonces se hace otra ronda, y asi y asi y asi.. Al final se harian el mismo numero de partidos. Ojo me el numero de participante obviamente serian pares.

  • JorgeRubira 23/04/2008 19:20

    Buenas,

    Para lo que comentas del caso de empate, es cierto que el video comenta que se obtiene al azar ya que fue el video del año pasado previo a unos cambios que si hicieron. Los cambios más sustanciales son estos:

    - En caso de empate, se decidirá el jugador que mas cerca(n) * tiempo(n) haya estado con la pelota. Es decir, intentar alejar la pelota de tu portería lo más tiempo posible. En la parte inferior hay una barra que indica quién ganaría.

    - Las fuerzas de los jugadores están capadas al rango [4,7]

    - La pelota no sale tan disparada en caso de bloqueo como la versión1.0.

    Saludos:

    Jorge

  • Anónimo 24/04/2008 00:06

    lo de la emoción y todo eso está muy bien... pero creo que es más importante que gane alguien que se lo curre y cree un algoritmo bueno y que no se descarte a las primeras de cambio. para los random ya está la primitiva.

     

    una solucion intermedia puede ser que para cada fase se hagan grupos de 8 equipos y pasen 4, por ejemplo.

  • Anónimo 24/04/2008 11:22

    genial!!! =D participare por primera vez =)

  • Anónimo 24/04/2008 12:36

    respecto al sistema de competición:

    si se hace un sistema de liga, claramente habrá miles de partidos, pero también los resultados se repetirán más. es decir, si ejecutamos un proceso que simule una liga por ejemplo 50 veces, casi con toda seguridad la mayoría las posiciones en la clasificación final seran iguales o muy parecidas

  • Anónimo 24/04/2008 14:22

    ¿Y por qué no haceis un sistema mixto, como en la Eurocopa? Se podrían hacer grupos de 4 donde jugasen todos contra todos. Y que pasasen a las siguientes rondas los dos mejores. Además, para hacerlo más 'justo', se podrían 'numerar' los equipos según sus resultados en la liguilla para evitar que los mejores de la liguilla se enfrenten antes de la final. Así todo el mundo se va habiendo jugado por lo menos 3 partidicos y se premia los resultados en la liguilla de cara a los cruces posteriores.

  • Marioko 24/04/2008 16:24

    jeje muchas ideas, todas muy buenas.. creo que hablo por todos al decir que esperamos que los organizadores de JavaCup para los proximos eventos (si no es posible en este) se agreguen algunas de estas excelentes ideas.. o se haga algo parecido que beneficie a todos..

  • abraham 24/04/2008 19:23

    Las ideas no son malas. Pero nosotros no andamos muy bien de tiempo y no creo que las implementemos para este concurso. Sin embargo, todos vosotros tenéis el software de la JavaCup ;) y tiene licencia GPL ;)  ;). Sólo decir que estaremos encantados de evaluar y considerar cualquier mejora que nos enviéis.

    Saludos.

  • Anónimo 24/04/2008 22:12

    Soy de argentina.... puedo competir?

  • JorgeRubira 24/04/2008 22:36

    Si, si, las personas de Argentina puede participar.

  • Marioko 24/04/2008 23:43

    Jejej ya se me habia olvidado lo de la licencia.... pues hay esta, todo el que quiera mejoras que ayude a hacerlas o que las haga el mismo (mi incluyo)... :D

     saludos

  • Anónimo 25/04/2008 09:58

    se habla de mejoras respecto al sistema de competición, de nada sirve implementar cualquier sistema si no se piensa cambiar

  • Marioko 25/04/2008 15:20

    Anonimo primero lee y despues escribes..

    Abrahan dijo
    ...Sólo decir que estaremos encantados de evaluar y considerar cualquier mejora que nos enviéis.

    Pues el considerar deja abierta la posibilidad que se implemente en proximos eventos..

  • Anónimo 27/04/2008 01:53

    el futbol no es emocionante seria mejor si en ves de un partido de football sea de un rts tipo warcraft starcraft age of enperise

  • abraham 27/04/2008 07:58

    El año pasado aceptamos varios cambios al software de la JavaCup durante el torneo. Si alguien nos envía algo que realmente merezca la pena, puede evaluarse volver hacer algo similar. Y en cualquier caso, sería un beneficio para todos para la siguiente edición.

    Saludos.

  • Anónimo 27/04/2008 20:17

    Veo que por aquí hay varios que participaron el año pasado... y no se ha pasado algo desapercibida una pregunta que hice el otro día o es que nadie me ha sabido contestar, pero me gustaría saber cuanto tiempo les tomó, aproximadamente, desarrollar su equipo el año pasado. No tengo demasiado tiempo y quería saber si me va a dar tiempo o no.

    Gracias

  • JorgeRubira 27/04/2008 20:28

    Buenas, hacer un equipo es muy sencillo (en menos de 30 minutos puedes hacer un equipo modificando alguna táctica entregadas en el paquete de descarga), depende siempre de lo que te quieras complicar. El año pasado, hubo personas que utilizaron la tácticas demo modificandolas un poco y hubo otras que se lo curraron mucho. Este año pueden servir de base las tácticas demo y las tácticas del año pasado que hemos entregado en el framework completo.

    Atentamente,

    Jorge

  • Anónimo 29/04/2008 13:40

    Sobre el sistema de competición se me ocurre una modificación que supongo no cambiaría mucho el software y evita que en primeras rondas quede fueraun equipo con posibilidadesde de estar entre los primeros clasificados. Se pude hacer una ronda NO eliminatoria y a partir de ahí jugarán en la siguiente ronda un ganador con un perdedor. Es para dar una segunda oportunidad, se suele hacer en maratones de fútbol sala para evitar que el azar deje fuera a un posible finalista por tocarle enfrentarse en primera ronda al campeón.

  • Anónimo 02/05/2008 13:05

    es valido a nivel mundial????? aun me queda por leer mucho aqui

    saludos

     

    me interesaa el torneo

  • Ramp 30/05/2008 01:06

    No sirven las descargas de framework en JavaCUP

Escribe tu comentario

Sun Microsystem Logo NHT-Norwick Logo

© 2002-2007 Asociación javaHispano