sábado, 5 de abril de 2014

Skullgirls Endless Beta - Big Band y Fukua

Esto es una prueba del formato WebM, el nuevo personaje de Skullgirls y el personaje que sacaron el 1 de abril:

viernes, 14 de febrero de 2014

Esta vez todos vamos a jugar con IRCGameCommander

Después de una maratón del "Señor de los anillos" llegué bastante tarde a mi casa para encontrarme con una de las cosas más geniales que he visto en los últimos días mientras vagaba por un foro antes de ir a dormir, a una persona se le ocurrió hacer un streaming de Pokémon, pero, el chat de la transmisión controlaba el emulador creando un hermoso caos y la forma más pura de un "Vamos a Jugar a"
Mi cara cuando vi la idea en acción
La diversión que transmitía el chat cuando lograban completar una tarea era un sentimiento poderoso, por lo cual decidí ponerme manos a la obra y con poderosa ciencia programar un software que me permitiera hacer lo mismo. después de una buena desvelada, toda la discografía de Richard Cheese y unos roles de canela Bimbo  ¡¡¡ESTA VIVO!!!


Este programa esta hecho en C# y en pocas horas nació como un port, la versión 2.0, el original estaba hecho en python sin embargo requería de un software de terceros que tenia un problema fatal y no me permitía completar mi misión divina (Moraleja: no confíen en código con binarios cerrados y poca documentación).

Para ejecutar este programa necesitaran lo siguiente:
 vJoy Driver: http://vjoystick.sourceforge.net/ (Hay que instalar este primero, viene con el Feeder)
La entrada de texto para el canal debe ser: #nombredelcanal
Para obtener el Pass-Code de su canal necesitan entrar a este lugar: http://twitchapps.com/tmi/
(Creo que es el mismo que usan aplicaciones como Xsplit para conectarse)

SOLO FUNCIONA PARA TWITCH, NO CAMBIEN LA IP DE SERVIDOR NI EL PUERTO

Para configurar los controles del juego tienen que usar configuración de Gamepad/Joystick y usar el vJoy Feeder para definir los botones y ajustar el vJoy con 17 botones.

Los botones corresponden a un numero determinado, se debe seguir esta numeración para configurar el juego con el vJoy Feeder  "boton:numero"
up:1, down:2, left:3, right':4, select:5, start:6, a:7, b:8, x:9, y:10, l:11, r:12, r2:13, l2:14, r3:15, l3:16, home:17

Antes de dejar el enlace de descarga para que lo prueben y se vuelvan locos debo de dar unas últimas advertencias: este software NO fue probado rigurosamente puede contener algunos errores, los corregiré una vez duerma un poco.

Sobre todo y más importante va esta advertencia, espero la lean con cuidado y a conciencia:

ESTE SOFTWARE SE ENTREGA COMO ESTA Y SIN MÁS INSTRUCCIONES, CUALQUIER COSA QUE PUEDA PASAR ES RESPONSABILIDAD DEL USUARIO, EL AUTOR SE DESLIGA DE CUALQUIER RESPONSABILIDAD POR INCIDENTES QUE ESTE SOFTWARE PUEDA OCASIONAR. EL AUTOR DE ESTE SOFTWARE NO PROPORCIONARÁ SOPORTE TÉCNICO NI RESPONDERÁ PREGUNTAS SOBRE SU USO, EL AUTOR NO TIENE LA OBLIGACIÓN REALIZAR ACTUALIZACIONES A ESTE SOFTWARE, ÚSELO BAJO SU PROPIO RIESGO.

En este punto supongo que los que no sean retrasados mentales entienden las advertencias, así que aquí les dejo el enlace para descargarlo.

ACTUALIZACIÓN 15 de Febrero del 2014:

  • Se agregó el poder apretar las direccionales un numero de veces entre 2-20 ejemplo: up 20 (no aplica para para otros botones y debe contener un espacio entre comando y numero de veces, si el numero es muy grande solo se presionará una vez).
  • Se arregló la configuración de los botones, no todos concordaban con vJoy Feeder
  • Se arreglaron bugs que congelaban el programa y causaban perdida de mensajes.
  • Se agregó botón para conectarse y desconectarse permitiendo cambiar de chat.

