Articulo de referencia

Concurso de programación de juegos Java 4K

El concurso de programación de juegos Java 4K , también conocido como Java 4K o J4K , es un concurso informal que fue creado por la comunidad de programación de juegos Java para...

El concurso de programación de juegos Java 4K , también conocido como Java 4K o J4K , es un concurso informal que fue creado por la comunidad de programación de juegos Java para poner a prueba sus habilidades de desarrollo de software .

Concepto

El objetivo del concurso es desarrollar el mejor juego posible con cuatro kibibytes (4096 bytes) de datos. Si bien las reglas originales permitían casi cualquier método de distribución, en los últimos años se ha exigido que los juegos se empaqueten como un archivo JAR ejecutable , una aplicación Java Web Start o un applet de Java , y ahora solo como un applet.

Debido a que el formato de archivo de clase Java genera una sobrecarga considerable, crear un juego completo en 4K puede ser todo un desafío. Por lo tanto, los participantes deben decidir cuánto de su presupuesto de bytes desean destinar a gráficos, sonido y jugabilidad. Encontrar la mejor combinación de estos factores puede ser extremadamente difícil. Muchos participantes novatos creen que unos gráficos impresionantes por sí solos son suficientes para garantizar el éxito de un juego. Sin embargo, los proyectos con gráficos más modestos y centrados en la jugabilidad han obtenido puntuaciones más altas que estas demostraciones tecnológicas.

Premios

En sus inicios, el premio para ganar el concurso consistía en un fajo de " Duke Dollars", una moneda virtual utilizada en los foros de Java de Sun Microsystems. En teoría, esta moneda podía canjearse por premios físicos como relojes y bolígrafos. Con la introducción del concurso 4K, la moneda virtual perdió importancia, dejando así el concurso sin un premio real. Si bien se ha hablado de ofrecer premios, el concurso ha seguido prosperando sin ellos.

Series derivadas

Tras la creación del concurso Java4K, se han lanzado versiones derivadas dirigidas a 8K, 16K o una API específica como LWJGL , generalmente sin éxito. Si bien ha habido mucho debate sobre el porqué del éxito del concurso Java 4K, el consenso entre los participantes parece ser que ofrece un desafío muy atractivo: no solo tienen la oportunidad de demostrar sus conocimientos de programación Java, sino que el tamaño de 4K ayuda a "igualar las probabilidades" en comparación con otras competiciones donde la participación de artistas y músicos puede fácilmente colocar una entrada muy por delante de las demás. Los participantes parecen creer que 4K es el "punto óptimo" que equilibra las capacidades individuales. Gracias a las técnicas desarrolladas para el concurso 4K, se cree que añadir incluso un solo kilobyte abriría las puertas a juegos mucho más complejos que están más allá de la capacidad de un solo desarrollador.

Historia

Creación de concursos

El concurso de programación de juegos en Java 4K surgió el 28 de agosto de 2002, cuando un usuario con el nombre de codymanix publicó la sugerencia en los foros de Java de Sun Microsystems . Tras un breve debate sobre la viabilidad de un juego en 4K, un usuario con el nombre de mlk organizó oficialmente el concurso el 29 de agosto de 2002.

Poco a poco, comenzaron a llegar las inscripciones para el concurso. La mayoría eran applets, ya que se creía que separar las imágenes de los archivos de clase ayudaría a reducir el tamaño del archivo. En concursos posteriores, esta tendencia se invirtió, pues los creadores de juegos utilizaron archivos JAR comprimidos para reducir el tamaño de su código.

Uno de los aspectos más interesantes del primer concurso fue que se permitieron aplicaciones que no fueran juegos. Un participante creó un servidor Telnet en 4K de Java. Sin embargo, este prototipo de la primera competición no se conservó y probablemente se permitió debido a la poca rigidez con la que se gestionó el concurso. Aunque no se declaró oficialmente un ganador el primer año, el juego de carreras en 4K presentado por Robin Chaddock (alias Abuse/AbU5e) fue considerado generalmente como el ganador.

