Evento en Córdoba–Día del programador

Afiche DIA DEL PROGRAMA_MAIL


Evento gratuito en Córdoba–Día del programador

mad programmer El próximo 12 de Septiembre estaremos junto a Bruno Capuano, dando una charla sobre desarrollo en IES.

Organizado por IES y MUG (Grupo de usuarios Microsoft Argentina), hablaremos sobre desarrollo de video juegos, Kinect, Arduino y otras cosillas.

Más detalles aquí: http://www.ies21.edu.ar/eventos/evento/24

 

2014-07-02-14-30-302014-08-25-18-20-29


jsGFwk en videos–Manejo de sonidos

Un nuevo video para aprender a incorporar sonidos a nuestros juegos.


Primeros pasos con Xamarin, jsGFwk y Android

Android_Robot

Hace varios años atrás había tenido un contacto con Xamarin (Mono) y su set de herramientas. Especialmente para poder conseguir lo mismo que conseguía para Windows Phone: Programar aplicaciones móviles usando Visual Studio y C#.

La experiencia había sido muy positiva, aunque no había terminado de encontrar el motivo para crear una aplicación y publicarla.

Con el tiempo, HTML5 y JavaScript se hicieron más populares, y el desarrollo de video juegos fue la gran motivación para tomar estas (En especial la primera) plataformas: Así nació jsGFwk.

Pero HTML5 ha trepado tanto que hoy, en Windows Phone 8 (Y Windows 8) podemos desarrollar aplicaciones usando esta tecnología de forma nativa. Y por supuesto, también es posible hacerlo para Android, y en este caso con Xamarin.

Entonces, con esta idea en mente, me propuse hacer algunas pruebas básicas, tanto para recordar lo aprendido de Xamarin, como para probar el rendimiento de jsGFwk en Android (Y en este tipo de aplicaciones).

Dejo aquí, entonces, un pequeño paso a paso para crear aplicaciones con soporte Web para Android y, además, implementar jsGFwk para desarrollar video juegos.

image
Desde Visual Studio, creamos una nueva aplicación del tipo WebView para Android.

image

En la carpeta Assets copiamos todos los scripts de jsGFwk.

El proyecto crea, por defecto, una página HTML con directivas Razor (RazorView.cshtml). Esta será la página con la que trabajaremos. Si bien podríamos agregar nuevas vistas, no las necesitaremos para este caso.

image

En la vista, agregamos las referencias a jsGFwk y código para crear un nuevo objeto que se mueva por la pantalla.

image

En las propiedades del proyecto, es importante seleccionar la versión de API a usar, en base al dispositivo en el que haremos las pruebas.

Salvo que configuremos otras versiones, tendremos disponibles emuladores para las versiones 10, 12 y 15, pero nuestro proyecto, por defecto, estará configurado para la versión 19.

Por lo que, o deberemos configurar un emulador con soporte para esta versión, o cambiar la versión de API del proyecto.

El último paso será ejecutar el proyecto, en un dispositivo físico, o en un emulador.

image

Podremos ver cómo el objeto creado se mueve de izquierda a derecha hasta desaparecer.

Por supuesto, aún queda mucho por hacer: Eliminar la cabecera, hacer que el área de juego ocupe toda la pantalla, crear otros objetos de juego y hacer que el mismo luzca como un juego, y más.

De cualquier manera, demuestra que es posible desarrollar fácilmente con Xamarin, HTML5 y JavaScript, para Android, siendo, para el desarrollador que no esté acostumbrado a plataformas no Microsoft, sentirse como en casa.


Dos videos dos–Desarrollo de video juegos

Hoy vienen dos videos sobre desarrollo de video juegos con jsGFwk:


jsGFwk–Scroll infinito

Otro video que sale del horno. Esta vez, algunos trucos para darle más vida a nuestros juegos.


Reconocimiento de voz

Con la inminente llegada de aplicaciones como Cortana, Siri y otros, donde el uso de la voz para ejecutar comandos en los dispositivos se hace cada vez más natural y al mismo tiempo, más exacta, la pregunta que surge es: ¿Cómo podemos hacer esto, nosotros, desde nuestras aplicaciones?

Si trabajamos con C# y en especial con .Net Framework 4.5, este trae un set de librerías que, trabajando en conjunto con el sistema operativo, puede emitir sonidos en base a texto escrito y al mismo tiempo, reconocer la voz y transformarla a texto.

Esta tecnología nos puede remitir a una vieja propuesta, en el caso de Microsoft mediante su TTS (Text to Speech), hoy, presentada mediante un ensamblado puramente .Net.

Importando librerías

image

El primer paso es importar el ensamblado System.Speech, el que nos proveerá los objetos necesarios para emitir sonidos o reconocer voz.

Haciendo hablar al sistema

La emisión de sonidos posee cierta simpleza. Siendo que, como decíamos, este mecanismo ya está aceitado, con un par de líneas de código podemos hacer que nuestra aplicación hable.

static void Main(string[] args)
{
            SpeechSynthesizer voice = new SpeechSynthesizer();
            while (true)
            {
                string text = Console.ReadLine();
                if (text == “quit”) { break; }
                voice.Speak(text);
            }
}

image

Aunque no podemos escucharla, la aplicación dice lo que escribamos. La voz elegida o el tipo de voz dependerá directamente de las voces que tengamos instaladas, las que podrán tener acento inglés, francés, chino o español, dependiendo de cuál seleccionemos.

Reconocer voz

El reconocimiento de voz es ligeramente diferente. Para este caso necesitaremos configurar un conjunto de palabras claves a ser analizadas, también, dependientes del idioma que estemos aceptando. Por lo que GREEN deberá, con un analizador en inglés, deberá sonar similar a GRIN para poder ser reconocido.

static void Main(string[] args)
{
    SpeechRecognizer recognizer = new SpeechRecognizer();

    Choices colors = new Choices();
    colors.Add(new string[] { “red”, “green”, “blue”, “hello”, “there” });
    GrammarBuilder grammarBuilder = new GrammarBuilder();
    grammarBuilder.Append(colors);
    Grammar grammar = new Grammar(grammarBuilder);

    recognizer.LoadGrammar(grammar);
    recognizer.SpeechRecognized += recognizer_SpeechRecognized;

    Console.ReadLine();
}

static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
    Console.WriteLine(e.Result.Text);
}

image

En resumen, podemos decir que, de cierta forma, la inteligencia de la aplicación que podamos desarrollar está relacionada con las posibles acciones asociadas a diferentes comandos de voz. Por supuesto, la calidad final de la aplicación dependerá también, en la calidad del complemento usado para reconocer la voz y transformarlo a texto.


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 1.198 seguidores