Espero que esto sea de utilidad y diviértanse si lo pueden usar ;)




sábado, 22 de junio de 2013

LP Encoder - Prueba de Concepto

Hace tiempo he tenido la práctica de generar scripts que automaticen mi trabajo, mis primeros Let's Play se beneficiaban por esto, era capaz de generar vídeos a una velocidad sorprendente, tanto que lograba colgar consistentemente dos vídeos al día todos los días, obviamente los vídeos que subía no tenían mucha calidad puesto que usaba una compresión muy fuerte para lidiar con el internet miserable que tenia en esa época, colgar 50mb era una espera eterna, con el paso del tiempo, evolución de la tecnología y un mejor servicio de internet abandoné la práctica de la automatización y empecé a editar los vídeos personalmente, hasta la fecha aún me doy asco por hacer semejante cosa y perder mi tiempo cuando puedo usar ¡SCIENCE!

Una fiel representación mía de aquellas ocasiones en las que esperaba que mi internet cargara el vídeo.
Con el paso del tiempo mis vídeos han subido de cálida visual y auditiva considerablemente pero mi tiempo ha ido disminuyendo con cada año que pasa, simplemente ya no puedo mantener el mismo ritmo, extraño realmente aquellas épocas en las cuales grabar era lo más tardado, ejecutaba un script y en unas horas todo estaba listo para subirse a internet. Por las razones anteriores desarrollé este software cuyo trabajo es automatizar la edición estándar que se tiene que hacer, de manera breve el proceso de este software es:
  1. Conseguir el audio del juego.
  2. ajustar la ganancia de volumen (en porcentaje) del juego.
  3. ajustar la ganancia de volumen (en porcentaje) de los comentarios.
  4. mezclar el audio.
  5. remplazar el audio del vídeo con el audio mezclado.
  6. recortar el vídeo para quitar las barras negras (opcional).
  7. aplicar filtros y transformar a full HD (opcional).
El software acepta aquellos formatos que ffmpeg y mencoder sean capaces de procesar, normalmente si pueden reproducirlos pueden procesarlos con esto. COMO ADVERTENCIAS PRELIMINARES: el archivo de los comentarios debe tener formato WAV, el postfijo "-commentary" en el nombre y la tasa de muestreo del audio de los comentarios (Hz) debe ser la misma que el audio del vídeo con el gameplay. Si la taza de muestro del vídeo de gameplay es 48000Hz el de los comentarios debe ser el mismo (¿Cómo se hace? Google es su amigo).

Para ejecutar este script es necesario por lo menos Python 2.5, para esta prueba se usó Python 2.7.3 y estas son las características del equipo en el se realizó la prueba:

Procesador:          AMD Athlon XP 2000+ 1.66GHz Cache 64 + 64 + 256
Memoria:              256 MB DDR-SDRAM 166.4MHz Un Canal
Tarjeta Madre:      SiS 741-964
Tarjeta de Vídeo:   Nvidia GeForce4 MX 4000 (NV18) AGP 8x 128MB DDR-SDRAM 64-bit
Disco Duro:           IDE ATA-133 Maxtor 6Y120L0 122 GB, 2MB
Sistema Operativo: Windows XP Profesional Service Pack 2 Build 2600

Esto fue planeado como una prueba de estrés para el software ademas de que mis computadoras son bastante sencillas, esta en particular tiene casi 9 años de servicio, no sean duros con ella, hace lo que puede con lo que tiene. Les dejo por fin unas capturas de la prueba para que vean como se usa este software, más explicaciones después:

Se pueden apreciar los archivos y el comando usado para procesar el vídeo.
Este es el comando que se usó: LPencoder.py Starfox-POC.mpeg -75 100 675:449:22:13 std para los que no entendieron como se usaron los argumentos esta es una breve explicación:

  • El primer argumento es el vídeo a procesar.
  • el segundo argumento es la ganancia del volumen del audio del juego (en porcentaje valores negativos indican un decremento de volumen).
  • el tercer argumento es la ganancia del volumen del audio de los comentarios (en porcentaje).
  • el cuarto argumento es el retraso que debe tener el audio de los comentarios y es medido en segundos.
  • el quinto argumento es el recorte para eliminar las barras negras con medidas Ancho:Alto:X:Y o "no" para no realizar el recorte del vídeo.
  • el sexto argumento es la transformación a HD con las opciones std (Calidad estándar, procesamiento rápido para equipos no muy potentes), Lossles (Máxima calidad, procesamiento tardado para equipos robusto) y no (No transforma el vídeo en HD).
