BGM for free Shooting game

Desde Embarcadero Japón tenemos un ejemplo muy interesante de un juego sencillo pero interesante a nivel de programación desarrollado por Haruyuki Mohri. Básicamente es un shooter sobre móviles como ejemplo del uso de las liberias TBitmapAnimation y TFloatAnimation.



Artículo original:

Simon, color vs. color (3)

En esta sesión introduciremos las primeras funciones de control en la App, así como los primeros elementos gráficos.


Antes de empezar con el desarrollo de un videojuego para móviles, si se va a utilizar Internet, como es este caso, para acceder a bases de datos en la nube es necesario saber en algunos puntos del juego si disponemos de dicha conexión.

Así mismo deseamos saber que tipo de dispositivo utiliza el usuario del juego, ya que en el momento de definir la interfaz de usuario es importantes, al menos, en diferenciar lo que es una tableta o un teléfono inteligente. En este ejemplo muestro esta diferenciación, pero ustedes pueden ajustar estas variables según sus necesidades.

Una vez preparada las rutinas iniciales, mostraré como implementar la primera pantalla. Esta pantalla es la pantalla de carga. Muchas veces el tiempo de carga puede variar mucho dependiendo del tipo de dispositivo y funciones que se necesiten ejecutar al inicio de la aplicación, con lo cual, una pantalla inicial, además de mostrar información, si lo consideramos relevante (cargando, accediendo a la base de datos, etc.), ayuda a minimizar el tiempo de espera del usuario.

Temas tratados en el tutorial:
  • Acceso al la versión de la aplicación
  • Comprobación del acceso a Internet
  • Comprobación de las medidas de la pantalla (FMX FlyFilesUtils)
  • Uso de TListImage

Simon, color vs. color (2)

Presento la primera serie que publico sobre la creación de videojuegos con Delphi Firemonkey. En esta serie explicaré paso a paso como crear juegos usando esta gran herramienta de desarrollo. Hasta ahora he hablado sobre la concepción del juego y la fase de diseño.


En esta entrada presento el primer vídeo tutorial. En este vídeo explico la fase inicial del proyecto, la estructura de ficheros, la configuración del proyecto y los primeros pasos en la creación del juego. Espero que les guste.

Simon, color vs. color (1)

Cuando diseñé Simon, color vs. color, intenté aplicar las nociones de diseño que conozco. Seguramente el mayor error cometido es un exceso de complejidad en un juego diseñado para móviles. Así que en un ejercicio de autocrítica he rediseñado el juego y os presento un nuevo diseño a modo de ejemplo.

En un primer diseño, el juego tenia etapas, nieveles, 4 modos de juego, multijugador, etc. Seguramente este ejemplo de complejidad no es correcto para un juego de puzzle casual, para jugar un partida en cualquier lugar.

En un nuevo diseño he simplificado el modelo de juego a un solo modo de juego y un sistema muy simplificado. Además he potenciado el modelo de recompensas y de competitividad entre jugadores.



El menú general de la aplicación también es necesario simplificarlo para hacer mucho más accesible llegar al modo de juego.


Por lo que hace referencia al modo de juego también hacía falta simplificarlo ya que tanto el modo multijugador no se usaba a la práctica, como en los 4 modos de juego que algunas veces confundía al jugador.


En el nuevo diseño el menú principal da fuerza a la opción de jugar, dejando como elementos secundarios todas las otras opciones. Además se ha potenciado los elementos de recompensa como un ranking entro todos los jugadores para saber tu posición mundial, así como retos locales a corto plazo para retar al jugador a seguir mejorándose a si mismo.



Diseñando videojuegos

El error mas comun en el mundo de la programación de un videojuego es olvidar o no dar la importancia que realmente tiene el aprtado de diseño. Es comocido por todos los diseñadores de juegos que no se debe empezar a programar sin antes tener claro el diseño del mismo.

Yo personallmente perfiero el diseño analógico (lapiz y libreta) para hacer mis diseños. En el mundo del diseño de juegos hay mucha literatura al respecto, pero el concepto básico en todo juego és el deseo y la diversión. Una vez realizado el diseño deberiamos poder contestarnos a estas cinco preguntas:
  1. ¿Es divertido?
  2. ¿Es desafiante?
  3. ¿No es frustrante?
  4. ¿Hay recompensa?
  5. ¿Ofrece una experiencia nueva cada vez que se juega?
Según Durgan A. Nallar en su obra Diseño de videojuegos en América latina, expone los mecanismos básicos del placer lúdico en el ser humano como:
  1. Aceptación (ser aprobado)
  2. Curiosidad (aprender)
  3. Apetito (alimentos)
  4. Familia (tener descendencia)
  5. Honor (valores de clan o grupos)
  6. Idealismo (justicia social)
  7. Independencia (individualidad)
  8. Orden (organización, estabilidad y predicción)
  9. Actividad física
  10. Poder (influencia)
  11. Romance (sexo)
  12. Ahorro (recoger y acumular)
  13. Contacto social (amigos y relaciones)
  14. Estatus (sentirse importante)
  15. Tranquilidad (seguridad)
  16. Venganza (contraatacar y ganar)