Las sucesivas ediciones del concurso se fueron organizando cada vez mejor, con muchos participantes colaborando en la administración y promoción. Todos los concursos contaban con un jurado oficial, cuyo método se perfeccionaba anualmente. Al tercer año, el concurso se trasladó oficialmente a los foros de JavaGaming.org. El cuarto año se introdujo el sitio web JavaUnlimited como repositorio oficial del concurso. Este sitio se había utilizado el año anterior para dar seguimiento a las participaciones publicadas en los hilos oficiales de JavaGaming.org y forum.java.sun.com.

Evolución a lo largo de los años

  • Año 2 (2004)

El uso intensivo de sprites prerrenderizados , transparencia y efectos de sonido definió las propuestas de este año. Los principales contendientes fueron Defender 4000 , Shooty-Transparenty Game de Abuse y Space Invaders . Sin embargo, la falta de sonido de Space Invaders hizo que se quedara atrás de las otras dos propuestas, que competían ferozmente por incorporar la mayor cantidad de tecnología y jugabilidad.

Resultaron particularmente interesantes las diferentes tácticas empleadas por ambos participantes. En cuanto a los gráficos, Abuse utilizó muy pocas imágenes de alta resolución a las que aplicó transparencia y rotación durante la ejecución. Jbanes, por otro lado, desarrolló una técnica de empaquetado de imágenes que le permitió almacenar veintiuna imágenes monocromáticas. En lugar de aplicar rotación y transparencia, optó por utilizar su mayor número de imágenes para producir animaciones prerrenderizadas. En cuanto al sonido, Abuse utilizó campanillas nítidas y otros instrumentos del banco de sonidos MIDI . Jbanes, en cambio, optó por un sonido PCM generado en tiempo de ejecución que recordaba más a los videojuegos de finales de los años 70 y principios de los 80.

Ambos enfoques tenían sus ventajas, por lo que es difícil determinar qué fue lo que finalmente inclinó la balanza a favor del juez. Lo que sí se sabe es que el segundo año fue el último en el que el sonido fue un factor decisivo en los juegos. En los años siguientes, los bytes asignados al sonido se reasignaron a otras funciones, como gráficos 3D, niveles y jefes finales .

El segundo año fue el primero en que se llevó a cabo una evaluación oficial. A diferencia de los años siguientes, el único juez fue el organizador del concurso, mlk . Tras una cuidadosa consideración, el juez decidió otorgar a Prong el Premio al Mejor Logro Técnico y declaró a Defender 4000 como ganador absoluto. Calificó cada juego, pero no utilizó esta puntuación para determinar al ganador. El juego Shooty-Transparenty de Abuse obtuvo un punto más que Defender 4000 .

  • Año 3 (2005)

El tercer año se caracterizó por una importante afluencia de desarrolladores Java profesionales, la incorporación de gráficos 3D en los juegos y una transición gradual a los foros de JavaGaming.org. JavaUnlimited también comenzó a replicar el contenido de sus competidores en un archivo permanente. Si bien la réplica comenzó como una página HTML editada manualmente, con el tiempo se convirtió en un sitio web completo de gestión de contenido con una base de datos integrada.

Este año, la evaluación estuvo a cargo de un panel de tres voluntarios, desarrolladores profesionales que no participaban en el concurso. Uno de los jueces voluntarios fue Chris Melissinos , director de juegos de Sun. El método de puntuación utilizado se basó en el que mlk había aplicado el año anterior, pero se actualizó para permitir que los jueces otorgaran premios a la jugabilidad excepcional o a los logros tecnológicos.

Si bien la mayoría de los juegos presentados eran de una calidad excepcional, T4XI , de Kevin Glass (también conocido como kevglass ), fue elegido como ganador. Además de contar con una jugabilidad sumamente original, ofrecía gráficos excepcionales gracias a un efecto pseudo-3D que aportaba perspectiva a los edificios.