Para obtener el recorte del vídeo se puede usar el comando: ffmpeg -i video_de_entrada -ss HH:MM:SS -r 1 -t 1 imagen-%d.png y abrir la imagen resultante en un editor de imagenes el cual proporcionara las medidas adecuadas de recorte (esto es responsabilidad del usuario, sorry).

Especificare el software y hardware que se usó para grabar, las características del vídeo de entrada y el de salida.

Hardware de grabación: Capturadora Steren COM-445
Software de grabación:  GrabBee 1.0.7.6 y Audacity 2.0.3
Perfil GrabBee:              DVD-NTSC 

Vídeo de entrada
Duración:            00:16:52
Peso:                  661 MB
Códec:               MPEG-1/2 (mpgv)
Resolución:         720x480
FPS:                   59.940059
Códec de audio:     MPEG Audio Layer 1/2/3
Canales:                 Estereo
Taza de Muestreo: 48000 Hz
Bits por muestra:    384 kb/s

Audio de los comentarios
Duración:               00:16:50
Peso:                     92.5 MB
Códec:                  PCMS16LE (araw)
Taza de Muestreo: 48000 Hz
 Bits por muestra:  16

Vídeo de salida
Duración: 00:16:52 (Si el audio de los comentarios no se recortó puede aumentar la duración)
Peso:                            924 MB
Resolución                    1920x1080
FPS:                             29.970029
Formato decodificador: Planar 4:2:0 YUV
Códec de audio:           MPEG AAC Audio (mp4a)
Taza de Muestreo:        48000Hz

La prueba finalizó en 1 hora con  28 minutos, 41 segundos y 266  milésimas.

Yo estaba dormido cuando terminó pero el software indica cuanto tarda.
Al finalizar quedan tres archivos nuevos, un log, Starfox-POC-new.mpeg el cual es el vídeo con recorte (disminuye la resolución y el códec puede variar según la entrada si se hace el recorte, de otra manera el códec y resolución quedan iguales pero el audio formato de audio puede diferir) y Starfox-POC-HD.mp4 que es el archivo final que estábamos buscando.
Aquí se ilustra el resultado de una cruzada por el bien de la humanidad.
A continuación dejaré el vídeo de prueba de concepto que se generó con este software:

Antes de dejar el enlace de descarga para que lo prueben y se vuelvan locos debo de dar unas últimas advertencias: este software NO hace pre-edición de audio, si el comentario o el vídeo del juego tiene ruido, si el vídeo o audio debe ser cortado o mejorado con otros filtros debe hacerse de manera manual.
Sobre todo y más importante va esta advertencia, espero la lean con cuidado y a conciencia:

ESTE SOFTWARE SE ENTREGA COMO ESTA Y SIN MÁS INSTRUCCIONES, CUALQUIER COSA QUE PUEDA PASAR ES RESPONSABILIDAD DEL USUARIO, EL AUTOR SE DESLIGA DE CUALQUIER RESPONSABILIDAD POR INCIDENTES QUE ESTE SOFTWARE PUEDA OCASIONAR. EL AUTOR DE ESTE SOFTWARE NO PROPORCIONARÁ SOPORTE TÉCNICO NI RESPONDERÁ PREGUNTAS SOBRE SU USO, EL AUTOR NO REALIZARÁ ACTUALIZACIONES A ESTE SOFTWARE, ÚSELO BAJO SU PROPIO RIESGO.

En este punto supongo que los que no sean retrasados mentales entienden las advertencias, así que aquí les dejo el enlace para descargarlo.

Descargar

Espero que esto sea de utilidad y diviértanse si lo pueden usar ;)

jueves, 20 de junio de 2013

