tag:blogger.com,1999:blog-20107046708457242922024-03-06T01:44:42.006+01:00CodeBreakers 3DLo que se rompió fueron nuestras falangesAdminhttp://www.blogger.com/profile/09395115488322247319noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-2010704670845724292.post-79865820152220309202012-01-09T19:20:00.001+01:002012-03-04T02:21:01.160+01:00Controles de movimiento en Unity3D (2ª parte)Continuando con el anterior post, voy a explicar como darle un control un poco mas realista al juego. Aunque con la función transform.Translate() podemos hacer movimientos básicos que nos valdría perfectamente para un shooter o un arcade, en este parte vamos a trabajar con la función constantForce() que permite ejercer fuerzas, condicionando de esta forma el movimiento al motor de físicas de unity3d. Este tipo de movimiento es mas adecuado para vehículos, por ejemplo.<br />
<br />
Antes de nada, tenéis que añadir al objeto que queréis que se aplican estas fuerzas el componente "constant Force" desde el menú "component">"Physics" (este componente también añade el Rigidbody, si no estaba ya asociado al objeto).<br />
<br />
Ahora, creamos un nuevo script y declaramos unas variables para controlar movimiento y rotación.<br />
<br />
<div style="border:1px solid grey; background-color:#FFF; font-family:courier new, sans-serif; color:#222; width:100%"><font color="purpure"><b>var</b></font> velocidad = <font color="orange">0</font>;<br />
<font color="purpure"><b>var</b></font> rot = <font color="orange">0</font>;<br />
<font color="purpure"><b>var</b></font> maxVel = <font color="orange">10000</font>;<br />
<font color="purpure"><b>var</b></font> minVel = <font color="orange">0</font>;<br />
<font color="purpure"><b>var</b></font> maxRot = <font color="orange">100</font>;<br />
</div><br />
Ahora toca introducir las funciones para detectar los Input. En este caso vamos a utilizar otra función del objeto Input.<br />
<br />
<div style="border:1px solid grey; background-color:#FFF; font-family:courier new, sans-serif; color:#222; width:100%"><font color="purpure"><b>if</b></font>(Input.GetKey(KeyCode.W))vel=vel+<font color="orange">100</font>;<br />
<font color="purpure"><b>if</b></font>(Input.GetKey(KeyCode.S))vel=vel-<font color="orange">100</font>;<br />
</div><br />
Con estas lineas tendremos una sensación mas realista de "aceleración", y para no llegar a velocidades absurdas, sentencias de control:<br />
<br />
<div style="border:1px solid grey; background-color:#FFF; font-family:courier new, sans-serif; color:#222; width:100%"><font color="purpure"><b>if</b></font>(velocidad>=maxVel) vel=<font color="orange">1000</font>;<br />
<font color="purpure"><b>if</b></font>(velocidad<=minVel) vel=<font color="orange">0</font>;;<br />
<font color="purpure"><b>if</b></font>(rot>=maxRot)rot=<font color="orange">100</font>;<br />
<font color="purpure"><b>if</b></font>(rot<=minVel)rot=<font color="orange">0</font>;<br />
</div><br />
Añadiremos ahora estas funciones. En realidad, constantForce hace referencia a las variables de la componente que hemos añadido, y para especificar que tipo de fuerza y en que dirección queremos aplicarla utilizaremos:<br />
<br />
<div style="border:1px solid grey; background-color:#FFF; font-family:courier new, sans-serif; color:#222; width:100%">constantForce.relativeForce.z=vel*Time.deltaTime;<br />
</div><br />
Con esto obtenemos una aceleración algo mas escalada y limitada, todo es jugar con los números para encontrar los valores que se ajusten a lo que queremos.<br />
<br />
Para terminar, añadiremos dos lineas que nos permitirán rotar el objeto con el ratón:<br />
<br />
<div style="border:1px solid grey; background-color:#FFF; font-family:courier new, sans-serif; color:#222; width:100%">transform.Rotate(<font color="orange">0</font>,Input.GetAxis("Mouse X") *rot*Time.deltaTime,<font color="orange">0</font>);<br />
transform.Rotate(Input.GetAxis("Mouse Y") *rot*Time.deltaTime,<font color="orange">0</font>,<font color="orange">0</font>);<br />
</div><br />
Las características de estos "Mouse X" y "Mouse Y" podéis encontrarla en los Inputs preestablecidos (edit>project settings>Inputs)<br />
<br />
Pero también podemos utilizar el Input.GetKey() para rotar el objeto de la misma forma que acelera, usando la variable que nos dejamos atrás (rot) y la función constantForce.relativeTorque:<br />
<br />
<div style="border:1px solid grey; background-color:#FFF; font-family:courier new, sans-serif; color:#222; width:100%"><font color="purpure"><b>if</b></font>(Input.GetKey(KeyCode.D))rot=rot+<font color="orange">10</font>;<br />
<font color="purpure"><b>if</b></font>(Input.GetKey(KeyCode.A))rot=rot-<font color="orange">10</font>;<br />
<br />
constantForce.relativeTorque.y=rot*Time.deltaTime;<br />
</div><br />
Dejando así el ratón únicamente para el giro en el eje X.<br />
<br />
Con solo este puñado de funciones ya podemos hacer cosas interesantes, aunque no hay que olvidar que uno de los componentes que trae Unity por defecto es un controlador para FPS mucho mas refinado, al que podemos acceder desde component>character>FPS input controller y añadiéndolo al objeto que queramos.<br />
<br />
Para el siguiente tutorial voy a seguir perfeccionando el control, ya que aunque ha mejorado, os habréis fijado que los variables del componente constantforce, que debería aumentar, se mantienen en unos valores pequeños, y es que esta es la variable que debería de aumentar de forma gradual. Ademas, quiero añadir un variable que reduzca la aceleración del objeto conforme la velocidad aumenta, para hacerlo mas realista.<br />
<br />
Un saludo!Lord Barbashttp://www.blogger.com/profile/05600540290780469563noreply@blogger.com0tag:blogger.com,1999:blog-2010704670845724292.post-26081870418005661012012-01-08T11:30:00.000+01:002012-01-08T12:41:16.180+01:00Controles de movimiento basico en Unity3D<div class="separator" style="clear: both; text-align: center;">
<a href="http://shoreofdream.com/blog/wp-content/uploads/2011/05/unityLogo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="http://shoreofdream.com/blog/wp-content/uploads/2011/05/unityLogo.png" width="200" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Llevo unos días estudiando el engine Unity3D, que como muchos sabréis es un motor gráfico plataforma bastante potente que ha tenido un rápido crecimiento en los últimos años. A mi me resulta muy prometedor y he decidido dedicarles algunos ratillos para aprender a manejarlo.</div>
<div>
<br /></div>
<div>
Voy a intentar explicar algunas de las herramientas que nos ofrece unity3D para trabajar con los controles del jugador, en concreto, como podemos mover y girar objetos en el juego con unos sencillos script.</div>
<div>
<br /></div>
<div>
Parto de la idea de que conocéis al menos interfaz de unity3D.</div>
<div>
<br /></div>
<div>
<ul>
<li>Antes de empezar, necesitamos un terreno. Desplegamos la pestaña "Terrain" y elegimos "Create Terrain" le damos la forma que queramos y añadimos un nuevo objeto desde GameObject > Create Other y aqui elegimos un "sphere" "cube" "cylinder" o lo que queramos. Este sera el personaje que podremos mover. </li>
</ul>
<ul>
<li>Busca entre sus opciones del menú Inspector y, entre las opciones del componente Rigibody, aplicarle gravedad (UseGravity) una masa (mass) de 60, reducir el rozamiento (drag) y el rozamiento angular (AngularDrag). En el componente Box Collider aplicale un material, por ejemplo Bouncy o Metal. Desde aqui tambien podremos cambiar los valores de las variables que añadiremos mas adelante.</li>
</ul>
<ul>
<li>Antes de añadir los script vamos a incluir una luz direccional (GameObject > Create Other> Directional light) y la situamos para que nos ilumine bien la escena.</li>
</ul>
<ul>
<li>Por ultimo necesitamos una cámara que siga al objeto mientras se mueve. En Unity esto es tan sencillo como crearla a través del susodicho menú "Create Other" "Camera" y desde la "Hierarchy" añadir la cámara al objeto que creamos en el paso anterior pinchando y arrastrando.</li>
</ul>
</div>
<div>
<br /></div>
<div>
Ahora vamos a lo que nos interesa. Voy a explicar 2 formas distintas de añadir control de movimiento a nuestro objeto. Creamos un nuevo archivo javascript desde el menú lateral "Project" y lo añadimos igual que la camara a nuestro objeto. Luego lo abrimos.</div>
<div>
<br /></div>
<div>
Como veréis el archivo (y todos los script que creemos en unity) empiezan por la función <span style="font-family: 'Courier New', Courier, monospace;">update()</span><span style="font-family: inherit;"> esta </span>función<span style="font-family: inherit;"> se encarga del dibujado de cada frame, </span>así<span style="font-family: inherit;"> que todas las funciones que incorporemos dentro se ejecutaran mientras el juego este en </span>ejecución<span style="font-family: inherit;"> y el objeto asociado </span>estén<span style="font-family: inherit;"> en al escena.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
La primera forma de controlar el movimiento es la forma "bruta" mediante la función <span style="font-family: 'Courier New', Courier, monospace;">transform.Translate(x,y,z)</span><span style="font-family: inherit;">y </span><span style="font-family: 'Courier New', Courier, monospace;">transform.rotate(x,y,z)</span><span style="font-family: inherit;">la primera mueve en los tres ejes y la otra rota el objeto, como ya </span>habréis<span style="font-family: inherit;"> imaginado. </span>Podríamos<span style="font-family: inherit;"> simplemente añadir estas funciones y ponerles un valor, pero el objeto </span>saldría<span style="font-family: inherit;"> disparado sin mas en esa </span>dirección<span style="font-family: inherit;">, tenemos que condicionar estos movimientos a las teclas (inputs) y al tiempo.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">Para ello vamos crear primero una variable velocidad a la que le daremos un valor 60 . Tambien crearemos una variable para la velocidad de la </span>rotación<span style="font-family: inherit;">, todo ello antes de la </span>función<span style="font-family: inherit;"> </span><span style="font-family: 'Courier New', Courier, monospace;">update()</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">var velocidad=60;</span></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">var rot=30;</span></div>
<div>
<br /></div>
<div>
Ahora si, dentro del update añadimos</div>
<div>
<br /></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">transform.Translate(0,0,velocidad*Time.deltaTime);</span></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">transform.Rotate(0</span><span style="font-family: 'Courier New', Courier, monospace;">,</span><span style="font-family: 'Courier New', Courier, monospace;">velocidad*Time.deltaTime,</span><span style="font-family: 'Courier New', Courier, monospace;">0);</span></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: inherit;">La </span>función<span style="font-family: inherit;"> Time.deltaTime sirve para condicionar este movimiento al tiempo, es decir, le estamos diciendo al objeto con esas lineas que se mueva en los ejes X y Z una distancia igual a "velocidad*tiempo" o mejor dicho "distancia*segundo" y rote en el eje Y al mismo ritmo.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">¿y donde está el control? vamos a ello. Guardamos el script y desplegamos el menu "Edit" y elegimos Project Settings > Input. En el inspector nos aparecen todos estos Inputs que vienen por defecto. El valor "Size" indica el numero </span>máximo<span style="font-family: inherit;"> que tendremos (si </span>queréis<span style="font-family: inherit;"> añadir uno nuevo cambiad el valor por uno mayor) y como </span>veréis<span style="font-family: inherit;">, justo debajo tenemos los inputs "Horizontal" y "Vertical" que son para el control en los ejes X y Z. Podemos cambiarle el nombre, añadir descripciones y en "Negative button" y "Positive button" elegimos S y A para el Negative y W y D para el Positive.</span></div>
<div>
<br /></div>
<div>
Vuelve al código, vamos a añadir la funcion Input.GetAxis() que devuelve un +1 si la tecla "w" esta pulsada y -1 esta pulsada la "s". El código nos quedaría así:</div>
<div>
<br /></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">transform.Translate(0,0,Input.GetAxis("Horizontal")*vel*Time.deltaTime);</span></div>
<div>
<br /></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">transform.Translate(0,</span><span style="font-family: 'Courier New', Courier, monospace;">Input.GetAxis("Vertical")*vel*Time.deltaTime</span><span style="font-family: 'Courier New', Courier, monospace;">,0);</span></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOMSHHjSTnPIzyyuOmi83oeVbcpzr2XDzEf2AD71qJ8CRtMWXU5-ycRrZOXaWswcerwQxjp80hxisP8X_rSpWIGVRfvO9kcjk-Q9mNRztlwFYrkQ9yF75Uu4yc19Ytkrc5GFeaVOh4QVo/s1600/Script+terminado+y+variables.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOMSHHjSTnPIzyyuOmi83oeVbcpzr2XDzEf2AD71qJ8CRtMWXU5-ycRrZOXaWswcerwQxjp80hxisP8X_rSpWIGVRfvO9kcjk-Q9mNRztlwFYrkQ9yF75Uu4yc19Ytkrc5GFeaVOh4QVo/s400/Script+terminado+y+variables.png" width="400" /></a></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
Ya tenemos un movimiento, pero muy básico, la funcion <span style="font-family: 'Courier New', Courier, monospace;">transform.Translate</span> es un poco tosca, no detecta correctamente las colisiones y en las direcciones mantiene un punto de referencia global.</div>
<div>
<br /></div>
<div>
Para mejorar este movimiento, en el siguiente parte utilizaremos las funciones <span style="font-family: 'Courier New', Courier, monospace;">constanceForce</span>, que nos permiten aplicar fuerzas para un movimiento mucho mas realista</div>Lord Barbashttp://www.blogger.com/profile/05600540290780469563noreply@blogger.com8tag:blogger.com,1999:blog-2010704670845724292.post-1241307982309376702012-01-03T00:23:00.000+01:002012-01-03T00:35:12.872+01:00Aplicaciones para Google HangoutsBuscando por la web la <b>API de Google Hangouts</b> para cierta aplicación que estoy desarrollando junto con Sergio, me topé con la documentación de Google para la creación de aplicaciones para su Hangouts. Éstas utilizan <b>HTML estándar</b>, <b>JavaScript</b>, y <b>CSS </b>para la maquetación y funcionamiento en general. El caso es que la aplicación en cuestión en la que quería usar el Hangouts está programada con la librería <b>GWT SDK 2.4.0</b> de Java cedida por Google... ¿Problema? Pues que no se pueden combinar, es decir, no se pueden usar las liberías GWT de Java con los Hangouts... al menos no he encontrado la manera, por lo que me veo programando y maquetando de nuevo todo lo que ya llevaba hecho en Java... Por suerte no es excesivamente mucho.<br />
<br />
<a href="https://developers.google.com/+/hangouts/writing">Desarrollo de aplicaciones para Google Hangouts</a><br />
<a href="https://developers.google.com/+/hangouts/running">Ejecución de aplicaciones para Google Hangouts</a><br />
<br />
<b><u>Pros</u>:</b> el control de video/audio e inicio de sesión ya no es necesario programarlos ya que el propio Hangouts lo controla.<br />
<b><u>Contras</u>:</b> toda la reprogramación.<br />
<br />
Por otro lado, también he encontrado el <b>registro para desarrolladores</b> que quieran empezar a practicar con las APIs de Google. Se puede seleccionar las APIs de los diferentes elementos de Google (Hangouts, Maps, Blogger...), crear equipos de desarrollo y subida de proyectos entre otros aspectos.<br />
<br />
<a href="https://code.google.com/apis/console/">Registro de desarrolladores</a><br />
<br />
Un saludo, ¡Nos leemos!Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-2010704670845724292.post-81147782620087232842011-12-30T01:37:00.002+01:002011-12-30T15:30:07.735+01:00Android SDK¡Buenas! Últimamente parece ser que estoy en racha porque ciertamente encuentro un montón de material interesante en el campo de la programación y diseño de software.<br />
En este caso os voy a presentar el <b>SDK para Android</b> con su emulador para PC incluido. Y es que no todos podemos permitirnos una tableta o un teléfono movil con este sistema operativo, por lo que con este programa podremos emular a varios de estos aparatejos puediendo crear <i>"Dispositivos Virtuales Android" </i>(ADV en siglas anglosajonas), permitiendo testear las aplicaciones que realicemos con el SDK en nuestro propio PC. También se puede añadir un plugin a Eclipse para programar en Android desde él. Está disponible para Windows, Linux y Mac OS desde este enlace:<br />
<br />
<a href="http://developer.android.com/sdk/index.html">SDK Android</a><br />
<a href="http://developer.android.com/sdk/eclipse-adt.html">Plugin para Eclipse</a><br />
<br />
<u><i>Imágenes del emulador </i></u><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-SFIFzSSBf9w/Tv0MsIgpAlI/AAAAAAAAAD0/BbEFmFQ_M_c/s1600/Emulador+Android2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="http://4.bp.blogspot.com/-SFIFzSSBf9w/Tv0MsIgpAlI/AAAAAAAAAD0/BbEFmFQ_M_c/s200/Emulador+Android2.jpg" width="200" /></a><a href="http://1.bp.blogspot.com/-_fSQAiMZ_L8/Tv0MpeKu9MI/AAAAAAAAADs/4Y00JvdKK5k/s1600/Emulador+Android.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="http://1.bp.blogspot.com/-_fSQAiMZ_L8/Tv0MpeKu9MI/AAAAAAAAADs/4Y00JvdKK5k/s200/Emulador+Android.jpg" width="200" /></a></div>
<br />
La aplicación trae consigo un <b>administrador </b>del SDK con las últimas actualizaciones y demás. Espero que os sea de utilidad y os guste. ¡Nos leemos!<br />
Saludos.Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-2010704670845724292.post-22634942492543976682011-12-25T17:36:00.000+01:002011-12-25T17:46:47.437+01:00Documentación de Google SDK de Java¡Buenas! Hoy traigo una entrada de mi campo. Trasteando con Eclipse, me animé ha comenzar un proyecto que tenemos Sergio y yo desde hace tiempo (creo que es el primer proyecto de todos los que tenemos). Se trata de una aplicación programada a través del <b>SDK de Java </b>que provee Google para sus aplicaciones (App Engine). El caso es que ya lo tenía todo instalado desde hace tiempo y quería comenzar ha hacer algo. Creé un nuevo proyecto, vi el código por defecto que implementaba y... me di cuenta de que no entendía nada... bueno, nada nada tampoco, pero, obviamente, al usar el SDK de Google pues la forma de implementar el código Java no es exactamente la misma, ya que utiliza métodos propios, etc. Después de un rato estudiando el código y viendo su estructura, busqué por Internet la <b>API de Google</b> para que me fuera todo más llevadero y encontré esto: <a href="http://code.google.com/intl/es-ES/webtoolkit/doc/1.6/DevGuideUserInterface.html">haz clic aquí para verlo</a> <br />
<br />
Se Trata de la <b>documentación del SDK de Java </b>desarrollado por Google en donde se explica (entre otras cosas) el manejo de los elementos para el desarrollo de interfaces gráficas (que era lo que estaba buscando en ese momento). Hay que reconocer que los métodos programados por los chicos de <span class="st">Sergey Brin y </span>Larry Page son excepcionales y muy cómodos a la hora de maquetar las aplicaciones, tales como el <span class="typ"><span style="font-family: "Courier New",Courier,monospace;">DockPanel</span>.</span><span class="pln"> </span><br />
Todo está perfectamente explicado en un esquisito inglés, si se te da bien el idioma anglosajón o utilizas Google Chrome no tendrás ningún problema. También puedes usar Google Translator para que te sea más llevadero. Espero que os haya gustado y os sea útil, a mí la verdad es que me ha ayudado mucho. No seguimos leyendo.<br />
¡Hasta la próxima!Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-2010704670845724292.post-52491510227563313022011-12-20T08:54:00.001+01:002011-12-22T00:20:20.897+01:00Nuevo titulo de técnico superior en Animaciones 3d y Entornos interactivos.Esta semana pasada salio en el BOE un nuevo titulo de formación que pretende orientarse hacia la industria del videojuego. Algo como esto lo llevábamos esperando cierto tiempo Dani y yo, aunque decepciona la nula carga de programación, resultan muy interesantes algunas de sus asignaturas, sin embargo, esta muy orientado al diseño de gráficos y animaciones 2D y 3D. A continuación os pongo un resumen de lo que depara el titulo, extraído directamente del BOE:<br />
<br />
<ul>
<li><b>Denominación:</b> Animaciones 3D, Juegos y Entornos Interactivos. </li>
<li><b>Nivel: </b>Formación Profesional de Grado Superior. </li>
<li><b>Duración:</b> 2000 horas. </li>
<li><b>Familia Profesional:</b> Imagen y Sonido </li>
</ul>
<b>Establece en que consiste su competencia real del titulo: </b><br />
Consiste en generar animaciones 2D y 3D para producciones audiovisuales y desarrollar productos audiovisuales multimedia interactivos <br />
<br />
<b><br /></b><br />
<b>Sus competencias profesionales: </b><br />
<ul>
<li>Deducir las características específicas de los proyectos de animación o multimedia interactiva, a partir del análisis de su documentación, para facilitar su concepción y diseño de producción. </li>
<li>Conceptualizar el proyecto de animación 2D o 3D a partir del desglose del guión, diseñando los modelos y controlando la construcción del storyboard y la disposición y grabación del audio de referencia del programa. </li>
<li>Producir el proyecto de animación 2D en sus fases de animática, layout, animación clave, intercalación, pintura y composición, realizando los chequeos y pruebas de línea necesarias hasta la obtención de las imágenes definitivas que lo conforman. </li>
<li>Producir el proyecto de animación 3D en sus fases de diseño y modelado, setup, texturización, iluminación, animación y renderizado, realizando los chequeos necesarios hasta la obtención de las imágenes definitivas que lo conforman. </li>
<li>Controlar la realización de los procesos de postproducción de proyectos de animación 2D y 3D, supervisando la incorporación de efectos de edición y la construcción de la banda sonora del programa. </li>
<li>Conceptualizar el proyecto multimedia interactivo, concretando la definición de sus funciones, su arquitectura tecnológica, la planificación de las fases de trabajo y las características específicas de las fuentes. </li>
<li>Generar y adaptar los contenidos del proyecto multimedia interactivo, creando las fuentes y maquetas, evaluando su calidad y comprobando la adecuación de las mismas, tanto las propias como las provenientes de colaboradores externos. </li>
<li>Integrar los elementos y las fuentes con herramientas de autor y de edición, llevando a cabo su composición, la generación y sincronización de sus movimientos, la creación de sus elementos interactivos y la dotación de interactividad según los requerimientos del proyecto multimedia interactivo. </li>
<li>Realizar la evaluación del prototipo y la documentación del proyecto, asegurando el cumplimiento de las normas de calidad y la configuración de los parámetros de publicación. </li>
<li>Aplicar las herramientas de las tecnologías de la información y la comunicación propias del sector en el desempeño de las tareas, manteniéndose continuamente actualizado en las mismas. </li>
<li>Adaptarse a las nuevas situaciones laborales, manteniendo actualizados los conocimientos científicos, técnicos y tecnológicos relativos a su entorno profesional, gestionando su formación y los recursos existentes en el aprendizaje a lo largo de la vida y utilizando las tecnologías de la información y la comunicación. </li>
<li>Resolver situaciones, problemas o contingencias con iniciativa y autonomía en el ámbito de su competencia, con creatividad, innovación y espíritu de mejora en el trabajo personal y en el de los miembros del equipo. </li>
<li>Organizar y coordinar equipos de trabajo con responsabilidad, supervisando el desarrollo del mismo, manteniendo relaciones fluidas y asumiendo el liderazgo, así como aportando soluciones a los conflictos grupales que se presenten. </li>
<li>Comunicarse con sus iguales, superiores, clientes y personas bajo su responsabilidad, utilizando vías eficaces de comunicación, transmitiendo la información o conocimientos adecuados y respetando la autonomía y competencia de las personas que intervienen en el ámbito de su trabajo. </li>
<li>Generar entornos seguros en el desarrollo de su trabajo y el de su equipo, supervisando y aplicando los procedimientos de prevención de riesgos laborales y ambientales, de acuerdo con lo establecido por la normativa y los objetivos de la empresa. </li>
<li>Supervisar y aplicar procedimientos de gestión de calidad, de accesibilidad universal y de «diseño para todos», en las actividades profesionales incluidas en los procesos de producción o prestación de servicios. </li>
<li>Realizar la gestión básica para la creación y funcionamiento de una pequeña empresa y tener iniciativa en su actividad profesional con sentido de la responsabilidad social. </li>
<li>Ejercer sus derechos y cumplir con las obligaciones derivadas de su actividad profesional, de acuerdo con lo establecido en la legislación vigente, participando activamente en la vida económica, social y cultural </li>
</ul>
<br />
<b>El ciclo de formación profesional se compone de estos módulos: </b><br />
<ul>
<li>1085. Proyectos de animación audiovisual 2D y 3D. </li>
<li>1086. Diseño, dibujo y modelado para animación. </li>
<li>1087. Animación de elementos 2D y 3D. </li>
<li>1088. Color, iluminación y acabados 2D y 3D. </li>
<li>1089. Proyectos de juegos y entornos interactivos. </li>
<li>1090. Realización de proyectos multimedia interactivos. </li>
<li>1091. Desarrollo de entornos interactivos multidispositivo. </li>
<li>0907. Realización del montaje y postproducción de audiovisuales. </li>
<li>1093. Proyecto de animaciones 3D, juegos y entornos interactivos. </li>
<li>1094. Formación y orientación laboral. </li>
<li>1095. Empresa e iniciativa emprendedora. </li>
<li>1096. Formación en centros de trabajo </li>
</ul>
<br />
<b>Se establecen las siguientes disposiciones en correspondencia con el ciclo. </b><br />
<ul>
<li>Referencia del título en el marco europeo. </li>
<li>Oferta a distancia del presente título. </li>
<li>Titulaciones equivalentes y vinculación con capacitaciones profesionales. </li>
<li>Equivalencias a efectos de docencia en los procedimientos selectivos de ingreso en el Cuerpo de Profesores Técnicos de Formación Profesional. </li>
<li>Accesibilidad universal en las enseñanzas de este título. </li>
<li>Título competencial. </li>
<li>Implantación del nuevo currículo en el 2012/2013.</li>
</ul>
<div>
<div>
<ul style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 20px; margin-bottom: 20px; margin-left: 1.5em; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</ul>
</div>
</div>Lord Barbashttp://www.blogger.com/profile/05600540290780469563noreply@blogger.com0tag:blogger.com,1999:blog-2010704670845724292.post-37887319526245737832011-12-17T19:29:00.000+01:002011-12-17T19:32:42.704+01:00Postmortems. La mejor herramienta para el desarrollo de videojuegosBueno, publico mi primera entrada y así le hago un poco competencia a Sergio, tratando el tema de los videojuegos. Acabo de ver un artículo bastante interesante acerca de los <b>postmortems</b> ¿De qué se trata? Bien, a menudo una mala gestión de los recursos de los videojuegos, valoración de la magnitud del proyecto, mal cálculo de los tiempos, fallos de producción, etc, lastran el desarrollo del mismo. En la siguiente página se comparten estos <b>postmortems</b> difundidos para la comunidad para así no repetir los mismos errores y no volver a tropezar con la misma piedra dos veces.<br />
Títulos tan reconocidos como <i>Bioshock</i>, <i>Rachet & Clank</i> o <i>Uncharted </i>se muestran <a href="http://www.vidaextra.com/industria/postmortems-la-mejor-herramienta-para-el-desarrollo-de-videojuegos">aquí</a><span style="color: black;">.</span><br />
También existe una base de datos con multitud de archivos postmortems <a href="http://www.gamasutra.com/features/postmortem/?page=1">aquí</a>.<br />
¡Nos leemos!Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-2010704670845724292.post-68692616842128562952011-12-10T10:36:00.001+01:002011-12-20T08:57:15.746+01:00StencylWorksHace tiempo di con un blog que es un ejemplo perfecto de lo que quería conseguir con este blog: <a href="http://creadorvj.blogspot.com/%C2%A0" target="_blank">Quiero ser creador de videojuegos</a> alojado aquí mismo en blogger.<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKMshtCW_6Hnp2vonuFgekQUt5_oiWfIB-jziWDANi7ngHX1hQ5iwJh_ATA5izM677xTVU0nuNVc5yd10tOhQa4ZPo4VHCQ8QL4_syZCmomYV9oCjFovYLqmczDBmewjGJnIvMAjZYw7I/s1600/StencylWorks.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKMshtCW_6Hnp2vonuFgekQUt5_oiWfIB-jziWDANi7ngHX1hQ5iwJh_ATA5izM677xTVU0nuNVc5yd10tOhQa4ZPo4VHCQ8QL4_syZCmomYV9oCjFovYLqmczDBmewjGJnIvMAjZYw7I/s400/StencylWorks.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Pantallazo de la interfaz, con un ejemplo de un juego estilo RPG</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
Y digo esto porque hace unos días compartió una entrada con una descripción de un programa llamado StencylWorks, una herramienta para desarrollar videojuegos en flash, sin necesidad de ser un experto en programación y concretamente ActionScript, aunque por supuesto posee una herramienta para trastear con las entrañas del juego, de echo me ha llamado mucho la atención la forma de distribuir el código en forma de etiquetas que cambian el color según anidamos el código, y, dentro de esas etiquetas, seleccionar la acción que queremos que haga mediante un menú desplegable, simple y rápido, aunque no demasiado flexible, pero suficiente para lo que pudiéramos necesitar en un juego flash.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Es bastante parecido al GameMaker de YoYoGames, aunque completamente gratuito.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVE7WIJsGqBIDb0aWhPwmeDuqrS4KK7xToA3PL_9h9uudH4wemf9l6gU2SVg_kON-ZeQrnz3bwK4QUjwk66x2yDusAtsi73aAR5HhUcqqbboXhypZIvEp6cSZbiwUbJrJzo6hK5-mce-4/s1600/Codigo+StencylWorks.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVE7WIJsGqBIDb0aWhPwmeDuqrS4KK7xToA3PL_9h9uudH4wemf9l6gU2SVg_kON-ZeQrnz3bwK4QUjwk66x2yDusAtsi73aAR5HhUcqqbboXhypZIvEp6cSZbiwUbJrJzo6hK5-mce-4/s400/Codigo+StencylWorks.jpg" width="400" /></a></div>
<div style="text-align: center;">
Lo que os decía del código, etiquetas anidadas y botones desplegables</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
El programa trae algunos ejemplos para estudiar su funcionamiento y tiene una interfaz bastante agradable de manejar, muy intuitivo todo. </div>
<div style="text-align: center;">
<br /></div>
<div>
Lo meto en el cajón de programas posibles con los que empezar a desarrollar nuestros primeros juegos en flash. Si finalmente lo utilizamos, trabajaré en unos pocos tutoriales para manejarlo (ahora mismo sigo estudiando JAVA)</div>
<div>
<br /></div>
<div>
<br /></div>Lord Barbashttp://www.blogger.com/profile/05600540290780469563noreply@blogger.com0tag:blogger.com,1999:blog-2010704670845724292.post-60164410496972869142011-11-30T10:49:00.001+01:002011-12-20T08:58:23.859+01:00OpenLibraNo tengo mucho tiempo esta semana para dedicarle al blog, (exámenes) pero he dado con una pagina web que no podía esperar a compartir en el blog, (y en mi cuenta de facebook, g+, tuen... bueno quizás en este ultimo no.)<br />
<div>
<br /></div>
<div>
Se trata de una web llamada "OpenLibra", una biblioteca online, inmensa con gran cantidad de material didáctico y educativo, especialmente extenso en materia informática. Y todo gratis. Free Knowledge.</div>
<div>
<br /></div>
<div>
<a href="http://www.etnassoft.com/">http://www.etnassoft.com/</a></div>Lord Barbashttp://www.blogger.com/profile/05600540290780469563noreply@blogger.com0tag:blogger.com,1999:blog-2010704670845724292.post-54173095549903198822011-11-28T12:46:00.001+01:002011-12-15T15:47:54.122+01:00Codigo de Doom 3 liberado y videos del documentalHace unos días se liberaba el código fuente de Doom 3, uno de los grandes lanzamientos de la pasada época, quería dejar aquí el enlace a ese código, y explicar, que aunque tiene licencia GPL v3 hay ciertos elementos como mapas, niveles, sonido, que no están disponibles pues pertenecen a sus respectivos autores.<br />
<div>
Pero a nosotros lo que nos interesa es el código fuente, la programación, aquí tenéis el enlace a GitHub (una red social de programadores que comparten códigos liberados y mantienen una comunidad, que, educativamente, creo que vale oro).<a href="https://github.com/TTimo/doom3.gpl" target="_blank"> Podéis descargarlo aquí</a></div>
<div>
<br /></div>
<div>
De paso, os dejo los enlaces al resto de los videos del documental.: </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://3.gvt0.com/vi/_O3F1Z2q5iM/0.jpg" height="266" width="320"><param name="movie" value="http://www.youtube.com/v/_O3F1Z2q5iM&fs=1&source=uds" />
<param name="bgcolor" value="#FFFFFF" />
<embed width="320" height="266" src="http://www.youtube.com/v/_O3F1Z2q5iM&fs=1&source=uds" type="application/x-shockwave-flash"></embed></object></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/5GrMOjKywzU?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/tnz389zVrpQ?feature=player_embedded' frameborder='0'></iframe></div>
<div>
<br /></div>Lord Barbashttp://www.blogger.com/profile/05600540290780469563noreply@blogger.com0tag:blogger.com,1999:blog-2010704670845724292.post-83140381121228141762011-11-23T10:00:00.001+01:002011-12-17T19:18:50.807+01:00Bienvenidos<br />
<div class="MsoNormal">
Buenas a todos. Bienvenidos.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Soy Sergio, uno de los 2 colaboradores con los que
actualmente cuenta el blog.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Sobre nosotros.<o:p></o:p></b></div>
<div class="MsoNormal">
Somos un par de chavales jóvenes, con una gran pasión por la
tecnología, la informática, la programación y los videojuegos (unos Geeks y
Gamers, de pies a cabeza) no tenemos un enorme curriculum, ni experiencia
laboral extensa, pero si tiempo y ganas para aprender. Por ahora solo somos 2, pero pronto se unirán más
colaboradores para ayudarnos a crear contenido en el blog.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>El objetivo de este
blog.<o:p></o:p></b></div>
<div class="MsoNormal">
Hace unos meses contacte con Dani y le propuse formar un
grupo de aprendizaje, crear este blog para darnos a conocer, compartir
conocimientos con otras personas, ampliando así nuestro radio de trabajo y
contactos, y utilizarlo como plataforma para lanzar en un futuro algún proyecto
conjunto. No fue el único, próximamente,
esperamos la colaboración de más compañeros que también están interesados en
este proyecto.<o:p></o:p></div>
<div class="MsoNormal">
El objetivo final del blog, es crear una plataforma para
darnos a conocer en internet, desde la que, en un futuro, crear una “startup”.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>El ámbito del blog.<o:p></o:p></b></div>
<div class="MsoNormal">
En este blog trataremos temas como la programación, el
desarrollo de aplicaciones, el diseño de videojuegos y otros temas relacionados
con el mundo de la informática. También se colara de vez en cuando alguna entrada sobre diseño web, gadgets, programación para dispositivos móviles, Personalmente, me ocupo de las publicaciones
relacionadas con el diseño y desarrollo de videojuegos, aunque también postearé
de vez en cuando sobre otros temas.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
De momento estamos trasteando con las herramientas que nos
ofrece blogger para darle un diseño más atractivo a la página, mientras
preparamos contenido que publicar. Por
el momento os dejo un documental (un poco largo) sobre los videojuegos, un
resumen de su corta historia con entrevistas a personalidades del sector. Está
divido en 5 partes, os dejo las 2 primeras y mas tarde pondré el resto (aunque si tenéis muchas de verlo entero podéis buscarlo en la web de Youtube.).<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Un saludo, y gracias por leernos.</div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/5srw05S5d1w?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/pgavcsdZDL0?feature=player_embedded' frameborder='0'></iframe></div>Lord Barbashttp://www.blogger.com/profile/05600540290780469563noreply@blogger.com0