javisantana.com

4k synth

Bien, aquí está la herramienta para generar los samples :)

Para crear esta herramienta la verdad es que he tenido ayuda de bastante gente, empezando por Wonder que fue el que me dio la clave para el diseño, herotyc que me ha echado una buena mano a la hora de entender los trackers (por lo menos lo básico), KILE por darme alguna ayuda con el synth, sole por los patterns del terrible formato IT y a la gente de fuzzion(verdaderos magos en 4kb) que es de la que salió la idea original de crear la música para 4kb de esta forma.

Con esta herramienta se generan los samples, que son muestras de sonido muy básicas y que se usarán posteriormente en el tracker, en conjunción con otras, para conseguir una melodía decente. La verdad es que el trabajo es prácticamente del músico, él es el que genera los samples seteando los parámetros correctos y el que posteriormete hace magia con ellos.

En este caso la herramienta cuenta con 3 osciladores (diente de sierra, señal cuadrada y senoidal), un generador de ruido, un filtro paso bajo con frecuencia de corte y resonancia configurables y por último un generador de envolvente bastante básico (no es un ADSR :). Como ya conté en otro post, basta con hacer oscilar uno de los osciladores, este generará una onda que posteriormente se pasará por el filtro y finalmente se multiplicará por la envolvente. Es simple, pero no es sencillo dar con la información necesaria para implementarlo. Espero que en exámen de mañana de tratamiento digital de la señal no la cague :).

Ahora me falta extraer los datos que necesito (básicamente notas y volúmenes) del módulo que haga el músico y generarlos, pero esta vez no en una herramienta de 200kb con todo .NET por debajo, sino en 4kb ;).

Por último decir que la idea que tenía al comienzo de enfocarlo todo desde el punto de vista del coder es una idea equivocada, es muy necesaria la ayuda de alguien que de verdad controlo del tema, y Wonder lo hace (es teleco claro :P).

dev-diary

Recientemente he añadido a mi tab de páginas que visito a diario the independent game source, una página dedicada al mundo de juegos indie. A través de ella se ven algunas juegos curiosísimos y cargados de originalidad y jugabilidad, cosa que se echa de menos en un montón de triples a(‘)s actuales. Allí podemos encontrar desde MMORPG hechos en flash, juegos con estética diferente, e incluso juegos españoles como glest o The Cursed Wheel (cuyo devlog puedes ver en la parte derecha de esta web). En mi opinión el juego más original y paranoico es este hecho en flash.

Siguiendo las noticias el otro día me encontré con una que hablaba sobre un dev diary de un juego llamado mr.robot. Esperaba una página aburrida sobre aspectos de la programación del juego que a nadie le interesan, pero me equivoqué. El diario usa como base un foro y periódicamente van posteando los avances del juego incluyendo gran cantidad de material visual (bocetos, modelos, wires…) y comentan los aspectos más destacables de una forma amena y todo, como digo, acompañado de un material gráfico muy bien cuidado. Muy recomendable, eso si que es un buen dev-diary, además el juego promete.

Supongo que un dev-diary tan cuidado no es exclusivamente fruto del amor al arte de estos señores, creo que es una buena forma de publicitar su juego para el día de su salida.

Un aspecto que me gustaría comentar es que hacen mucho hincapié en el uso que hacen de wings3d,un modelador 3D muy intutivo, incluso un coder puede hacer algo semidecente :). En la página de Jove (debes mirar otra vez al marco de la derecha), un verdadero veterano en el mundo del modelado (y en la vida en general), hay algunos videotutoriales de modelado muy útiles.

Después de unos días leyendo el dev-diary me han picado y voy a empezar a poner los progresos que vaya haciendo con mi 4kb (y en el futuro con el PFC que está al caer y mis pet-projects) que espero presentar en la euskal, de momento estoy con el sintetizador, pero me reservo la información para un post detallado sobre el tema, que en mi opinión puede ser interesante debido a la poquísima información que circula sobre el tema.

seleccionando

Otro proceso de selección más, esta vez en tecsidel. Esta empresa se dedica a las telecomunicaciones principalmente, aunque también tiene otras áreas de negocio como son el desarrollo software y los peajes de las autopistas. Esto ha sido lo que nos ha venido a decir el director de la empresa en valladolid en una pequeña charla que nos ha dado para introducirnos en la materia. La beca es para estar unos 6 meses en esta empresa haciendo sabe dios qué. Por lo que he podido intuir se dedican a hacer aplicaciones java con base de datos (oracle en este caso) y desarrollos en C++ para el control del HW y quieren gente para adiestrar e incorporar a su plantilla si demuestra su valía.