Mi Nintendo 64 es como ¡Munra el inmortal!

En dos ocasiones mi 64 ha muerto y ha vuelto de la tumba con mi persistencia y necedad de no comprar uno de segunda mano que remplace al original, simplemente no me puedo deshacer de todos esos buenos recuerdos de infancia, remplazar este aparato sería una falta de respeto.

Hace dos meses empecé a dar por perdido mi 64 y buscar ofertas en ebay, desde aquel día en el que salía con la chica Rupelstinski y ella solía ir a mi casa a jugar The Legend of Zelda Ocarina of Time mi vieja consola de videojuegos  presentó los síntomas de la edad reseteandose cada 3 minutos, al principio pensé que era por un mal contacto que provocaba un corto y reiniciaba el aparato en cuestión como la ocasión pasada. Efectivamente un corto circuito era el problema por lo que procedí a remover la pieza en cuestión, esta reparación solo permitió que mi ex-ex terminara Dodongo's Cavern y volvió a fallar como la última vez, en esta ocasión me rendí de inmediato y dí por muerta mi consola, en realidad nunca me dí a la tarea de probar toda la placa con un voltimetro para encontrar al culpable de semejante fechoría, sobra decir que al final termine pasando una partida hasta ese punto para que la chica Rupelstinski continuara jugando, terminó Lord Jabu-Jabu y después la corté por Filthy Casual.

Mi cara cuando me lloró para regresar.
Así pasó un tiempo, en mi cabeza dar retiro a ese aparato que tanta diversión me dio era lo correcto pero era frustrante pensar que ya no iba a poder jugar mis juegos en la consola original y me tenía que conformar con emuladores que no podían manejar adecuadamente los gráficos del juego, no soportaba el encontrar un glich, inmediatamente se me quitaban las ganas de jugar y cerraba el programa.

Unos meses después me dio la comezón de jugar Command and Conquer 64 pero el emulador nuevamente estropeaba mi diversión, en mi desesperación tomé el voltimetro y empecé a buscar por un culpable, su cabeza iba a rodar ese día.
Cuando sucede algo extraño con un aparato ¿A quién van a llamar?
Al final descubrí que el culpable era el regulador de energía, el cable tenía un mal contacto, la consola funcionó durante 2 felices horas de Mario 64 sin ningún problema después de arreglar el desperfecto, mi única queja durante el tiempo siguiente era  el control, los sticks de mis controles pasaron por Mario Party en su tiempo y ya no son lo que eran, mi ambición no terminó ahí, tiempo después me metí a ebay y compre un remplazo de estos con el dinero que sobró de la compra de la capturadora HD, planeaba comprar un remplazo que no se arruinara tan fácil como los originales así que me decidí por Sticks de GameCube para 64, debo decir que fué una compra impulsiva, al revisar los reviews todo mundo decía que ese tipo de remplazo era una mierda y no era tan sensible como los originales, era demasiado tarde, la compra estaba hecha.

Unas 3 semanas después escuche el timbre de la puerta en repetidas ocasiones, suficientes para levantarme, realmente no sé si la calle convierte a las personas en maniáticas pero normalmente tocan el timbre como si lo fueran. Llegó el paquete y con él, el hype train había empezado a ponerse en movimiento, al abrirlo me dí cuenta que no era un Stick de Cubo sino un remplazo normal, al parecer dios me quiere lo suficiente, mi única preocupación fué conseguir grasa para evitar que se madreara con el tiempo, al abrirlo me lleve la sorpresa de que venía engrasado de fábrica, simplemente procedí a remplazar la pieza como se puede apreciar en esta fina galería de imágenes que representan la anatomía del cuerpo desnudo de un control de 64.

DAT ASS!

¡Listo! hora de patear culos con el 64.

Valió la pena usar el dinero del Partnership para reparar este control que ya estaba retirado desde hace algunos años, funciona como nuevo, como deuda de esta acción he programado un LP de 64 para Septiembre y otro antes de que termine el año.

miércoles, 19 de junio de 2013

PayPal patrocinador de lo Retro