Surgió una pequeña controversia debido a que algunos juegos no fueron calificados por los jueces. Juegos como JM4K e IsOlation Net eran demasiado complejos para que los jueces los ejecutaran o contenían componentes de red que no podían probar. Tras la competición de este año, se modificaron las reglas para exigir que los juegos fueran autoejecutables. Además, se advirtió a los participantes con antelación sobre las dificultades para evaluar juegos en red.

  • Año 4 (2006)

El cuarto año marcó un período de transición hacia la priorización de la jugabilidad sobre los gráficos y los logros técnicos. Muchos de los juegos tenían un diseño bastante simple, pero buscaban compensarlo con una jugabilidad absorbente o adictiva.

Por primera vez en la historia del concurso, se creó un foro especial en JavaGaming.org para organizarlo. Además, el sitio JavaUnlimited.net se convirtió en el sitio oficial para la recepción de trabajos y la evaluación. Si bien inicialmente la evaluación iba a ser gestionada a través de JavaUnlimited por la comunidad de Javagaming.org, la oposición de varios miembros llevó a recurrir a un sistema de evaluación más tradicional.

Tras conocerse los resultados, Miners4K , de Markus Persson, fue declarado ganador. El segundo puesto fue para Roll4K , de Kevin Glass , y el tercer puesto para Goomba4K, de Woogley.

Los resultados de la evaluación del cuarto año fueron significativamente mejores que los del tercero, en parte debido a los cambios en las reglas que obligaron a las propuestas a ajustarse a formatos fácilmente ejecutables. Sin embargo, esto no eliminó los problemas de evaluación. Surgió cierta controversia cuando dos propuestas ( Xero y JSquares ) recibieron puntuaciones más bajas debido a fallos técnicos. Se plantearon varias recomendaciones para evitar que esto ocurriera en futuros concursos, incluyendo la reducción de la puntuación media y la verificación de la puntuación del jurado antes de la aceptación.

  • Año 5 (2007)

El Año 5 se lanzó en diciembre de 2006 y duró hasta el 1 de marzo de 2007. En él se lanzaron algunos juegos excelentes, con mucho menos énfasis en los gráficos 3D y pseudo-3D. La mayoría de los juegos eran 2D, siendo Pipe Extreme y Trailblazer las únicas excepciones notables (se podría argumentar que algunos otros también son 3D, pero en menor medida).

Al igual que en el año 4, se alojó un foro en JavaGaming.org para albergar el concurso. El sistema de JavaUnlimited se utilizó nuevamente para alojar los juegos, siendo considerado el sitio oficial para las inscripciones. Se planeó una actualización del sitio para JavaUnlimited, pero no se llevó a cabo. Originalmente, el plan era tener una votación pública y un panel de jueces. Un mes después de la fecha de cierre del concurso, el organizador, sin más explicaciones, eliminó el panel de jueces, lo que causó cierto malestar en los foros, acusaciones de censura, hilos bloqueados y dos participantes que retiraron sus inscripciones del concurso (reduciendo el total de 65 a 58). [ 1 ] La votación se limitó a los participantes del foro javagaming.org, y dentro del tiempo asignado, 25 personas votaron. Aproximadamente dos meses después de la fecha de cierre del concurso, se anunciaron los resultados oficiales.

El ganador fue Metro4k de Blaine Hodge, seguido de Roadfourk de Jojoh y aichess4k de Ulf Ochsenfahrt . Metro4k es un juego de simulación urbana similar a Sim City , Roadfourk un juego de carreras y aichess4k un juego de ajedrez con un oponente de IA.

A diferencia de años anteriores, en el quinto año ningún juego ocupó el "último lugar", porque el sistema de votación de aprobación utilizado solo otorgó votos a aproximadamente la mitad de los juegos.

  • Sexto año (2008)

El Año 6 se lanzó en diciembre de 2007 y duró hasta el 1 de marzo de 2008. Se presentaron notablemente menos juegos que en 2006 y 2007: solo 21 en total. La mayoría de los juegos eran en 2D, y solo 3 utilizaban gráficos en 3D o pseudo-3D.