El proceso de selección ha sido rápido, primero unas pruebas de “pe-sicotécnico” (las típicas de series de números), después había que rellenar una hoja con conocimientos en unas áreas que especificaban (java,sql,c/c++,windows,linux y tcp) y por último un test sobre linux,oracle,c++ y java.

Me pregunto yo: para qué convocan a telecos si no hemos dado ninguna de las materias anteriormente citadas en la carrera? Como mucho un poco de C++ y linux, pero oracle? Como si todo el mundo usara oracle para llevar la cuenta de las asignatuas aprobadas o algo así. Señores, si supiera oracle no estaría aquí haciendo una prueba de selección para ganar 600€ al mes (brutos, claro).

Para remate nos comenta que cabría la posibilidad de hacer las prácticas en madrid… *ejem* con una cantidad entre 600 y 900€, más tirando a 600€, quién se va a madrid?

La verdad es que he ido a la entrevista con cara de bestia, cabreado, entre otras cosas, por la forma en la que nos han avisado (por mail) sin apenas ningún dato (nisiquiera el número de parcela para hubicarla en el parque tecnológico de boecillo) y encima sin facilitarnos ninguna ayuda para ir a boecillo (no hay autobús público). Supongo que no volveré a pisar esa empresa, no creo que mis conocimientos de C++ les interesen demasiado.

Por supuesto he dejado el pabellón de python bien alto :). Yo siempre llevo mi serpiente a todos lados.

Organización

A raiz del comentario en mi blog sobre las diapositivas de diseño de juegos y de un post en el blog de Jare titulado “game design”. En él se hace referencia a que en los foros de stratos nisiquiera había un apartado para diseño de juegos y se lamenta de ello dada la importancia del diseño en el desarrollo de un juego.

Decidido me deslicé hasta los foros y pegué parte del post de Jare (haciendo referencia lógicamente, no estoy dispuesto a que me acusen de plagio de nuevo) y pregunté que por qué no se trataba este tema en este foro (el cual visito con asiduidad). En el momento que vi la segunda respuesta a mi pregunta sabía que algo pasaba, que había tocado una fibra sensible. Mi respuesta fue clara y poco orientada a lo relacionada con el post: stratos necesita un cambio radical.

Stratos es una asociación que se creó hace unos años y que surgió con el objetivo de crear una comunidad de desarrolladores. Además, la cabeza de la organización, Antonio Arteaga, se buscaba la vida para buscar distrubuidoras a los pequeños juegos que se producián. Esto funcionó hasta que ciertas distrubuidoras no pagaron y los desarrolladores culparon a la cúpula de la organización, con el consecuente enfado de desarrolladores y de Antonio Arteaga. A partir de ese momento la asociación dejó de serlo para pasar a ser un foro en el que cometabamos nuestras vidas y una página principal donde se copiaban y pegaban ofertas de trabajo relacionadas con el mundillo.

En el hilo que plantee se fue olvidando el tema del post para discutir el estado de stratos hasta que uno de los históricos comentó la posibilidad de crear de nuevo stratos como la conocíamos antes.

Actualmente se está discutiendo el cómo formar la organización, en qué se basará, qué objetivos tendrá, quienes la formarán y es aquí donde te das cuenta la dificultad de la organización. Poner de acuerdo a un número no muy amplio de personas es algo así como imposible, cada uno propone ideas, algunas encaminadas a crear una nueva web con la cual _se supone_ se resolverá el problema, otros intentan sacar beneficio propio proponiendo reactivar sus viejos proyectos y hay otros que intentan crear una comunidad “símplemente”.

Partiendo de la dificultad de concretar que se quiere, cuando ya se tiene una idea más o menos clara, el llevarlo a cabo es, si cabe, más complejo. Quién será el director? quienes los coordinadores? cómo se eligen? habrá que pagar cuota? qué se hará?… son muchas las preguntas que uno se plantea las que además deben “conectar” con el resto de las personas implicadas.

Actualmente se está planteando, en poca palabras, lo siguiente: crear una asociación de desarrolladores de videojuegos, la cual dará apoyo técnico, asesoramiento y ayuda a la distribución de los productos. Para ello uno histórico ha pruesto empezar con juegos para móviles debido a su simplicidad y su “fácil” comercialización. La idea es crear un framework basado en una linux-live y desarrollar de la forma más eficiente posible, cosa que me ha gustado bastante, ya que se enfoca el tema desde una perspectiva empresarial. Por otro lado algunas personas se está informando a propósito de las subvenciones y de la definición legal de la asociación, además de redactar unas líneas generales que tan importantes son.