Hace unos dos meses recibí un cupón de paypal con $15 dolares para gastar en lo que se me hinchara en pelotas en ebay, lo primero que pensé fue en comprar un nuevo control para hacer vídeos y tirar la hueva a gusto, de esta manera le compre un control de SNES (Super Nintendo) USB a unos chinos por que lo enviaban gratis, todo con tal de poder jugar con todo el feeling Secret of Mana.

El maldito control tardó un mes en llegar sin numero de rastreo, a veces me preguntaba si unos asiáticos estarían riendo de mi al otro lado del mundo, por suerte en el día que menos lo esperaba mi hermano tocó por la mañana la puerta de mi cuarto como un maniático para que despertara y cuando le abrí la puerta simplemente me dio el paquete.

Cuando recibí el control ya había salido de vacaciones y lo podía disfrutar sin reservas, puedo decir que no se siente como el control de verdad pero es MUY similar, los botones de la cruz direccional estaban un poquito duros (se aflojaron con el tiempo y ahora se sienten igual),  los botones L y R se sienten más sólidos, los botones Start y Select están hechos del mismo material  y los botones A,B,X y Y están iguales, muchos prefieren otras marcas pero dudo que se sientan tan bien como éste control, incluso he escuchado que hacen los botones de materiales distintos y no se siente para nada como el original. Al terminar de analizar mi compra era hora de prender la computadora y aventurarse en los años 90's una vez más en compañía de esta preciosidad de control retro.

Tomándole una foto como a una de mis chicas francesas.

La Crónica del Aguacate

Siempre me ha parecido que la escuela es muy sencilla y el trabajo (siempre y cuando te guste lo que haces) es aun más fácil sin embargo existen ocasiones en las cuales simplemente las cosas se dificultan en estos dos ámbitos y en la escuela cuando se trata de Matemáticas que no son discretas siempre me agarran como al Tigre de Santa Julia, pero nada que un poco de práctica no pueda solucionar.

Durante este final de semestre estudie como negro todos los días para la asignatura de Matemáticas Avanzadas para Ingeniería esperando que el profesor no me sodomizara con un examen ridículamente difícil como los suele hacer, razón por la cual tiene fama en la escuela de ser el filtro de Ingeniería aparte de su famosa frase: "No te preocupes chavo para ti hay una carrera llamada Licenciatura en Administración de Empresas"

Más de una vez temí por mi vida y más importante aun mi beca la cual no es suficiente pero me ayuda a seguir estudiando incluso ese temor me llevo a cortar brutalmente con mi ex para tener mas tiempo disponible (que a final de cuentas ella era bastante mediocre y planeaba mandarla a Chiuahua a un baile, los problemas y molestias que me traía no valían la pena),  veía como mis amigos caían parcial tras parcial, no es necesario decir que todos los días practicaba, todos los días hasta que llegara el día del juicio final.

En más de una ocasión uno se pregunta a mitad de la noche si esta listo o si lo que estudio vendrá en el examen, odio ese sentimiento, cuando se trata de ciencia de la computación y matemáticas abstractas no es necesario tanto esfuerzo y sé que las cosas están bien, pero hay una frase que me ha acompañado en estas situaciones y me dijo mi hermano cuando era niño: "Sabes que estas listo para un examen de Matemáticas cuando al salir de tu cuarto intentas integrar lo primero que ves" justamente ese fue el caso, al salir del estudio a las 12:00am después de una jornada de 5 horas corté un aguacate para hacer unas quesadillas, como resultado intente modelar un Aguacate Matemáticamente con Integrales, no se si este bien pero cuando lo termine me fui a dormir con una sonrisa y pase el examen final al día siguiente.

He aquí la leyenda del Aguacate Mágico que fue mal hecho en una noche de desvelo y desesperación por un lunático.

miércoles, 26 de septiembre de 2012

Escribiendo 4 da lulz


Escribí una pequeña historia como parte de una tarea y me gusto como quedo, no es nada profesional, no se lo tomen en serio solamente fue una aventura que tuve con las palabras.

Yo soy ...