En resumen podriamos decir que un buen juego debe satisfacer algunos de los deseos huamnos para obtener un binestar psíquico y con ello la felicidad en el juego y la diversión.

Un juego divertido que satisfaga estos deseos produce un placer que se convierteen un habito. La repetición de incentivos produce que este habito se convierta en fidelización.

¿Qué es divertido? ¿Que ingredientes debe tener un juego para que sea divertido?
  • Ganar
  • Resolver problemas
  • Explorar
  • Trabajo en equipo
  • Reconocimiento
  • Coleccionismo
  • Sorpresa
  • Imaginación
  • Compartir
  • Jugar a rol
  • Personalización
  • Perder el tiempo

Sin querer entrar en mas detalles, tened en cuenta estas ideeas cuando diseñeis vuestros juegos. Es un poco atrevido por mi parte cerrar el apartado de diseño aquí, ya que este tema importante que da para llenar centenares de páginas. Pero como este bloc está mas orientado a la programacón no me extenderé más. Os recomiendo que amplieis la información si realmente os gusta el mundo del diseño de videojuegos... es realmente apasionante.

Recursos

Uno de entre los principales problemas para los estudios pequeños, es que entre muy pocas personas hay que hacer un trabajo enorme donde muchas disciplinas distintas están involucradas. Es muy difícil ser un buen diseñador, programador, artista y músico a la vez para desarrollar un producto con un calidad suficiente si queremos comercializar el producto.

Para ello es importante tener un banco de recursos para poder utilizar si realmente tu fuerte es la programación y no tienes tiempo o infraestructura suficiente para invertir horas y mas horas en la parte artística del desarrollo de un juego.  

Yo recomiendo centrar el esfuerzo en la parte de diseño y la programación y utilizar bancos de recursos para los primeros proyectos mientras el equipo de trabajo sea pequeño. Un buen juego es como una película de cine; si el guión es sólido y los actores y actrices buenos el director tiene la mitad del trabajo hecho, pero si el guión es malo, lo mas probable será que el producto final no este a la altura de nuestras expectativas.

Gráficos
  • FreePik - Recursos gratuitos con atribución al autor, o por una cuota mensual, libremente sin mención.
  • Iconmonstr - Iconos gráficos libres sin necesidad de atribución del autor.
  • Icon Archive - Banco de iconos libres,

Música
  • ChipTone - Generador de efectos sonoros gratuitos y libres de distribución.
  • Bigsoundbank - banco de sonidos 100% gratuitos.
  • SoundBible - Banco de sonidos con diferentes tipos de distribución.



Delphi Boot Camp Day 4 - Game Development with Delphi


Para aquellos que os iniciéis, en el las sesiones del Boot Camp 2016, Embarcadero hizo una sesión especifica para el desarrollo de juegos utilizando Delphi. En esta sesión se mostraban 4 ejemplos de juegos desarrollados con Delphi donde a partir del mismo código funcionaban con Windows, Android y iOS.

El evento dirigido por Eli M. de FMXExpress.com da algunas pistas interesantes sobre los principios básicos de cualquier juego y es una excelente trampolín para todos aquellos que queráis hacer algun juego multiplataforma con la misma base de código utilizando Delphi.

Agenda
  • Game loop
  • Using TRectangle
  • Frames UI
  • Motion Sensor
  • High Scores via SQLite & LiveBindings
  • Object Pooling
  • Sprite Sheet Animation
  • App Tethering
  • Cross Platform Sound

Yo personalmente encontré muy interesante la solución que aporta a partir de Frames, el sistema de sonido multiplataforma y la gestión de Sprites con los Sprite Sheet Animations.



El código fuente de los ejemplos lo podéis encontrar aquí. (http://embt.co/DelphiGames2016)

Simon, color vs. color (0)

Después de un tiempo de inactividad debido a problemas médicos, retomo el Bloc que empecé con ilusión hace unos meses.

Mi propuesta consiste en hacer un conjunto de entradas con un paso a paso en la creación de algunos juegos utilizando Delphi desde el diseño inicial hasta la publicación y monetarización de la App a través de Google AdMob o otras plataformas.

Mi primera propuesta será una re edición de mi proyecto Simon, color vs color a partir del análisis de la aplicación, su re-diseño y la programación paso a paso de la nueva versión. Espero que les guste.

Simon, color vs color, es un juego basado en el clasico SIMON de Ralph Baer y Howard J. Morrison en 1978.  El juego es básicamente un juego de memoria. Simon enciende uno de los pads de colores y suena un tono, luego dos, luego tres, etc. Los jugadores intentan hacer coincidir a Simon presionando los pads en la secuencia correcta. Si alguien falla, obtienen una sonido de error y están fuera del juego. Por supuesto, Simon acelera a medida que avanza el juego, por lo que cada vez es más difícil.


Entrando en el mercado chino (9)

Por fin he recibido el correo donde se validaba la aplicación final y el juego era apto para publicarse en tiendas de aplicaciones chinas. ...