UDev_2

download UDev_2

of 28

Transcript of UDev_2

  • 7/27/2019 UDev_2

    1/28

    UDEVN 2

  • 7/27/2019 UDev_2

    2/28

  • 7/27/2019 UDev_2

    3/28

    CONTENIDO

    UDEV

    Cargo: Direcor

    Nombre: David Colladoemail: [email protected]

    4

    7

    11

    16

    19

    25

    1. Unie 2010

    2. Enrevisa Tornado Twins

    3. Eyes Bandegades

    4. Como se hace? Produc Shee (pare2)

    5. Tuorial: Sreaming con uniy

    6. Inroduccin a iTween

    EDITORIALAqu esamos, con un nuevo nmero de Udev, res meses

    despus del primero. Me sieno orgulloso de comparir conoda la comunidad esa nueva edicin cargada de conenidos; enre ellos, una ineresane enrevisa a unos personajes muy conocidos denro del secor: los TornadoTwins.

    Adems de con buenos arculos conamos con la paricipacin de la comunidad, que ha sido mayor en ese nmero,endencia que confo se manenga en prximos nmeros.

    Tengo que dar las gracias a mucha gene; empezando pornuesro maqueador, que realiza un rabajo ms que noablededicando su iempo libre a dar forma a la revisa; a nuesraediora, siempre revisando y puliendo con paciencia cadadealle, y no puedo ampoco dejar de agradecer el rabajode nuesro ilusrador cuyo aleno no iene lmie, al y comodemuesra da a da.

    Sin embargo, el mayor agradecimieno es para los redacores, que colaboran desineresadamene en el crecimienode Udev con sus esupendos arculos, y sobre odo paravosoros, lecores (y quiz fuuros colaboradores). Sin vosoros, odo ese esfuerzo no endra senido.

    No quiero alargarme ms; como siempre, espero que disfruis de ese nmero y que os animis a paricipar en elsiguiene.

    Un saludo!

    David Collado, DirecorEN ESTE NMERO

    Cargo: EdioraNombre: ngela Espelaemail: [email protected]

    Cargo: MaqueadorNombre: Eduardo Echevarraemail: [email protected]

    Cargo: IlusradorNombre: Javier Morenoemail: [email protected]

    Artculo: Enrevisa Tornado TwinsNombre: Tornado Twinsweb: www.ornadowins.com

    Artculo: Cmo se hace?Nombre: Jess Pancorboemail: [email protected]

  • 7/27/2019 UDev_2

    4/28www.unityspain.com4

    Aunque ya ha pasado un tiempo desde lakeynote de Unite 2010, creo que ser in

    teresante hablar de ella y dejar claros al

    gunos detalles que quiz no quedaron muy

    claros en un primer momento.

    En la conferencia inaugural de Unite 2010

    en Montreal, el director ejecutivo de Unity,

    David Helgason anunci algunas mejoras

    para el motor, adems de una nueva inicia

    tiva llamada Union, que ayudar a los de

    sarrolladores a llegar a los dispositivos a los

    que no podan llegar antes.

    En primer lugar, Helgason di algunas es

    tadsticas interesantes: la conferencia de

    Unite, la cuarta, cont con 650 partici

    pantes, entre ellos personal de Unity. En el

    ltimo ao, desde que la compaa liber

    una versin gratuita del motor, su audien

    cia ha aumentado 20 veces, de 13.000 a

    260.000 desarrolladores.

    Si bien en un principio hubo cierta preocu

    pacin de que esta gran afluencia de

    nuevos usuarios podra llegar a degradar la

    comunidad, desde la percepcin de Unity

    y tambin de usuarios ya asentados, no ha

    sido el caso. El palabras de Helgason: Simplemente ha enriquecido y hecho mejorar

    la comunidad Estos nuevos usuarios

    fueron a aprender, ensear y ser de utilidad

    para la comunidad.

    Unity 3 se puso a la venta hace poco y ya

    es muy fuerte. El plugin para poder jugar

    a juegos de Unity en la web ha llegado a la

    cifra de 2.5 millones de instalaciones al

    mes, 1 por segundo, llegando a un 30% de

    los jugadores de internet. 40 millones de

    plugins se han instalado a da de hoy.

    El motor tambin est presente en 17 de

    los juegos top 10 de la plataforma iOS y

    20 buenos juegos han sido lanzados para

    Android, 13 de ellos tambin en iOS. Las

    ventas del motor para Android han lle

    gado ya a un tercio del volumen de las

    ventas de iOS.

    A principios del ao prximo aparecern

    los primeros juegos para Xbox 360 y

    PlayStation 3 realizados con Unity y los

    desarrolladores interesados pueden ac

    ceder a estas plataformas ponindose

    en contacto con el equipo de ventas de

    Unity. Estamos controlando a la gentea un ritmo lento para asegurarnos de

    que podemos darles buen soporte, dijo

    Helgason.

    La compaa tambin est trabajando con

    Google para que sea posible que juegos de

    Unity funcionen de forma nativa en

    Chrome y se expandir a sus tables y otros

    dispositivos.

    La democratizacin del Desarrollo de

    Videojuegos

    Helgason dijo: El objetivo que nos mueve

    es democratizar el desarrollo de videojue

    gos. Trabajamos de la forma que sabemos,

    que es coger tecnologa realmente avan

    zada, empaquetarla, simplificarla y hacerla

    mejor en un modelo de negocio que nos

    permita seguir vivos. Somos rentables y

    todo va muy bien, estamos creciendo y lle

    gando a gente nueva.

    Sin embargo, eso no es suficiente: Hay prob

    lemas que permanecen incluso una vez que

    se haya hecho el desarrollo del juego de

    forma sencilla Si bien la compaa todava

    UniteUNITE DAVID COLLADO

    EPORTAJE

  • 7/27/2019 UDev_2

    5/285www.unityspain.com

    Reportaje

    www.unityspain.com

    est trabajando en la simplificacin del profeso de desarrollo

    del juego, sigue habiendo problemas. Y uno de esos problemas

    es que los videojuegos requieren de un equipo.

    Un desarrollo requiere de artistas, animadores, difer

    entes tipos de programadores, diseadores, etc. Tener un

    equipo estable es un lujo de un gran equipo con un granpresupuesto. Muchos forman parte de grandes empresas

    pero otros no. Nos dimos cuenta de que la solucin es

    taba en la comunidad ya existente que no solo com

    partan herramientas, sino tambin arte, extensiones....

    Todo esto era controlado fuera de Unity antes, pero ya no

    ser as. Unity cambi esto con el lanzamiento de la Unity

    Asset Store, una plataforma para el intercambio y el comer

    cio entre los usuarios de Unity. Es una pieza bastante salvaje

    de software, dijo Helgason.

    Muy parecida a la tienda de iTunes o la App Store, latienda te permite descargar, desde el interior de Unity

    3.1, obras de arte y otros datos e importarlos directa

    mente a Unity permitindonos trabajar con ellos casi de

    inmediato. Otra similitud con la App Store es la partici

    pacin en los ingresos, con un 70% para los desarrol

    ladores y un 30% para Unity.

    Adems de incluir la Asset Store, la versin 3.1 de Unity cor

    rige muchos errores y mejoras, y hay otra novedad impor

    tarte en Unity 3.1, que se ha mantenido en secreto porque

    es complejo y tcnico.

    Habr muchos ms telfonos in-

    teligentes, televisores con conexin

    a internet y decodificadores capa-

    ces de ejecutar tus juegos

    Union

    Mientras que iOS, los navegadores y muchas otras consolas

    ofrecen grandes audiencias para los juegos desarrollados con

    Unity, esto no es todo: Habr muchos ms telfonos inteligentes, televisores con conexin a internet y decodifi

    cadores capaces de ejecutar tus juegos, dijo Helgason.

    Los fabricantes de estos dispositivos saben que los juegos

    son importantes... pero no saben dnde ir, por lo que recurren

    a grandes empresas dejando fuera a la comunidad de Unity,

    algo muy triste. Qu pasara si todos unimos fuerzas?

    Nos dimos cuenta de que nuestra comunidad haba lanzado

    muchos grandes juegos en la App Store, mejores que los de

    grandes editoras. Esta es la razn para lanzar Union, para cap

    turar esas oportunidades todas juntas.

    Union es un nuevo servicio a cargo de Unity, que permitir a

    los desarrolladores llegar a una serie de nuevas plataformas

    con un porcentaje de ingresos 80/20. Brett Seyler dio una ex

    plicacin ms completa de qu es Union: Hoy estamos lan

    zando Union, y eso significa que tus juegos pueden llegar ms

    lejos que nunca antes. Realmente creo que estamos en la

    cspide de algo muy grande. Al actuar juntos podemos estar

    entre los primeros en cualquier dispositivo, dijo.

    Para unirse solo debes contactar a Union, subir un proyecto

    completo y listo.

    Se anunciaron cuatro relaciones de inters para Union desde

    el principio. Una de ellas es Nokia, que el ltimo trimestre

    envi 110 millones de telfonos y tienen un 32% del mer

    cado dijo Seyler. El siguiente es NDS, un proveedor de soft

    ware clave para decodificadores y otros dispositivos similares

    para la sala de estar. No es un nombre muy conocido, pero

    su software esta en ms de 138 millones de dispositivos ac

    tivos. Splashtom, el tercero, es una empresa muy intere

    sante... ofrece un arranque instantneo del sistema operativoque ya est en ms de 40 millones de PCs de empresas como

    Lenovo y Dell. Por ltimo, HP Palm, que tiene cerca del 5%

    del mercado del espacio del mvil inteligente y en el lado PC,

    son enormes, casi el 30% del mercado.

    Estas son slo algunas de las empresas con las que estamos

    trabajando y cuando lleguen a estos dispositivos y encuen

    tren compradores, el 80% de los ingresos netos volver a los

    desarrolladores, prometi Seyler.

    Aunque esto fue lo ms relevante ocurrido en Unite 2010 de

    cara al pblico general, realmente ni anuncios ni datos son

    el centro del evento. Unite es comunidad, es conocer nuevosdesarrolladores y es aprender de manos de los propios tra

    bajadores de Unity. Personalmente no me ha sido posible asi

    stir, aunque me gustara poder hacerlo en prximas ediciones

    y tener as la posibilidad de ofrecer una visin ms cercana

    de este aspecto fundamental de Unite, la comunidad, tam

    bin uno de los pilares de su gran motor.

    Para los que no pudieron asistir, Unity tendr varios

    vdeos disponibles muy pronto en su web, tal y como ya

    hicieran en anteriores ediciones y, si algn afortunado de

    entre vosotros tuvo la posibilidad de asistir, que no dude

    en compartirlo con nosotros.

    UNITE DAVID COLLADO

  • 7/27/2019 UDev_2

    6/28

  • 7/27/2019 UDev_2

    7/28

    Quin esa ders de TornadoTwins?

    Tras TornadoTwins esn unos gemelos que han esado ha

    ciendo juegos desde los 10 aos. Hemos rabajado para al

    gunas de las ms grandes compaas a nivel mundial y po

    siblemene ambin en algunas de las ms pequeas.

    Tambin esamos encanados de haber iniciado nuesro pro

    pio negocio.

    Qu relacin enis con Uniy?

    Nos encana Uniy por encima de oros moores. Es un moor

    muy diverido para hacer juegos, uno de los mejores que hemos

    usado. Por supueso, elegir un moor depende siempre del

    cliene o el juego que esemos haciendo.

    Cmo llegaseis a Uniy?

    Nos encan ano Uniy que compramos equipos Mac para

    poder usarlo, ya que enonces no haba versin para Windows.

    No esamos seguros de cuando exacamene empezamos a

    usar Uniy pero creo que posiblemene fuese en 2006.

    Habis asisido a Unie 2010? Si es as, Cmo ha sido la

    experiencia?

    No, no ha sido posible. Pero por lo que sabemos ha sido genial.

    Cules son para vosoros los mejores punos de Uniy?

    El ms imporane es el hecho de que la edicin de assets es

    muy visual. Eso es para nosoros la pare ms imporane, no el

    cdigo. Sin embargo, para nuesros propios juegos hemos des

    arrollado nuesros propias herramienas, por lo que no hacemos

    odo denro del moor. Acualmene uilizamos el moor para

    desplegar las herramienas, y luego uilizamos las herramienas

    para dar forma al juego. Es un ciclo curioso.

    Por curiosidad, habis viajado alguna vez a Espaa o a

    oro pas hispanohablane? Si es as, Podeis resumirnos

    vuesra experiencia?

    Slo hubo una vez en mi vida en la que no me guso Espaa:

    cuando mi pas (Holanda) uvo que jugar la final de la Copa

    del mundo de 2010 y perdi. An as Espaa mereca ganar,

    bien jugado!

    www.unityspain.com 7

    TORNADO TWINS

    ENTREVISTA

    TORNADO TWINS

  • 7/27/2019 UDev_2

    8/288 www.unityspain.com

    Por oro lado he esado en Bolivia un par de veces. Por su

    pueso no es lo mismo que Espaa, pero ambin se habla

    casellano. Me encana el idioma!

    Qu os llevo a crear UniyPrefabs?

    Hace un ao comenzamos nuesro canal en YouTube para

    ayudar a la gene a hacer juegos. No sabamos que llegara

    a ser an popular an rpidamene. Fue an popular que

    uvimos que cerrar las noificaciones por email porque e

    nemos mas de 300 mensajes al da (Ms pregunas que en

    los foros de Uniy). Para ayudar a las personas con mayor

    eficacia comenzamos a hacer prefabs, codificando el are

    para que la gene pudiera uilizarlo para hacer sus juegos

    ms rpido. Por supueso, no hicimos odos nosoros mis

    mos, conraamos a oros programadores. As es como se

    conviri en un negocio.

    Para vosoros, El poencial de UniyPrefabs esa en

    el precio o en la calidad? Qu impora ms a la hora

    de venderprefabs?

    Es muy difcil hacer algo que odos pueden usar para su

    juego. Cada juego es nico. Inenamos ayudar a odo el

    mundo, pero es sencillamene imposible. As que en

    lugar de una alla nica para odos hicimos nuesros

    prefabs muy configurables. Con slo algunas variables

    puedes cambiar odo. Ese es el verdadero puno clave

    de nuesros prefabs, la posibilidad de configurarlos al

    guso. Adems inenamos que el cdigo sea sencillo de

    enender. Queremos que cualquiera pueda usarlos, no

    solo los programadores.

    UniySpain vende acualmene denro de UniyPrefabs, Los vendedores de UniySpain pueden vender

    en la asset store? Qu deben hacer?

    Efecivamene, UniySpain se uni a nosoros como un ven

    dedor oficial, adems fue uno de los primeros. Si la gene

    quiere publicar susprefabs a ravs de UniySpain solo de

    ben conacar a su webmaster, que sabe exacamene como

    vender en UnityPrefabs.com. Nosoros nos ocupamos a

    parir de ah y publicamos en la asset store siempre y

    cuando el produco sea exclusivo, pues de ora forma no

    enemos los derechos para represenarlo.

    Cules son vuesras ideas para el fuuro de Uniy

    Prefabs?

    No hemos hecho ms que empezar! La siguiene cosa que

    esamos haciendo es una revolucin en el desarrollo de

    juegos indie. Es un conjuno de soluciones muy ineligenes

    para los problemas ms comunes enre los diseadores de

    juegos. No puedo decir exacamene lo que es odava,

    pero asegrae de esar suscrio al newsletterde UniyPre

    fabs.com para enerare en el momeno del lanzamieno.

    Entrevista

    TORNADO TWINS

  • 7/27/2019 UDev_2

    9/28

    Os puedo asegurar que no os lo querris perder, es real

    mene emocionane.

    Acabis de lanzar un nuevo proyeco. Podrais con

    arnos en que consise?

    Durane los limos 3 aos hemos esado dndole vuelas

    a converir la Biblia en un videojuego. No puedo creer que

    nadie haya hecho eso anes ya que las hisorias de la Biblia

    son perfecas para un videojuego. Hay muchas guerras y

    mucho ms maerial.

    Empezamos el proyeco mucho anes de que alguien nos

    conociera y no ha sido fcil, ya que es muy grande. Empe

    zamos con una sola hisoria y esa fue la hisoria deDavid.

    En el juego jugabas como David desde que eras un pobre

    pasor hasa llegar a ser un rey ( y maando a Golia, porsupueso). Tambin enemos algunos elemenos en el juego

    que nunca se han hecho anes. Tendris que esperar a la

    demo para verlo.

    Tenemos algunos elementos en el

    juego que nunca se han hecho antes

    Tenis mas proyecos para el fuuro?

    Por supueso! Siempre hacemos varios proyecos a la vez. Tenemos ora hisoria que esamos convirtendo en videojuego,

    es de ciencia ficcin fuurisa. Ese proyeco es an muy se

    creo.

    Os sigo en Twier y veo que hablis mucho sobre mar

    keing enfocado a videojuegos. Qu consideris mas

    imporane sobre ello? Que consejo darais a alguien

    que quiere hacer su juego y no iene una gran compaa

    ders?

    La mayora de los desarrolladores indie ponen su esfuerzoen hacer el juego. Cuando esa erminado, lo prueban y lo

    envan a la App sore y quizs a algn oro siio, pero no

    llega a vender realmene nunca. A veces piensan que es

    por su juego, por lo que cambian a un nuevo proyeco y

    durane aos consiguen los mismos resulados.

    Sin embargo, solo por el hecho de que u juego es en

    una red de disribucin (como la App sore), no quiere

    decir que el juego es delane de odo el mundo. De he

    cho, no lo esar.

    Esa es la razn por la que recomiendo a odo el mundo que

    enga un plan solido y probado de marketng. Necesias que

    u juego se conozca. Si no tenes una compaa que lo haga

    por t, tenes que crear esa compaa. Por eso hablo ano

    de ello: anunciar el juego es an imporane como hacerlo.

    Esa es ambin una de las razones por las que esamos

    desarrollando nuesro juego de forma abiera. En lugar deguardar odo en secreo, dejamos que la gene nos diga

    qu quiere ver. Aunque cnicamene eso no es markeing,

    consigue que odo el mundo ese emocionado con u juego

    y eso es exacamene lo que necesias.

    Qu recomendis a un programador para inroducirse

    en la indusria? Y para un artsa? Y para el que disea

    el juego? Cul es u consejo para los nuevos programa

    dores, artsas? Qu deben esudiar, leer, ver ?

    Mi consejo para los programadores: despus de esar programando un da enero, oblgae a revisar odo de nuevo.

    Me he dado cuena por m mismo de que despus de pro

    gramar ano sobre los dealles me olvidaba de que real

    mene esoy creando un juego. Si no revisas lo que ess

    haciendo, el resulado puede ser un juego horrible. Tambin

    es imporane fijarse un objeivo diario, complearlo y en

    onces deenerse. Es mejor erminar un da resolviendo un

    problema, que empezando oro que no puedes erminar,

    consiguiendo que e vayas de la oficina frusrado.

    Mi consejo para los arisas: fuerza a u equipo a que defina

    un lmie de polgonos y amao para el juego. No ganas

    nada hasa que el equipo al compleo iene claro a qu

    framerate debe funcionar el juego, cul es la mxima can

    idad de polgonos para cada personaje u objeo y el a

    mao de las exuras. Cuando odo eso es definido, el

    reso es realmene sencillo. El libro de Wes McDermo

    Creating 3D Game Art for the iPhone with Unity iene ca

    pulos muy ineresanes que hablan de ello.

    En el mercado indie no puedes compeir con grandes

    compaas en calidad cnica, IA, ec Dnde deben

    buscar los desarrolladores indie? Cul es el camino

    para conseguir que un juego riunfe en un mercado

    an saurado de grandes juegos?

    Cenrarse en los nios. Es as de simple. Los nios no buscan

    personajes modelados en zbrush que hagan movimienos

    acrobicos. Un simple sprite diverido puede conseguir

    mucho ms que eso. Creo que los desarrolladores ms exi

    osos enre los desarrollos indie se esn cenrando ambin

    en juegos para iPhone y el reso de plaaformas mviles.De esa forma se ven forzados a reducir los grficos y a in

    novar. Algunas veces verse forzado en esa direccin es

    9www.unityspain.com

    Entrevista

    TORNADO TWINS

  • 7/27/2019 UDev_2

    10/2810 www.unityspain.com

    bueno. Necesiamos ms creaividad y diversin. Si esas

    pensando en hacer oro FPS de zombies o de accin segu

    ramene engas compeencia.

    El riesgo es conseguir que guste

    a la gente

    El hecho es que para mucha gene odos los juegos de ac

    cin son iguales. La gene no sabe cual escoger, as que se

    guan por lo que juegan sus amigos y acaban comprando

    Call of Duy. Jams mirarn hacia u juego.

    En definiiva, si quieres hacer un juego que venda ienes

    que llamar la aencin, y llamar la aencin empieza por

    escoger el gnero correco. Mi consejo es cenrarse en los

    nios y las familias primero.

    Crees que alguna vez habis redefinido un genero?

    En caso afirmaivo, Considerais que es necesario

    hacerlo?

    No es muy necesario. Un gnero de videojuego tene que

    ver con el puno de visa de la cmara. Por ejemplo, cuando

    la cmara esa en la cabeza del personaje enemos un shooter

    en primera persona. La pare en primera persona tene

    sentdo, pero shooterNo tene nada que ver con eso! Por

    supueso, se puede hacer un juego en primera persona queno sea un juego de disparos. Sin embargo, ya que la cmara

    esa en la cabeza del personaje, se relaciona inmediaamene

    con el genero de accin de disparos. Por ano, los gneros

    tenen mucho que ver con los punos de la cmara, y odos

    los punos de cmara ya han sido invenados.

    En los juegos acuales, para innovar o redefinir un gnero,

    tenes que hacer una combinacin de punos de cmara que

    esn unidos de forma creatva. Esa es la forma de hacerlo.

    Lo hemos hecho nosoros? Bueno esamos rabajandoen un juego muy grande que llevara ms all los limies de

    la creaividad. El riesgo es conseguir que guse a la gene.

    Yo confo en ese rabajo, pero, obviamene, yo esoy den

    ro del proyeco. Para conesar a u preguna: an no he

    mos reinvenado un gneroPero lo haremos prono!

    Uniy acaba de presenar su asset store y UniyPrefabs

    ha anunciado que es en ella. Cmo ha sido la ex

    periencia? Conac Uniy con vosoros o fuiseis vos

    oros los que conacaseis con Uniy?

    Ese verano el direcor ejecuivo de Uniy, David Helgason,

    conac con nosoros para comunicarnos que esaban

    rabajando en su propia asset store. Para su sorpresa,

    nosoros esbamos muy conenos con ello. En lugar de

    converirnos en compeencia les sugerimos abrir la ienda

    a oros y vender a ravs de ella. Un mes ms arde via

    jamos a San Francisco para mosrarles nuesra ienda, a

    ravs de la cual los dems podan vender. La reuninfue genial.

    Qu prefabs esis vendiendo en la asset store de

    Uniy?

    Todos los que son compaibles con Uniy 3, incluyendo

    aquellos que se venden a ravs de nuesra ienda, que

    simplemene consiguen los mismos porcenajes. Un sisema

    muy sencillo: ellos no ienen que hacer nada de publicidad,

    nosoros lo hacemos por ellos.

    Puede ahora cualquier arisa o desarrollador vender

    en la asset store de Uniy?

    En ese momeno, creo que la asse sore de Uniy no

    es abiera para odo el mundo. Uniy ha seleccionado

    un puado de desarrolladores con los que rabajar. Quizs

    en el fuuro la ienda se abra a oros vendedores, pero

    por ahora solo unos pocos ienen acceso. Nosoros esa

    mos enre ellos.

    Qu crees que es Union? Sabes como funciona? Podras decirnos cual es u opinin?

    Union ha sido anunciado en la conferencia de Unie de ese

    ao. Parece que Uniy recibir los juegos, y ras revisarlos

    los publicar en mliples plaaformas. Es una oporunidad

    muy buena. De momeno, no he odo de nadie que se en

    cuenre en ese proceso, pero esoy ansioso por ver llegar

    los resulados. Uniy iene muy buenos conacos denro

    del negocio de los videojuegos y quin sabe lo que puede

    ocurrir.

    Con esa preguna erminamos la enrevisa, muchas gracias

    por u tempo

    Entrevista

    TORNADO TWINS

  • 7/27/2019 UDev_2

    11/28www.unityspain.com 11

    ARTCULO

    Eyes Bandegades es un videojuego perteneciente al gnero de los shooterespacia

    les que inicialmente fue planeado a finales

    de 2009 como un pequeo juego de naves

    2D por Gilson Herrera (modelador 3D y mi

    nico socio en ese momento) y yo mismo,

    X4ch1, con la idea de promocionarnos

    como desarrolladores de videojuegos. En la

    captura podis ver un jueguecito de naves

    que realic en GameMaker en los inicios de

    mi perfil como diseador de videojuegos y

    que nos sirvi de inspiracin para el desarrollo. Algo que tuvimos muy en cuenta

    fue que este tipo de juegos son ms senci

    llos de desarrollar, y que solo realizaramos

    un nivel de muestra.

    Impactante, ver

    dad?

    Despus de con

    cretar la idea a la

    que queramosllegar, ideamos el

    nombre del juego

    y de los bandos, adems de dedicarnos adefinir lo primordial antes de empezar un

    videojuego cualquiera: la historia. As fue

    como surgieron nuestras ideas ocultas entre

    explosiones elctricas de conexiones fre

    cuentes de millones y millones de neuronas

    la historia: Buenos y malos en el espacio se

    disputan un gran mineral que todo lo hace

    y todo lo puede. A esos buenos los deno

    minamos Bandegades (humanos) a esos

    malos los denominados Naghut (alienge

    nas). Entonces empezamos como almas

    atormentadas o simplemente como caba

    llos desbocados a modelar la primera nave

    y construir la programacin de una movili

    dad vertical y horizontal (como se muestra

    en la imagen). Despus de trabajar la movi

    lidad y tener un movimiento bsico (logrado

    en una media hora) y una nave principal ya

    modelada (en el mismo tiempo), el mode

    lador empez con ms nimo el diseo de

    otra nave, mientras yo continuaba con laprogramacin. Entonces, por casualidades

    de la vida, nos encontramos con un video

    juego recin salido del horno: el juego deAvatar, la famosa pelcula de James Came

    ron, y mirando un video en YouTube, vimos

    una escena en la que apareca una nave

    (como la de la imagen).

    En ese momento todo dio un giro y nos

    preguntamos: Por qu no hacerlo as?

    Sabamos que sera ms difcil hacerlo

    de esta forma; pero nuestro juego re

    sultara ms novedoso sin esa aparien

    cia clsica, puesto que le aadiramos

    un escenario tridimensional (aspecto

    que llama mucho la atencin hoy en

    da), y adems nos exigira ms comodesarrolladores, ya que el 2D nos pare

    ca muy sencillo.

    Eyes BandegadesEYES BANDEGADES CRISTIAN GALLEGO

  • 7/27/2019 UDev_2

    12/282 www.unityspain.com

    Comenzamos por crear una escena donde ocurrira el juego,

    y empez tambin la ardua labor de mover una nave en ter

    cera persona. La primera exclamacin de mi compaero el

    modelador al ver la nave moverse fue: Guau, la nave anda!;

    todo esto mientras l modelaba un terreno en Zbrush para

    aadir al juego. Este nos lo imaginbamos como un satlitenatural muy similar a la luna; al principio era un escenario

    lleno de crteres muy bien logrados. Poco a poco fuimos aa

    diendo cosas como nitro, colisiones, ms detalles en el mapa,

    una base, etc. Segn avanzbamos, vimos que a la nave le

    haca falta un movimiento ms fluido, y prob varias cosas

    para lograr un movimiento medianamente decente que se

    asemejara ms a una nave en el espacio. Al empezar pareca

    un colibr volando, pero despus de analizar juegos como

    Starfox, not que la nave miraba primero hacia abajo y que

    haca continuamente un movimiento como de ola, solo para

    bajar y subir.

    As fue como logr dar un movimiento ms fluido:

    Esto da una sensacin de ola, y por lo tanto crea el efecto

    de vuelo, el cual se completa con la animacin, un buen so

    nido y buenos efectos de partculas; aunque, lamentable

    mente, todo eso no es suficiente para sentir en tercera

    persona el vuelo de una nave. Para mejorar el efecto, utilic

    una cmara que tuviese un movimiento retardado cuando

    la nave hiciese el movimiento de ola, para lograr ms flui

    dez, y al fin quede un poco ms satisfecho porque el nuevo

    movimiento estaba listo y era notoriamente ms natural

    que el anterior. Hasta el momento todo iba bien. Tenamos

    nuestra escena del satlite artificial, una nave con un vuelo

    ms fluido y un escenario con algunos detalles. Al poco

    tiempo de tener varias torretas enemigas y un escenarioplaneado, nos dej de gustar el aspecto de la luna marciana

    y decidimos hacer otras cosas. Ideamos unas islas flotantes

    al ms puro estilo del mismo avatar, pero en el espacio, y

    empec a montar el nuevo escenario a medida que mi com

    paero terminaba las islas flotantes donde se supone que

    las naves nodrizas estaran ancladas para extraer el mineral,

    tal y como muestra esta imagen:

    Ya podis ir contando los cambios que se han hecho desde el

    principio.

    Continuamos entonces con la nueva escena, donde ya no habasuelo sino que todo estara en el espacio, mientras mi compaero

    terminaba satisfactoriamente las naves y el escenario propuestos

    en 3D y empezaba a trabajar con una cinemtica en 3D Max para

    hacer un triler promocional con una cabecera llamativa. En las

    primeras escenas, la nave principal aparece en los renders de una

    forma muy destacada. Los renders estuvieron listos tras una se

    mana de renderizado con los equipos que estbamos manejando

    en ese momento. El video, que es el mismo que aparece al eje

    cutar Eyes Bandegades, tiene una duracin de 144 minutos. De

    manera imprevista, tuvimos la necesidad de cambiar la nave prin

    cipal por otra cuyo diseo nos pareci ms apropiado para usarla

    en el triler. Pero, tendramos que rehacer un render que tard

    una semana en estar terminado! Al final vali muchsimo la pena

    tanto trabajo, pues el cambio fue notable: la nueva nave tena

    un aspecto ms aerodinmico que la anterior, que modelamos

    en media hora, y era mucho ms llamativa.

    Realizamos todos los arreglos correspondientes y empezamos a pre

    parar el juego para el pblico, que al fin y al cabo solo sera un nivel.

    Comenzamos a desarrollar la interfaz (HUD) y toda la partede comunicacin entre programacin y el jugador: contado

    res de municiones, vida, etc.

    Artculo

    EYES BANDEGADES CRISTIAN GALLEGO

  • 7/27/2019 UDev_2

    13/28

    Despus de terminar el triler de Eyes Bandegades nos pusi

    mos a la tarea de anunciarlo en YouTube, proponiendo el 4

    de junio como da de lanzamiento.

    Trabajando en los ltimos detalles, por as decirlo, con el

    juego an sin controles definidos, estuve intentando solucionar errores de rendimiento. Para empezar, el juego no suba

    de 10 FPS, lo cual no era para nada bueno, y quedaba poco

    tiempo para el lanzamiento. Revisando todo en general, me

    di cuenta de que algo que consuma mucho rendimiento en

    la escena era que las 24 torretas que hay en Eyes Bandegades

    tenan un sphere collidergigante como triggery dentro de un

    scriptdonde la funcin OnTriggerEnter estaba pendiente de

    realizar las acciones apenas la nave entrase en el collider; note

    que eso consuma muchos recursos y me toco reprogramar

    el reconocimiento de distancia con un sencillo Vector3.Dis

    tance. Hasta ah bien.

    Se acercaba cada vez ms el da de lanzamiento definido haca

    20 das, tiempo que pas realmente rpido, y cada vez apa

    recan ms detalles que organizar. Se lanz inicialmente una

    versin de Webplayer, con la estructura de juego que tena

    mos hasta ese momento. Pronto aparecieron las quejas de

    que el juego era demasiado pesado para Webplayer y el

    tiempo de carga mayoritario result ser media hora, nada

    menos! Nos dimos cuenta que no haba sido buena idea

    poner el juego en Webplayer, y entonces lo exportamos a una

    versin ejecutable. A partir de ese momento, empezamos a

    recibir recomendaciones: los grficos atraan a los jugadores

    y los consideraban buenos, pero por ejemplo, a la mayora

    los controles les resultaban muy difciles. Como este, otros

    tantos ejemplos de otros detalles que haba que corregir o

    mejorar (lo cual era de esperar pues, despus de todo, el

    juego era una versin Beta). Ya con esta informacin, empe

    zamos a realizar los arreglos correspondientes de acuerdo a

    los anlisis que nos iban llegando de la gente, que haca de

    betatester. Implementamos mejoras de rendimiento, contro

    les ms prcticos, un men mucho ms completo, botones

    importantes (como el de reintentar) y, entre otras cosas,

    aadimos el sistema de puntuacin y la posibilidad de selec

    cionar el nivel de dificultad.

    La motivacin de los jugadores

    hizo que pensramos en hacer una

    versin 2D del mismo juego

    Hasta ese momento todo estaba mejorando: el juego era

    mucho ms jugable y entretenido que antes y la diferencia conversiones anteriores, notable. Da a da han ido creciendo las

    visitas a www.EyesBandegades.com y duplicndose cada mes.

    La motivacin de los jugadores hizo que pensramos en hacer

    una versin 2D del mismo juego; versin que se realiz en un

    mes ya que al programador principal de esta versin, que

    quera unirse al grupo de desarrollo, se le propuso tal tarea

    para ello. Utiliz la misma arte que el 3D y las mismas naves,

    a las que se aadi una ms denominada KAMIKAZE debido

    a que est fabricada con escombros de metal para lanzarse

    con intencin suicida hacia el enemigo.

    Tanto la versin 3D como la 2D se pondran a prueba en el AnigamesExpo, un congreso latinoamericano de videojuegos y

    animacin (www.anigamesexpo.com), al que IsoftStudios llev

    el juego. Los asistentes quedaron muy contentos con su as

    pecto grafico, y sobre todo, con la sencillez y capacidad de en

    tretener al jugador con las que cuenta Eyes Bandegades 2D.

    Durante todo este tiempo desde que se empez a desarrollar

    Eyes Bandegades, el trasfondo del juego ha ido creciendo y

    hacindose ms complejo, y ya casi hay historia para un libro.

    Los aspectos de las naves Bandegades y Naghuts estn muy

    bien definidos: de donde salieron, cul es su objetivo o suscreencias y dems informacin sobre las civilizaciones que

    aqu aparecen. Para no extenderme ms, dir que pronto

    vern ms de EYES, con secuencias de vdeo incluidas y

    mucho ms entretenidas que nunca.

    Sugerencias:

    Antes de iniciar tu juego, crea la historia y un estudio de per

    sonajes, todo bien estructurado para que a lo largo del juego

    no vare mucho.

    Es imprescindible crear un documento de diseo en cuyo

    contenido estr definido el aspecto de los escenarios y, en ge

    neral, toda la parte grafica del juego.

    Tambin es muy importante crear un documento tcnico

    donde se especifique tanto la programacin en general como

    las mecnicas y toda la parte tcnica en si del videojuego a

    desarrollar.

    Para Eyes Bandegades no hicimos ninguna de estas cosas, y

    ya habis visto todos los problemas que eso nos acarre,como los muchos cambios que debimos hacer para que el

    juego mantuviese su identidad y lograse ser medianamente

    13www.unityspain.com

    Artculo

    EYES BANDEGADES CRISTIAN GALLEGO

  • 7/27/2019 UDev_2

    14/284 www.unityspain.com

    funcional y jugable; as que si queris evitar contratiempos

    innecesarios, no estara de ms tener en cuenta lo anterior.

    Seguramente, de nuestro accidentado proceso de desarrollo

    para este videojuego se pueden extraer ms recomendacio

    nes, pero esas fueron nuestras dificultades principales (que

    a su vez desencadenaron otros inconvenientes) mientras trabajbamos en Eyes Bandegades. Sed organizados!

    Mantener el nimo y el entusiasmo al desarrollar vuestro vi

    deojuego es una de las cosas ms importantes a tener en

    cuenta para la consecucin del proyecto, y ms en un des

    arrollo con escasas posibilidades de proporcionar beneficio

    econmico, tal y como es el caso.

    www.Eyesbandegades.com , una fiel muestra de un vide

    ojuego sin planificacin que nunca se nos pas por la cabeza que ira creciendo hasta este nivel en el que est.

    Pronto, para todos vosotros, habr una versin donde se

    narre esta fascinante historia sobre el videojuego Eyes

    Bangades.

    Artculo

    EYES BANDEGADES CRISTIAN GALLEGO

  • 7/27/2019 UDev_2

    15/28

  • 7/27/2019 UDev_2

    16/28

    Saludos a odos. Con el nacimieno de un

    nuevo nmero de Udev, coninuaremos

    desarrollando las ideas descrias en el an

    erior nmero y aadiremos oras nuevas.

    Esa seccin es orienaiva, y cabe desa

    car que esa no es la manera perfeca de

    rabajar, sino el orden y la imporancia

    que yo le oorgo a los disinos aparados.

    A rabajar!

    Storyline

    Ese aparado, especialmene ligado al in

    cluido denro de Descripcin del pro

    yeco, deber exender el resumen ya

    mosrado a lo largo de 23 hojas aproxi

    madamene. Deber mosrar la oalidad

    del Soryline del juego y no un simple re

    sumen.

    Ese aparado deber incluir como m

    nimo la aparicin de los personajes msrelevanes de la rama; as como sus ac

    ciones y consecuencias, en caso de pose

    erlas, sobre el reso de la accin o el

    mundo que los rodea. Debemos recordar

    qu es y no caer en la rampa de hacer

    un relao lierario fansico como a odos

    nos gusara. El lecor, en su mayora de

    veces, ser un producor. Si ese quiere

    leer avenuras se enreendr con sus gus

    os personales, no con los nuesros.

    Decisiones

    Ese aparado es opcional. Nuesro juego

    puede o no ener decisiones morales que

    afecen al universo del videojuego. Incluir

    las en un subaparado es decisin propia.

    Personalmene, si el juego coniene nu

    merosas decisiones y caminos a seguir,

    mosrara en ese aparado 1 hoja com

    plea con los ms relevanes.

    Localizaciones

    Ese aparado reunir la oalidad de los

    enornos y localizaciones principales del

    videojuego. No es necesario incluir en el

    lisado las Subzonas, o escenarios deri

    vados de los principales, ya que resula

    obvio que un escenario es subdividido

    en oros muchos y que esos limos esn

    incluidos denro de un escenario principal.

    Escenario 1

    Diferencias respeco al reso de es

    cenarios.

    Mecnicas de juego incluidas. Breve

    resumen.

    Enorno.

    Personaje/personajes conrolables.

    False Screensho. (Opcional)

    Mecnicas de juego

    Sin lugar a dudas mi pare favoria. En

    ese aparado, recogeremos odas y cadauna de las mecnicas de juego anerior

    mene expuesas en el aparado Descrip

    www.unityspain.com16

    JESUS PANCORBO DAZDANDO A LUZ (2 PARTE)

    Product Sheet

    Cmo se hace?

  • 7/27/2019 UDev_2

    17/2817www.unityspain.com

    Cmose

    hace?

    cin del proyeco y las describiremos con odo lujo de de

    alles. Pongamos un ejemplo adapado a Clippox Exodus y

    sus movimienos principales:

    Movimieno

    Caminar:

    En Clippox Exodus el jugador podr ineracuar con el

    personaje principal y hacerlo caminar por las diferenes

    localizaciones de al manera.

    Dos pulsadores semiinvisibles, ambos a cada lado de la

    panalla ctl y que ocuparan la prctca oalidad de los

    laerales permitrn, al pulsarlos de manera individual,

    mover al personaje en la direccin que pulsa el jugador.

    Pulsador izquierda

    Permiir mover al personaje hacia la izquierda.

    Pulsador derecha

    Permiir mover al personaje hacia la derecha.

    Salto

    En Clippox Exodus exisirn dos maneras claramene

    diferenciadas de hacer salar a nuesro personaje.

    Salo en parado

    El jugador deber de razar una diagonal, cuyo a

    mao y direccin sern deerminanes, en cualquier

    zona de la panalla para realizar un salo comn.

    Salo en movimieno

    En caso de necesiar un salo pronunciado, el jugador de

    ber iniciar un movimieno de caminar hacia la direccin

    deseada para despus, agiar el erminal levemene e ini

    ciar as el salo. Su longiud siempre ser igual y superior a

    la diagonal ms amplia razada en un salo comn.

    Esa es una pequea muesra de lo que deberemos escribir

    en nuesro Produc Shee, y que marcar profundamenela opinin de nuesro lecor.

    Como habis podido comprobar, cada dealle es medido

    y es as como debern de ser odas y cada unas de las me

    cnicas de juego de nuesro ulo. Para algunas solo sern

    necesarios un par de renglones y oras requerirn varias

    pginas compleas o ms en exclusiva.

    Cada detalle est medido

    Su reflexin deber ser profunda, y nunca escribir por es

    cribir. Una mecnica perfeca en un momeno deermi

    nado, puede enrar en conflico con ora que puede ser

    de uso obligado ms arde, debiendo reesrucurar odo

    de nuevo. Desde mi puno de visa, odas las mecnicas

    de juego debern de ser flexibles excepuando el esque

    leo principal consiuido por el movimieno del personaje,

    el cual deber ser fijado lo ms prono posible, eviando

    as posibles quebraderos de cabeza.

    Creo que la exensin de ese aparado puede andar enre

    las 24 pginas. Con el iempo lograremos comprimir la in

    formacin ms y ms sin perder un solo dealle en las des

    cripciones. Una de las reglas de oro que un da me explica

    ron, y que aplico a odos los aspecos de mi vida es la

    siguiene:

    Si un prrafo puede quedarse en una frase, hazlo. Si esa

    frase tienes que repetirla ms adelantees que no lo has

    hecho bien desde el principio

    En resumidas cuenas, opimicemos el espacio y la calidad

    de la informacin.

    Temtica y gnero

    Aqu deberemos dejar clara nuesra posura respeco al g

    nero que queremos para nuesro videojuego. Si su emtca

    es realisa, fanstca, o de oras caracerstcas, ambin de

    ber quedar definida. En el momeno de la reunin con un

    posible producor o alguien ineresado en el desarrollo del

    videojuego, deber ser defendida a capa y espada.

    Pienso que el espriu del videojuego es en la mene del

    creador, y solo en su mene. Defenderlo en su momeno y

    ms arde justficare con un rabajo excelene y acorde a lo

    JESUS PANCORBO DAZDANDO A LUZ (2 PARTE)

  • 7/27/2019 UDev_2

    18/2818 www.unityspain.com

    Cm

    osehace?

    que pensase y mosrase en su da es una muesra perfeca

    de la principal caracerstca del buen diseador: creer en uno

    mismo y ener fe en us propios proyecos hasa el final.

    Estudio de mercado

    Personalmene creo que es un aparado que solo debern

    de rellenar aquellos con experiencia en el secor y que pue

    dan aporar daos esadsicos claros de lo que engan enre

    manos. En caso de no ser as, un producor decene aporar

    esos anes de dare una respuesa. Exigirlos es lcio por

    pare del diseador al igual que lcio no darlos por pare

    del producor. Un ira y afloja diverido y enreenido.

    Si no tenes los conocimienos necesarios, pero aun as quieres

    inenarlo (eso muesra iners en aprender) esos son los da

    os, a mi parecer, necesarios para complear ese aparado.

    Ventas

    Plaaforma

    Nmero de venas aproximadas de la plaaforma se

    leccionada para el videojuego.

    Gnero

    Nmero de venas aproximadas del gnero seleccio

    nado para el videojuego.

    limo supervenas

    Nmero de venas aproximadas del limo videojuego

    supervenas y caracersicas que lo asemejen con u

    produco.

    Esimacin de venas

    Como la propia palabra indica, cunas venas calculas

    y porqu.

    Pblico objetivo

    Porqu se debe apostar por tu proyecto

    Hemos llegado al final de nuesro resumen sobre Como se

    hace un Produc Shee. Todos esos aspecos son oriena

    ivos, y esa es la formula con la cual yo rabajo a la hora de

    plasmar mis ideas sobre el papel. Adaparlos a la formacin

    y esilo de cada uno es imprescindible a la hora de doar de

    personalidad al documeno.

    Si he incluido los punos ciados aneriormene y no oros,

    es porque considero que es eso lo que un producor espera

    ver; el reso sobra ya que para ello exise el documeno de

    diseo, que aclarar odo lo que pudiera quedar en el aire.

    A rabajar y, Buena suere a odos!

    JESUS PANCORBO DAZDANDO A LUZ (2 PARTE)

    La originalidad no consiste en

    decir cosas nuevas, sino en decir-las como si nunca hubiesen sido

    dichas por otro

    Johann Wolfgang Goehe (17491832)

  • 7/27/2019 UDev_2

    19/28www.unityspain.com 19

    TUTORIAL

    Bienvenidos a ese uorial de cmo crear un reproducor de vdeos en streamingpara Uniy3D.El objetvo es crear un mdulo, independienedel conexo en el que se quiera siuar, que seacapaz de ofrecer reproduccin de vdeos alojados en Inerne mediane streaming.

    CONCEPTOS PREVIOS

    Dado que es el primer uorial que os ofrezco,aclarar el modus operandique utlizo paraelaborar los scripts. Todos los uoriales queyo realice esarn escrios en C#. Podramos

    esar horas hablando de venajas e inconvenienes sobre usar JavaScrip o C# pero ese noes el objetvo de los uoriales, as que simplemene dir que uso ese lenguaje porque escon el que me sieno ms cmodo.

    Ya cenrados en la programacin de losscripts, cabe enumerar una serie de hbioso normas que suelo usar a la hora de programar, con el objetvo de hacer ms fcilla comprensin de los scripts.

    Idioma

    El idioma escogido para programar es el ingls. No hace fala justficar mucho esa de

    cisin, es ms fcil que oros programadoresentendan qu hace una funcin o queguarda una variable si entende el nombrede sa. Lgicamene el nombre de ese tpode cosas tene relacin con su cometdo.

    Variables miembro vs. variables locales

    Por norma general, los scripts suelen enercienos de lneas, por lo que no endremosvisible la declaracin de las variables. Enesos casos, diferenciar a simple visa lasvariables que perenecen a la clase o lasque son de mbio local a la funcin es devial imporancia.

    Hay muchos modos y prctcas para realizar eso. Yo personalmene me declinopor la que hace la siguiene diferenciacin:

    Variables miembro: odas las variablesmiembro se escribirn empezando por elcarcer _ (underline o barra baja) seguidodel nombre de la variable empezando enminscula. En caso de ser un nombre com

    pueso por diferenes palabras, lo escribiremos odo juno y capializando(poniendo en maysculas) la inicial de cada

    una de las palabras (excepo la primera,como ya hemos comenado). Ejemplo:

    in_num;

    sring_num;

    MovieTexure_movie;

    Variables locales: ese tpo de variablesseguir las mismas reglas que las variablesmiembro, a excepcin de la barra baja (_)inicial: Ejemplo:

    in i;

    floa maxDuraton;

    sring veryLongNameForAVariable;

    Funciones

    Las funciones seguirn una regla bsica:odo juno y empezando en mayscula.Ejemplo:

    public void GePositon(in i)

    VAMOS AL TAJO!

    Lo primero que necesiamos es definir losesados en los cuales se podr enconrarel reproducor y acuar en consecuenciasegn sos. As, endremos que nuesro

    Streaming VideoSTREAMING VIDEO

  • 7/27/2019 UDev_2

    20/2820 www.unityspain.com

    reproducor se podr enconrar en 4 esados diferenes:STOP, PAUSE, PLAY, BUFFERING.

    public enum VideoSae

    {

    STOP, PLAY, PAUSE, BUFFERING

    }

    Una vez enemos claros los esados de nuesro reproducor,viene el momeno de definir su comporamieno en cada unode esos esados.

    Y QU VAMOS A REPRODUCIR?

    Lgicamene, el primer paso que debemos realizar es decirleal reproducor qu vdeo debe reproducir. Tambin necesiamos decirle al reproducor qu parmeros queremos usarpor defeco y qu oros queremos usar personalizados. Asenonces, vamos a definir una funcin que cumpla con esosrequisios.

    Pero anes de nada, enemos que declarar la clase del reproducor y alguna de sus variables miembros que guardarnoda la informacin aneriormene descria.

    As pues, la declaracin de la clase sera la siguiene:

    [RequireComponen(ypeof(AudioSource))]

    public class Video2D : MonoBehaviour

    {

    }

    La declaracin de la clase es una declaracin esndar de los

    scripts de Uniy, derivando de la clase MonoBehaviour paraheredar odo el comporamieno necesario para que se ejecue denro de nuesra aplicacin. Cabe desacar la lnea queprecede a la declaracin de la clase:

    [RequireComponen(ypeof(AudioSource))]

    Dado que es un reproducor de vdeo, es lgico pensar quese ambin endr sonido para ser ejecuado, as que conesa lnea advertmos al moor que aada el componene detpo AudioSource al objeo en caso de que no enga ya unoaadido. As aseguramos que escucharemos siempre el sonido que emia el reproducor.

    Ahora le oca el urno a las variables miembro del reproducor pero, cules necesiamos? Es imposible saber deanemano cunas necesiaremos y para qu las necesia

    remos. Vamos a pensar que queremos que enga nuesroreproducor. Queremos que descargue de una URL unvdeo, queremos que se pueda personalizar su amao yposicin en panalla y su esilo del conorno. Esas seranlas ms bsicas, pero podis pensar ms aspecos que queris conemplar. Yo he pensado, a priori, las siguienes variables asociadas a su correspondiene comporamieno:

    Rec _pos; // Posicin y amao del reproducor

    MovieTexure_movie; // Pelcula a reproducir

    in _deph; // Profundidad denro de la inerfaz

    GUISyle _syle; // Estlo del conorno del vdeo

    VideoSae _sae; // Esado en el que se encuenra

    bool _play; // Queremos reproducirlo?

    bool _wPos; // Queremos posicin personalizada?

    bool _wSize; // Queremos amao personalizado?

    in _videoBorder; // Borde del conorno del reproducor

    Como podis ver, han aparecido ms variables de las quehemos mencionado, pero ya veris que odas ienen suuilidad.

    PROFUNDIDAD DE LA INTERFAZ?

    Quiz ms de uno se ha quedado con cara de pker al hablarde profundidad de la inerfaz. Pero la inerfaz no es algoplano? S, pero igual que en Phooshop, la inerfaz rabaja concapas, de al forma que puedas definir qu se ve por delaney qu queda ders denro de la inerfaz. Eso es muy tlcuando tenes muchos scripts que tenen que mosrar cosasen la inerfaz. Al no saber qu scriptse ejecua anes, la nicaforma de asegurar el orden es siuando cada cosa en unacapa. No nos gusara que el exo de consejos que hemos diseado quedara por ders de las barras de vida y no se pudiera leer, por ejemplo.

    Ahora s, ya podemos definir la funcin para cargar un vdeo:

    public void LoadMovie(sring url, Rec pos, in deph,GUISyle syle, bool wPos, bool wSize, in border)

    {

    WWW www = new WWW(url);

    if( != null)

    {

    Debug.LogError(www.error);

    }

    else

    {

    _movie = ;

    audio.clip = _movie.audioClip;

    if(!_movie.isReadyToPlay)

    {_sae = VideoSae.BUFFERING;

    Tutorial

    STREAMING VIDEO

  • 7/27/2019 UDev_2

    21/28

    }

    else

    {

    _sae = VideoSae.STOP;

    }_deph = deph;

    _syle = syle;

    _wPos = wPos;

    _wSize = wSize;

    _pos = new Rec(1,1,1,1);

    _videoBorder = border;

    if(_wPos)

    {

    _pos.x = pos.x;

    _pos.y = pos.y;

    }

    if(_wSize)

    {

    _pos.widh = pos.widh;

    _pos.heigh = pos.heigh;

    }

    }

    }

    Vamos a hablar primero de los argumenos de la funcin:

    sring url: direccin web donde es alojado el vdeoa reproducir.

    Rec pos: recngulo con la posicin y/o el amaodel reproducor.

    in deph: capa denro de la inerface en la que se dibujar el reproducor.

    GUISyle syle: estlo a usar en el conorno del reproducor.

    bool wPos: indica si vamos a usar la posicin por defeco o una personalizada.

    bool wSize: indica si vamos a usar el amao por defeco o uno personalizado.

    in border: amao del borde del conorno del reproducor.

    Ahora ya podemos pasar a analizar el cuerpo de la funcin. En primer lugar, creamos un objeo de ipo WWWpara hacer la conexin con la direccin del vdeo. En casode que haya algn error, avisaremos de ese y finalizaremos la funcin. En caso de una conexin saisfacoria,asignaremos la pelcula a la variable encargada de ello.Para que se pueda escuchar el sonido, hay que asignarexplciamene a un AudioSource el clip de sonido de lapelcula. As pues, accedemos al AudioSource del objeo

    (ya nos hemos asegurado anes de que haya uno) parahacer la asignacin. El siguiene paso es conrolar si elvdeo ya es cargado o no para poder ser reproducido.

    Como se raa de un vdeo en streaming, puede ser quenecesie unos segundos anes de poder comenzar con lareproduccin. Gracias a la propiedad isReadyToPlay podemos conrolar ese aspeco. A parir de aqu, odas lasdems insrucciones son la asignacin de los parmerosa las variables miembro de la clase. En caso de quererusar los parmeros por defeco del reproducor, solo necesiamos pasar como argumeno null o 0 en caso de serun enero.

    Las acciones vienen a ser como el

    mando a distancia del reproductor,

    segn la cantidad de acciones que

    definamos, nuestro mando tendr

    ms botones o menos

    OJO CON LA CLASE RECT!

    Podras pensar que si no quieres ni amao ni posicin personalizada, podras pasar como argumeno de la clase Rec elvalor null. En la mayora de casos eso funcionara, pero enese caso hay un problema: esa clase es definida como nonullable. Qu significa eso? Significa que no puede pasarseen ninguna pare del cdigo un valor null cuando se es esperando un objeo de esa clase. Por esa razn se necesiade los booleanos wPos y wSize para conrolar qu queremosen cada caso.

    Perfeco, ya enemos nuesro esrucura ms bsica: enemosdefinida una clase que nos permie cargar y buffearun vdeo.

    Ahora solo nos fala definir las acciones que puede realizar elreproducor y definir qu debe hacer se en cada uno de losesados.

    Vamos por pares, primero definiremos las acciones. Las acciones vienen a ser como el mando a disancia del reproducor, segn la cantdad de acciones que definamos, nuesromando endr ms boones o menos, lgico. En ese uorialvamos a definir las ms bsicas de cualquier reproducor:play, pause y stop.

    public void Play()

    {

    if(_movie != null)

    {

    _sae = VideoSae.BUFFERING;

    _play = rue;

    }else

    {

    Debug.LogError(No movie loaded. Please, use LoadMovie() functon o load a movie.);

    }

    }

    public void Pause()

    21www.unityspain.com

    Tutorial

    STREAMING VIDEO

  • 7/27/2019 UDev_2

    22/2822 www.unityspain.com

    {

    if(_movie != null)

    {

    _movie.Pause();

    audio.Pause();

    }

    _sae = VideoSae.PAUSE;

    }

    public void Sop()

    {

    if(_movie != null)

    {

    _movie.Sop();

    audio.Sop();

    }

    _sae = VideoSae.STOP;

    }

    Como podis observar, hemos declarado las funciones comopblicas para que, desde donde se conrole el reproducor, sepuedan realizar las acciones. La esrucura de odas es muy parecida, a excepcin de la funcin Play(). Por qu no llamamosa la funcin _movie.Play(); del vdeo para reproducirlo? Muyfcil, puede ser que el vdeo an no es liso para empezar sureproduccin, por lo que no veramos nada y podra derivar enerrores inesperados. Pero an hay ms, cuando an no es lisoel vdeo para ser reproducido, el moor an no sabe qu medidas endr y, por consiguiene, define unas por defeco (16x16).Se podra dar el caso de ener en medio de la panalla un minsculo recngulo con el estlo definido por el usuario hasaque el vdeo esuviera liso para su reproduccin. Definiendoas la funcin, nos aseguramos de que no empiece a reproducirningn video hasa que no es liso.

    Ahora ya enemos las acciones que cambian el esado del reproducor, ahora vamos a conrolar qu pasa en cada uno deesos esados. Como el reproducor hereda de MonoBehaviour, podemos usar las funciones Updae() y OnGUI() paradefinir el comporamieno del reproducor.

    Comenzamos por la funcin Updae():

    void Updae ()

    {

    if(_movie != null)

    {

    swich (_sae)

    {

    case VideoSae.STOP:

    break;

    case VideoSae.PLAY:

    break;

    case VideoSae.PAUSE:

    break;

    case VideoSae.BUFFERING:

    if(_movie.isReadyToPlay)

    {

    if(_play)

    {

    _sae = VideoSae.PLAY;

    _movie.Play();audio.Play();

    }

    else

    {

    _sae = VideoSae.STOP;

    }

    if(!_wPos)

    {

    if(_wSize)

    {_pos.x = (Screen.widh _pos.widh) * 0.5f;

    _pos.y = (Screen.heigh _pos.heigh) * 0.5f;

    }

    else

    {

    _pos.x = (Screen.widh _movie.widh) * 0.5f;

    _pos.y = (Screen.heigh _movie.heigh) * 0.5f;

    }

    }

    if(!_wSize)

    {

    _pos.widh = _movie.widh;

    _pos.heigh = _movie.heigh;

    }

    }

    break;

    defaul:

    break;

    }}

    }

    Tutorial

    STREAMING VIDEO

  • 7/27/2019 UDev_2

    23/28

    Fijaos que enemos odos los esados conemplados en esafuncin, aunque no necesariamene endremos que haceralgo en cada uno de ellos. Es ms, para el funcionamieno bsico del reproducor solo necesiamos conrolar el esado VideoSae.BUFFERING.

    Lo primero que debemos verificar, es si el vdeo es preparado para ser reproducido. En caso negatvo endremos queesperar un poco ms hasa que es liso. Cuando ya lo es,endremos que comprobar si hemos accionado el bon playdel reproducor para empezar su reproduccin o, por el conrario, solo lo hemos cargado y an no queremos visionarlo.Cuando ya es liso, ambin debemos configurar amao yposicin del reproducor segn lo que el usuario haya pedidoaneriormene. En caso de usar los valores por defeco del reproducor, la pelcula ser reproducida con el amao natvode sa y cenrada en panalla.

    Perfeco, ahora ya solo nos fala que se visualice por panalla,as que hay que definir la interface. Para hacer an ms inde

    pendiene se mdulo de su conexo, definiremos las acciones denro de la misma clase para que no sea necesarioconrolar desde fuera esas acciones. Para ello definiremosun aspeco parecido a los reproducores de Inerne.

    Anes de definir la funcin OnGUI() declararemos las variablesnecesarias para el diseo de los boones de las acciones.

    public Texure _playTexure;

    public Texure _pauseTexure;

    public Texure _sopTexure;

    public GUISyle _playSyle;

    public GUISyle _pauseSyle;

    public GUISyle _sopSyle;

    Hemos declarado las variables como pblicas para que seafcil desde el edior configurarlas. sas variables servirnpara definir el aspeco visual de los boones que permitrnlas acciones en el reproducor.

    Ahora s, ya solo nos queda disear la pare visual:

    void OnGUI()

    {

    GUI.deph = _deph;swich (_sae)

    {

    case VideoSae.STOP:

    break;

    case VideoSae.PLAY:

    if(_syle != null)

    {

    GUI.Label(new Rec(_pos.x _videoBorder,_pos.y _videoBorder, _pos.widh + _videoBorder * 2,

    _pos.heigh + _videoBorder * 2), );

    }

    GUI.DrawTexure(_pos, _movie);

    if(_pos.Conains(Inpu.mousePositon))

    {

    if(GUI.Label(new Rec(_pos.x + (_pos.widh _pauseTexure.widh) * 0.5f, _pos.y + (_pos.heigh _pau

    seTexure.heigh) * 0.5f, _pauseTexure.widh, _pauseTexure.heigh),

    ,

    _pauseSyle))

    {

    Pause();

    }

    }

    break;

    case VideoSae.PAUSE:

    if(_syle != null)

    {

    GUI.Label(new Rec(_pos.x _videoBorder,_pos.y _videoBorder, _pos.widh + _videoBorder * 2,_pos.heigh + _videoBorder * 2), );

    }

    GUI.DrawTexure(_pos, _movie);

    if(GUI.Buon(new Rec(_pos.x + (_pos.widh _playTexure.widh) * 0.5f, _pos.y + (_pos.heigh _playTexure.heigh) * 0.5f, _playTexure.widh,_playTexure.heigh),

    ,

    _playSyle))

    {

    Play();

    }

    break;

    case VideoSae.BUFFERING:

    GUI.Label(new Rec(Screen.widh * 0.5f 50,Screen.heigh * 0.5f 10, 100, 20), Loading video);

    break;defaul:

    break;

    }

    }

    Igual que en la funcin Updae(), hay que conemplarcada uno de los esados del reproducor, ya que no mosraremos lo mismo cuando es cargando o cuando esreproduciendo, por ejemplo. Lo primero que hay quehacer es asignar la capa de la inerface que se ha escogido al moor para que lo dibuje en el orden deseado. Aconinuacin hay que conrolar qu se muesra en cadauno de los esados. Empezaremos por el ms sencillo: VideoSae.BUFFERING. Como an no podemos mosrar elvdeo, lo nico que haremos es mosrar un mensaje al

    23www.unityspain.com

    Tutorial

    STREAMING VIDEO

  • 7/27/2019 UDev_2

    24/2824 www.unityspain.com

    usuario para que sepa que se es cargando el vdeo y

    que iene que esperar. VideoSae.PLAY: en ese esado

    la insruccin principal es:

    GUI.DrawTexure(_pos, _movie);

    Con esa insruccin mosraremos el vdeo en panalla. Elreso de cdigo es para mosrar el borde en caso de que el

    usuario as lo haya requerido y mosrar el bon depause en

    caso de ener el ran encima de la zona del vdeo, imiando

    as el aspeco web.

    En el caso de VideoSae.PAUSE endremos prctcamene elmismo cdigo pero cambiando la accin en caso de presionarel bon deplay, en ese caso.

    LISTO!

    Pues con eso ya enemos creado un reproducor bsico

    para Uniy donde podremos reproducir cualquier vdeo mediane streaming. A parir de ahora, para cualquier juegodonde se requiera reproducir algn ipo de vdeo en inerfaz, podris usar ese mdulo sin mayores dificulades. Espero que hayis disfruado y aprendido cosas nuevas conese uorial. Hasa la prxima!

    Tutorial

    STREAMING VIDEO

    Para colaborar con Udev o anunciarse en

    sus pginas, mandad un correo a:

    [email protected]

  • 7/27/2019 UDev_2

    25/28www.unityspain.com 25

    ARTCULO

    En ese artculo hablaremos de una de las mejores libreras grauias para Uniy, ano que

    debera enconrarse inegrada denro de las

    apis de Uniy.

    iTween, creada porpixelplacement, es una li

    brera para animaciones basada en la premisa:

    inpu mnimo para oupu mximo. La idea

    es hacer la vida ms sencilla cuando queremos

    agiar, girar, mover, fundir, colorear, conrolar

    audio, hacer fundidos enre cmaras y casi

    cualquier cosa que e planees hacer en Uniy.

    En su ncleo, iTween es un sisema de inerpo

    lacin que oma un valor y lo anima hasa oro

    durane una candad de empo. Pero donde

    de verdad brilla iTween es en su sinaxis espec

    fica para cada accin que nos libra de ener que

    programar muchas lneas y nos deja ms en la

    posicin de un direcor de cine. Gracias a iTween

    podremos acelerar nuesro rimo de rabajo sin

    sacrificar calidad por el camino.

    Anes de enrar a ver cmo usar iTween, vea

    mos el porqu de su exisencia. En Uniy,

    como en cualquier sisema, odo se puedehacer de muchas formas. Podemos animar

    fuera de Uniy o con el sisema de animacin

    incluido en Uniy mediane un timeline; pode

    mos uilizar JavaScrip, C# o Boo y cambiar las

    cosas a mano con nuesro cdigo. Es posible

    que nos demos cuena de que esamos juso

    en medio de esas dos ramas; que ni somos los

    mejores programadores para animar siempre

    por cdigo, ni enemos lo conocimienos para

    uilizar una herramiena exerna a Uniy. Por

    supueso, no es necesario enconrarse en ese

    puno. Podemos ser unos brillanes progra

    madores y usar iTween por comodidad ya

    que, en ese caso concreo, que su uso sea

    ms sencillo no lo hace ms simple. iTween ya

    ha sido uilizado por grandes y pequeos es

    udios, sigue las bases slidas de las libreras

    del mundo de Adobe Flash.

    En general, iTween es rpido, eficiene, senci

    llo de usar y encaja en cualquier proyeco:desde acciones muy simples a mecnicas de

    juego complejas.

    Por dnde empiezo?

    Si ya esas convencido de al menos

    probar iTween, lo puedes descargar

    de forma compleamene grauia desde

    hp://iween.pixelplacemen.com. iTween es

    un solo fichero C# que puede ser usado desde

    cualquier lenguaje soporado por Uniy, ade

    ms de odas las versiones de Uniy. Si quieres

    usarlo desde JavaScrip o Boo necesiaras

    crear la carpea Plugins denro de u carpeaAsses. Si lo vas a usar desde C# solo es nece

    sario que lo sies denro de la carpea Asses.

    Esa es oda la insalacin, realmene sencilla,

    siguiendo la lnea de inpu mnimo para ou

    pu mximo.

    Hola mundo

    Para empezar con un primer ejemplo prcico,

    hay algunas cosas que debemos ener claras:

    Casi odos los modos de iTween ienen 2

    formas, una simple y ora personalizable.

    iTweenITWEEN DAVID COLLADO

  • 7/27/2019 UDev_2

    26/2826 www.unityspain.com

    Las versiones personalizables usan hashtables para sus

    propiedades.

    Casi odos los modos de iTween necesian una referencia a un

    GameObjec.

    iTween puede ser uilizado denro de la funcin Updae de

    Uniy. Hay modos especficos incluidos en iTween pensados

    precisamene para acciones repeiivas y que ofrecen un

    mayor rendimieno.

    iTween puede hacer cienos de cosas pero, en esa ocasin, ve

    remos algo sencillo. Quizs en prximos nmeros de UDev vea

    mos ms ejemplos aunque, como siempre, algo de invesigacin,

    los ejemplos depixelplacementen la web y las dudas que podis

    resolver en el foro de Uniyspain os ayudarn a indagar para vues

    ros proyecos.

    El ejemplo que vamos a ver es movernos de una posicin a

    ora. El modo de iTween para hacer eso es MoveTo().

    Vamos a animar un GameObjec desde su posicin acual

    hasa (2,0,0) durane dos segundos usando la versin sim

    ple del modo MoveTo():

    iTween.MoveTo(gameObject,Vector3(2,0,0),2);

    Simple y fcil, pero si queremos ener ms conrol sobre la ani

    macin, debemos usar la versin personalizable del modo Mo

    veTo() y darle las propiedades en una Hashable:

    iTween.MoveTo(gameObject,{x:2,time:3,

    loopType:pingPong,delay:1});

    Esa llamada animar el GameObjec movindolo desde su posi

    cin acual a la posicin 2 sobre el eje x durane 3 segundos, pero

    adems rerasar la animacin 1 segundo y har un efeco ping

    pong para moverse adelane y ars.

    Para liberar odo el poder de iTween, lo mejor es recu

    rrir a las versiones personalizables de cada modo y

    as poder modificar odos sus parmeros. La documen

    acin de iTween la podis enconrar aqu: hp://i

    ween.pixelplacemen.com/documenaion.php .

    Pero las hashtables son muy feas

    Son muchos parmeros que configurar y con los que jugar. De

    hecho, MoveTo() es capaz de omar una serie de punos en el es

    pacio que pueden ser uilizado como camino a seguir. El nicoproblema es que esas posibilidades son ms feas, pero se

    puede vivir con ellas.

    Donde realmene las hashtables se vuelven feas es en C#, veamos

    un ejemplo de cmo componer una hashtable en C#:

    Hashtable parameters = new Hasthtable();

    parameters.Add(x,2);

    parameters.Add(time,3);

    parameters.Add(looptype,iTween.LoopType.pingPong);

    parameters.Add(delay,1);

    iTween.MoveTo(gameObject,parameters);

    6 lneas de cdigo! En Javascrip odo iba en una sola lnea. La

    verdad es que en comparacin, las hashtables en Javascrip no

    parecen an feas, verdad? Eso no sigue mucho la idea base ders de iTween (recordad, inpu mnimo para oupu mximo);

    pero no debemos ener miedo, ya que iTween ofrece una solu

    cin para eviar esa locura y uilizar las hashtables de una forma

    ms similar a la visa en Javascrip: Hash(). Con el modo Hash()

    podemos hacer una hashtable de la siguiene forma:

    iTween.MoveTo(gameObject, iTween.Hash(x,2,time,3,

    loopType,pingPong, delay,1));

    Personalmene, creo que esa solucin es mucho mejor que aa

    dir odos los parmeros uno a uno uilizando una lnea de cdigo

    para cada uno. Por mis gusos personales prefiero C# pero en ese

    caso es de agradecer que iTween apore esa opcin de compo

    ner las hashtables que ahorra mucho iempo.

    Conclusin

    iTween se acualiza con mucha frecuencia, y iene varios ejemplos

    en su web, adems de oda la documenacin. Segnpixelpla

    cement, iTween se ofrece de forma oalmene grauia como

    compensacin a esa comunidad que ano le ha ayudado y que

    le ha hecho llegar al puno en el que se encuenra su carrera acualmene. Creo que debemos agradecer odo el rabajo quepi

    xelplacementha llevado a cabo, y no hay mejor forma para ello

    que incluir iTween desde ahora en odos vuesros proyecos.

    Artculo

    ITWEEN DAVID COLLADO

  • 7/27/2019 UDev_2

    27/28

  • 7/27/2019 UDev_2

    28/28