El sol brilla por el horizonte en el parque central, el viento mece suavemente la rama de los arboles, el aroma del césped refresca sus mentes.  Feliz mente repartes la comida a tus retoños mientras sonríes cándidamente y dedicas una mirada a tu amada,  concentras tu atención a tus vástagos para darte cuenta que no están, ¿Qué estás haciendo? ¿Qué es ese ruido? Tus pensamientos se nublan como el horizonte y vagamente puedes recordar que estás haciendo, él se ha llevado todo, ese horrible ser que habita tus temores ha rasgado con sus uñas tu felicidad devorando lentamente cada una de tus sonrisas, riéndose de manera escandalosa dejando caer satisfacción por la comisura de sus labios.

Despierta abruptamente en su departamento, un tercer piso en el área céntrica de la ciudad, se percibe un ligero olor de cigarro y alcohol en una habitación desordenada, prueba de una noche melancólica, el cuadro transmite una calma que entumece su cuerpo y el silencio zumba en sus oídos, la duda de sus acciones permanece en sus pensamientos “¿Es esto un sueño o mi sombrío presente?” Falta una figura familiar a su lado, esa compañía que iluminaba sus mañanas, pero no logra recordar un rostro, esa incertidumbre le hace merodear por el departamento en busca de las respuestas entre el inmobiliario pasando sus dedos por esos adornos ondulados que conducen a una espiral al final marcado un borde curveado en ese pedazo de madera, alguna pista, algún indicio, sin embargo no hay evidencia siquiera de su propia existencia…

Camina por ese pasillo, de cuadros vacios, paredes roídas y viejos tapetes, la basura acumulada marca su andar, dirigiéndolo lentamente al exterior, esa urbe ignota a sus recuerdos, tomando la fría manija de la puerta, vacila un momento “Sera este el fin del sueño, o el principio de otro” se pregunta insistentemente,  el frio viento golpea su tez como si estuviese repudiando su existencia para después jalarlo hacia el infinito.
“Este lugar… ¿Por qué estoy aquí?” un sentimiento de familiaridad lo invade, el pasto  seco suena en sus zapatos y los gritos de las hojas caídas lo inquietan llevándolo a los adentros, aquel bosque frondoso le resulta conocido, casi placentero, las ramas cerradas son manos que lo llaman, la sombra, producto de su cercanía asemeja movimiento y la escases de visión  sugieren ideas siniestramente desconcertantes entre la luz que se cuela por las hojas de los arboles asemejando un caleidoscopio, un espacio aislado del mundo sin conciencia de las acciones, donde el ruido cae en un vacio que inunda los huesos protegiéndolos de la realidad, los músculos y la piel. 

El viento se ha detenido, es el vórtice de este universo; es imposible no ser contagiado por la tranquilidad, el ruido se ha detenido al igual que el tiempo,  al pie de esa casona, todo es claro,  todo es evidente.

“Sigo Soñando”

Nunca dormí en toda mi vida y me atreví a fantasear con absurdos del mundo, jamás volé entre los rascacielos llenos de ventanas y cornisas post modernas para partir la tierra en varias capas haciendo saltar tuberías y hacer a los cables de la luz bailar como reptiles con mi caída matando a esas personas que no existen y cuyo rostro producto de mi imaginación no recuerdo; nunca volví al pasado para decirles que los quería, odiaba, temía, ignoraba o destruía pero recuerdo ese olor viejo que despide la realidad, un olor viejo y lleno de polvo un aroma dulce sugerido por vida vegetal en las proximidades, madera barnizada una alfombra vieja  eso era lo que colindaba.  Eras tú quien regaba esas flores, esa rosas, ODIO las rosas, se lo que estás haciendo,  ¡Es una CONSPIRACIÓN!  Tu y esos demonios quieren absorber mi ser LO QUE RESTA DE MI, él se los ordeno, NO los dejare…. Esas tijeras son perfectas, primero tu y luego me desharé de esas alimañas,  SERÉ LIBRE,  ¡NO!  ¿Qué estás haciendo?,  ¡Cállate tú también eres cómplice, me has encerrado todos estos años!  Hoy dejare de ser un sueño, hoy seré la realidad, ya lo veras JA-JAJAJAJAJAJAJAJA-JAJAJAJAJAJAJA-JAJAJAJAJA.