Para mi, la asociación es mucho más que eso, para mi es una forma de cambiar la mentalidad que tenemos actualmente, la de criticar los desarrollos de los demás, la de crear cada uno sus herramientas, la de ir cada uno por su lado, se trata de “remar todos para el mismo lado”.

La conclusión de todo esto: organizar es difícil, ahora entiendo a mi jefe, ahora ya sé porque cobraba más que yo.

Javier Arévalo

A muchos este nombre os sonará como el mío o como cualquier otro, sin embargo a otros les sonará, y además muy bien. Creo que todos tenemos alguien en quien fijaros o al que tomemos como modelo a seguir, especialmente en las tareas que más nos gustan y jare (ese es su nick) es un buen ejemplo de ellos.

Hacía tiempo que no visitaba su web y esta tarde me ha dado por visitarla para ver si tenía algo nuevo o mantenía un blog. Mi sorpresa ha sido que en efecto, tiene un blog y es en este donde te das cuenta que este hombre realmente sabe de lo que habla. Sus comentarios acerca del modelo de negocio de los videojuegos realmente dan que pensar, me gusta la comparación que hace con la industria del DVD, etc, recomiendo su lectura. Sin embargo lo que me ha llamado esta vez la atención han sido unas diapositivas de una charla que dio en la universidad de Sevilla sobre desarrollo de videojuegos, en las que hace un recorrido por el desarrollo, desde le punto de vista cronológico, hasta el punto de vista logístico. Leyendolas te das cuenta que es una persona con una amplia experiencia, que conoce muy bien el mundo del videojuego y que además, viendo las diapositivas, se puede intuir que lo cuenta con pasión. Rara es la vez en la que me he encontrado un ponente con experiencia, conocimientos y que además viva lo que cuente, y triste es decir esto habiendo estado 6 años dentro de un aula.

El contenido de las diapositivas no tiene desperdicio, voy a comentar algunos de los fragmentos que más relevantes, a mi modo de ver, cara al desarrollo de videojuegos:

- Me ha encatando la mirada al pasado y al presente del desarrollo, pasa de un tío con su PC en su casa a una empresa bien distribuída, con una plantilla relativamente grande y que dará el que para mi es uno de los mejores juegos de la historia, commandos 1. Obviamente estoy hablando de Pyro Studios.

- En la mirada al futuro dice lo siguiente:
“Desaparición de los publisher tradicionales frente a la distribución por Internet?”

Estoy seguro que a Colson, que está metido en el mundo indie, le encatará.

- En la siguiente parte habla de estructuración, en la que da mucha importancia a la existencia de jefes (me hace gracia las tareas que les asigna). Me sorprende la importancia del testing del juego, sobretodo los comentarios que hace sobre los que lo testean. La parte del desarrollo propiamente dicha no me ha llamado mucho la atención, me esperaba algo así, lo único destacable es que habla de ingenieros informáticos, lógico, y de ing de telecomunicación ( \o/ ), menos lógico ya que nuestra formación tiene de todo menos ing. de software. Queda muy claro en este aspecto que además es necesaria formación complementaria, normalemnte autodidacta.

- Pasamos a uno de los puntos fuertes para mi:
_“-La diferencia entre un código terminado, y un código cerrado, es crucial”
_
_“-Pensar en la eficiencia, pero optimizar después, y solamente lo que importa”
_

Estas dos suelen ser los típicas causas por las que muchos proyectos amateur fallan, la falta de constacia a la hora de llevar a cabo un diseño y la pérdida del rumbo cuando piensas más en la optimización que en el propio diseño.

- Curiosidades: En el testing es normal que los testers aporten ideas y esto es lo que pone acerca de ellas:“Sugerencias de última hora, casi todas desechadas”. En cuanto a los bugs encontrados: “Hay que arreglar cada fallo evitando introducir errores nuevos. Algunos bugs conocidos no se arreglarán
XDD.

- Más adelante comenta cosas del motor del Praetorians y básicamente lo que viene a decir son dos cosas: el juego no es el motor gráfico e intenta dejar todo configurable sin modificar el código.

- Para terminar el punto que más me ha gustado, dice lo siguiente:
_

Y, por supuesto, hacer juegos
No importa que sean pequeños
No importa que sean clones
No importa que sean feos
Lo que importa es terminarlos

_

En lo que tiene más razón que un santo, terminar un juego es una tarea que requiere constancia y es lo que realmente te da experiencia y conocimiento.

Recomiendo al que le interese el tema que se baje las transparencias y se las mire, están muy bien y además tienen imágenes y detalles del desarrollo del praetorians.

Para terminar, decir que Javier Arévalo, como no, viene del mundo de la escena :)