La competición se celebró en un nuevo sitio web, Java4k.com . Los juegos de años anteriores también se pueden encontrar en el nuevo sitio web. Antes del lanzamiento del concurso, woogley había anunciado su retirada de la organización del mismo. Por lo tanto, la tarea de administrar el concurso y alojar el sitio fue asumida por Arni Arent (appel) y Joakim Johnsson (jojoh). Al igual que en años anteriores, también hubo un foro dedicado Archivado el 4 de noviembre de 2015 en la Wayback Machine en Java-Gaming.org .

Los juegos fueron evaluados minuciosamente por cinco jueces: Arni Arent, Joakim Johnsson, Kevin Glass, Matt Hicks y Chris Melissinos. Evaluaron cada juego en tres categorías: General, Técnica y Presentación. Los resultados se anunciaron el 28 de marzo de 2008.

  • Séptimo año (2009)

El séptimo año se lanzó en diciembre de 2008 y duró hasta el 28 de febrero de 2009 (fecha extendida desde el 31 de enero). El número de juegos presentados volvió a los niveles anteriores, con 67. Este año se introdujo el requisito (posteriormente flexibilizado, pero que la mayoría de los juegos aún respetaban) de usar la implementación JNLP, y como resultado hubo una mezcla de aplicaciones y applets.

Otras novedades técnicas de este año fueron la presentación de juegos de palabras y un juego que utilizaba el micrófono. Word Twister usaba niveles predefinidos, y Scr4mble utilizaba la reflexión para obtener nombres de clases de la API J2SE y dividirlos en palabras para crear un diccionario. Frequent Flier se controlaba mediante el tono cantado en el micrófono.

Los juegos fueron evaluados por cinco jueces: Arni Arent, Chris Melissinos, Matt Hicks, Eli Delventhal y Mark DeLoura . Como en ocasiones anteriores, evaluaron los juegos en las tres categorías de desempeño general, técnico y de presentación.

Hubo una pequeña controversia con respecto a la puntuación porque algunos jueces no pudieron jugar algunos partidos. Sus puntuaciones para esos partidos fueron inicialmente 0 y se descontaron de esos partidos cuando se publicaron las puntuaciones por primera vez el 1 de abril, pero los promedios se modificaron tres horas después para excluir estas puntuaciones de 0.

  • Del octavo año (2010) al duodécimo año (2014)

Tras los problemas surgidos con Webstart en 2009, los concursos de 2010 y posteriores se limitaron a applets, aunque se introdujo la opción de usar la compresión pack200. Desde 2010, los jueces solo otorgaban una puntuación global, que se normalizaba antes de calcular el promedio. También existía un sistema de votación comunitaria independiente en el que cada votante disponía de 50 puntos (25 antes de 2013) para distribuir entre los juegos, con un límite de 5 puntos por juego. Desde 2013, los votantes tienen la opción de añadir una breve frase como comentario.

Resultados

  • Archivo web del hilo original : Sun eliminó el hilo original durante una limpieza rutinaria del sistema.
  • Lista incompleta de inscripciones de primer año - Guardada por Archive.org
  • Hilo del año 2 archivado el 24/05/2005 en Wayback Machine - En los foros de Java de Sun
  • Java Unlimited : el repositorio de juegos enviados desde 2005.
  • Trucos de diseño de juegos en 4K : un artículo de la wiki para ayudar a los nuevos usuarios.
  • Consejos y recursos para 4K archivados el 24/06/2007 en Wayback Machine : un conjunto de consejos, tutoriales y códigos fuente de juegos para los participantes de 4K Java.
  • Foros de concursos de JavaGaming.org archivados el 4 de noviembre de 2015 en Wayback Machine : cada año (a partir del año 3) tiene su propio subforo.
  • ¿Por qué es tan divertido escribir y jugar a juegos en 4K?
  • ¿Debería haber competiciones de juegos Java sin límites de tamaño? Archivado el 4 de noviembre de 2015 en Wayback Machine.

Referencias

  1. "Foro de JavaGaming" . Archivado del original el 28 de septiembre de 2007. Consultado el 30 de abril de 2007 .