Wednesday, July 24, 2013

Using Eclipse as Maya IDE

This post is going to be a little step-by-step guide to setup Ecplipse and use it as python IDE for Maya on windows7 (BTW I'm using  Maya 2013 x64). Well, let's begin!

What we need?


Eclipse Standard - http://www.eclipse.org/downloads/


Maya Editor script - http://www.creativecrash.com/maya/downloads/applications/syntax-scripting/c/eclipse-maya-editor


Setup:


1. Unzip eclipse-standard-kepler-R-win32-x86_64.zip (I downloaded the 64bit version but you can use the 32bit version if you don't have a x64 processor).

2. Unzip org.eclipse.EclipseMayaEditorProject.zip in a temp folder (after the installing we are not gonna need it anymore)


3. Enter in eclipse folder and execute eclipse.exe. Go to Help > Install new software

4. Press Add button and then in Local select the folder where you have unzipped EclipseMayaEditorProject.


5. It will appear as Uncategorized, select it and press Next. Accept license, etc.


Maya editor buttons:

  • Send entire contents to Maya
  • Send highlighted selection to Maya
  • Button menu to open various documentation
  • Reconnect Eclipse to Maya


6. Let's install PyDev! In eclipse go to Window > Preferences


7.  Go to Install/Update > Available Software Sites.. and press Add...

8. Type PyDev on Name and paste the url http://pydev.org/updates


9. Now, go back to Help > Install new software. On "Work with" choose PyDev and choose the 2 items. Press Next.


10. Choose "Keep my installation the same..." and press Next.

11. Select and accept certificates.



12. Configure the python interpreter on Eclipse. Go to Window > Preferences. On PyDev > Interpreter - Python... press "New.." button.

13. Browse and select where mayapy.exe is.


14. Select all the paths you will need and press OK.


15. Server setup to send info from eclipse to Maya. Go to Window > Preferences > Maya Editor Preferences. The default port is 7720.


16. Create a userSetup.py (if we dont have it) and add the next lines. The next time we open Maya will receive data from the port 7720.

import sys
import maya.cmds as cmds

newPath = "D:/+ENGINES/MAYA/Maya-Scripts"
sys.path.append(newPath)

if cmds.commandPort(':7720', q=True) !=1:
    cmds.commandPort(n=':7720', eo = False, nr = True)


17. Create a new Project. New > New > Project... and select PyDev Project


18. Select the Directory project, set Grammar Version to 2.6 and select mayapy.exe as Interpreter.


17. And finally the funny part!! Let's test it. Create a new file on our project folder and write a name (ex: test.py). It's important to add the .py extension.


18. Write some code and send to Maya pressing Ctrl+Enter or the menu button.


19. The result :)


This tutorial is based/inspired on rbublitz work on CreativeCrash:
http://www.creativecrash.com/maya/tutorials/using-tools-scripts/c/using-eclipse-as-a-maya-ide

Wednesday, July 3, 2013

Write and Read a XML in Maya with Python

It's been a while since the last post. I'm not in Andorra anymore... so I have been working on new stuff. In this case I bring to you 2 simple scripts to write and read a xml file in Maya using Python.

Some example uses:

  • Construct our game level on maya and import it to the game engine with the xml file. 
  • Copying animation poses.
  • Copying light settings.
  • ... 


Write the XML file:
from xml.dom.minidom import Document
import maya.cmds as cmds

doc = Document()

root_node = doc.createElement("scene")
doc.appendChild(root_node)

# Selection: 
# grab all selected objects
#selection = cmds.ls(sl=True)

# grab all visible objects, which type is transform
selection = cmds.ls(type="transform", v=True )

for object in selection:
    
    # create object element
    object_node = doc.createElement("object")
    root_node.appendChild(object_node)
    
    # BEWARE: after freeze transformations the translate is a bit tricky
    #object_translation = cmds.getAttr(object + ".translate")[0]
    object_translation = cmds.xform(object, query = True, worldSpace = True, rotatePivot = True) 
    
    # set attributes
    object_node.setAttribute("name", str(object))
    object_node.setAttribute("translateX", str(object_translation[0]))
    object_node.setAttribute("translateY", str(object_translation[1]))
    object_node.setAttribute("translateZ", str(object_translation[2]))
    

xml_file = open("C:/Temp/test.xml", "w")
xml_file.write(doc.toprettyxml())
xml_file.close()

print
print doc.toprettyxml()

Reading the XML file:
from xml.dom.minidom import parse

dom = parse("C:/Temp/test.xml")

 # visit every object node 
for node in dom.getElementsByTagName('object'): 
    
    # method 1: using keys
    attrs = node.attributes.keys()
    for a in attrs:
        pair = node.attributes[a]
        print (str(pair.name) + " = " + str(pair.value))
    print
    
    #method 2: by attribute name
"""        
    print str(node.getAttribute("name"))
    print str(node.getAttribute("translateX"))
    print str(node.getAttribute("translateY"))
    print str(node.getAttribute("translateZ"))
    print
"""

Based and inspired from Luiz Kruel's script

Monday, March 11, 2013

Stargate SG1: Unleashed is coming!!

Stargate SG1: Unleashed will be released on March 14 where I've worked as gameplay programmer. You can find the teaser and ingame trailer in the portfolio section.

Here the game promo description:

Monday, January 28, 2013

Animating in Blender

I broke my right arm doing snowboard in Andorra so... I have spent my free time learning and watching some rigging and animation tutorials, among other programming stuff. The objective: make my own short-film.

I choose Blender over other 3D apps because it's opensource and has a lot of potential. It's an amazing software and free. You can support then buying books or DVDs in the Blender shop.

Well, this was my first try with CG Cookier Flex Rig. It has no sense, but I wanted to animate and render it.



Test - doing a simple animation with Blender from orekamenpe on Vimeo.

Hi to my visitor from Dallas!

Don't be shy and leave a comment :P.

Saturday, June 9, 2012

Faltan bota...

Badaramat urte pare bat Euskal Herritik kanpo, ta gero ta gehixau botatzen dot faltan. Batez ere han laga ditudan pertsonak...

Hasieran, Bartzelonan nengoenean, pilo bat gauza zeuden egiteko, ikusteko,... beti zegoen zeozer. Hiri handiko bitzitza jota azkar mugitzen da. Dana berehala egiten da, eta ez bada suertatzen beste bat agertzen da. Gainera, dana komunikatuta dago. Garraiobideak kristonak dira, ez dakazu kotxea zertan erabili behar!!

Oin, Andorran gauzak poliki mugitzen dira. Denbora dexente daukat nire gauzetan pentsatzeko ta nabari dot nire bizitza erritmoa moteldu egin dela. Hau ez dakit zelan hartu ze Bartzelonan kriston estresakin bizi nintzan jajaja (baina azken lanaren errua izan da gehien bat).

Lekotu beharrean nago oraindik... ta zer egiteko aurkitu behar dot jajaja. Jakin dudanez jendia lanean oinarritzen du denbora guztia, ta neguan eskiatzera juten dira. Baina udaberrian gauz!!

En fin, ikusikou denborakin zelan suertatzen den abentura hau!


Sunday, April 15, 2012

Busy, busy, busy...

The last months I have been working on a secret project that will be released early in May. I'm very excited about this project and I wish I could show you anything... but I beg you some more patience :P.

More news coming soon...

Here you have my new high score on Triple Town! It's the only game I can play, because the limited turns... hohoho.



Saturday, December 10, 2011

Trent Reznor feat. Karen O - Immigrant Song (Led Zeppelin cover)

I just love this song!!

Messing with CryENGINE 3 SDK

After finishing Aztlan I have recovered my social life, well a part of it (lucky me!!). So, I spend all my spare time on my own projects.

As I looking for a job, I started reading some books about C++, OpenGL and Artificial Intelligence for games.  I wanted to refresh my mind for possible tests, and prototyping some game mechanics. I did one using Unity for a company in Barcelona, but I don't want to advance anything before they tell me something :P.

On the other hand I have started messing with CryENGINE 3 SDK. Why? Well... It's a really great engine. I'm a little overwhelmed with all the classes and infinite options of the editor. But, all beginnings are thus.

I did 2 tests. The first one was to generate the CryGame.dll breaking the least. I made some changes to the player turning and here is the result:



The second one, It was to make a basic AI implementation. Two factions fighting each other. Allies vs Grunts:



I need more time with the engine... I will post more as things progress.

Friday, December 2, 2011

Un gobierno en funciones no puede aprobar hoy la ley Sinde

Hoy verás este texto en decenas de blogs. Si estás de acuerdo con él, reprodúcelo donde consideres oportuno.
Ante la previsible aprobación de la polémica “Ley Sinde”, los periodistas, bloggers, usuarios, profesionales y creadores de Internet seguimos manifestando –como hicimos en el Manifiesto de 2 de Diciembre de 2009- nuestra firme oposición a una norma que incluye modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet.
En principio no parece de recibo que un Gobierno en funciones adopte esta decisión en su último o uno de sus últimos Consejos de Ministros. Sería doblemente grave que se confirmaran las presiones ejercidas por EEUU, a través de su embajada en Madrid, como revelaron los cables de Wikileaks.
En todo caso insistimos en estos razonamientos:
1.- Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
2.- La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
3.- La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
4.- La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
5.- Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
6.- Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
7.- Internet debe funcionar de forma libre y sin interferencias políticasauspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
8.- Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
9.- Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
10.- En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.

Vote Aztlan: Rise Of The Shaman to become the Indie Game Of The Year!

I think this is going to be my first english post hahaha. Whatever, I came to announce that our videogame Aztlan: Rise Of The Shaman has been nominated to the 2nd annual Indie of the Year awards. We are very proud of our job and how the people has welcomed. Thank you!!

But we need a little push to finish a great year of work. We invite you to vote Aztlan: Rise Of The Shaman at the next link.



You don't have to register and it's only a click! We really appreciate your effort. Thanks again!

Wednesday, November 2, 2011

Entrevista en chalchicha.es

Después de la presentación de Aztlan: Rise Of The Shaman, José Manuel Pérez Sevilla (autor del blog Chalchicha.es y mis felicitaciones que ha sido recientemente padre!) se puso en contacto con todos los alumnos del máster y nos realizó una serie de preguntas que va publicando en su blog. Son preguntas de interés para picar el gusanillo a los principiantes.

Muy interesante blog donde habla sobre el desarrollo y diseño de videojuegos entre otras cosas. ¡Echarle un vistazo a su curso de introducción de desarrollo de videojuegos!

Os dejo aquí la entrevista:
  • ¿Cuando empezaste a interesarte por el desarrollo de videojuegos?
    Desde siempre he tenido la curiosidad de saber cómo se hacen las cosas y en los videojuegos mucho más. Al principio me moví más para el mundillo de la demoscene pero acabé orientandome a los videojuegos.

  • ¿Habías desarrollado algún videojuego anteriormente?
    A este nivel no. Anteriormente cursé el postgrado de la UOC pero sólo hice prácticas concretas dentro del desarrollo de videojuegos.

  • ¿Qué base de conocimientos tenías previos al Master y cuales te han ayudado más?
    Evidentemente el haber realizado el postgrado en la UOC me puso muchas bases. Pero ante todo hay que ser curioso. En el máster te enseñarán unas bases, pero el resto lo tienes que descubrir tu. Por lo tanto, empieza a familiarizarte con foros, listas de correo, blogs de desarrolladores, etc… Practicar es la mejor enseñanza.

  • ¿Cuanto tiempo os llevó desarrollar el juego, desde el concepto hasta el día de su presentación?
    Creo que la idea del juego la empezamos a trabajar desde el primer momento. Se barajaron varias ideas pero rápidamente nos pusimos de acuerdo en qué queríamos hacer. Por lo tanto yo diría que la duración del máster. Mas o menos un año.

  • ¿Cuanto tiempo le dedicabais al día?
    Demasiado jajaja. Tenía claro que esto iba a ser parte de mi CV así que le dedicaba todo el tiempo que podía. Como no trabajaba aproveché para poder dedicarme por completo, incluso fines de semana! Los últimos meses han sido agotadores.

  • ¿Te parece que has aprendido mucho con el desarrollo del juego?
    Por supuesto. Hemos conocido toda la fase de desarrollo, desde su conceptualización y desarrollo del documento de diseño del juego (GDD), hasta la producción y puesta en marcha en distintas redes sociales. Finalizar un juego y depurar todos los escollos es toda una hazaña jajaja.

  • ¿Que herramientas elegisteis para llevarlo a cabo? que tal?
    Nos decantamos por Unity3D como motor por 2 motivos. La comunidad que tiene detrás y sobretodo para poder atacar a distintas plataformas, en principio PC y MAC.

    Entre sus pros y sus contras lo realizamos con la versión indie (gratuita) y nos supimos gestionar bastante bien.

    En las herramientas de 3D utilizamos Softimage XSI. Es la herramienta que enseñan en el máster en más profundidad y la aprovechamos.

  • ¿Vais a darle continuidad al juego?
    No lo creo. Ahora cada uno se está buscando la vida y dudo que vayamos a darle más horas de desarrollo. Ha sido un buen juego como proyecto académico en el que hemos aprendido un montón.

  • ¿Piensas ya en desarrollar el siguiente videojuego? Si tuvieses mucho presupuesto para hacer el juego que quisieras… que harías?
    Ya estoy metido en algo jajaja. Si tuviera mucho presupuesto reuniría a los mejores en su campo para realizar un gran juego con una gran historia épica.

  • ¿Cómo ves el sector del videojuego en España de cara a desarrollarte como profesional? Lo ves más fácil fuera?
    Pues en ello estoy. Empresas hay y con mucho talento. Según el tipo de la empresa que sea tendrás que ser más versátil o más especializado. Aunque como la mayoría son empresas pequeñas, supongo que se requerirá más de lo primero. En el extranjero no te puedo decir como lo veo porque no lo he probado… pero quizás pruebe suerte. Ya te contaré jajaja.

  • Tienes algún consejo para futuros desarrolladores que están pensando en hacer su primer videojuego, pero sienten que es un reto inalcanzable?
    Les diría que lo planifiquen, que le dediquen unas horas al día a formarse y a sacar la idea. Si no eres bueno modelando, busca a alguien que lo sea. El networking es esencial. Si te reúnes con gente con pasión el reto es alcanzable.

  • ¿Qué puedes contar sobre tu experiencia en el Máster?
    Muy buena. Desde el principio teníamos claro el objetivo de nuestro juego y cómo hacerlo divertido. Esto fue clave.

    El aprender las distintas áreas y conocer todo el proceso ha sido de lo más enriquecedor. Además que parte de los docentes eran gente de empresa y eso nos ha dado una perspectiva profesional.

  • Top 3 de los videojuegos que más te gustan y porque?
    Ufff… difícil sólo elegir 3.

    - Indiana Jones and the fate of Atlantis (PC)
    - Soul Blade (PSX)
    - Advent Rising (PC) y Jedi Knight: Jedi Academy (PC)

    Todos ellos me han marcado. Por introducirme en el mundo de las aventuras gráficas. Por lo revolucionario de la lucha 3D con armas. Y los últimos, pero no menos importantes, por las mecánicas de juego tan adictivas (son los juegos que más he vuelto a jugar).

Wednesday, October 19, 2011

Vídeo promoción del Master de Videojuegos UPC 2011

Ya ha salido el vídeo (Gracias Marc!) con los juegos realizados este año en el máster de la UPC de "Diseño y Creación de Videojuegos".





Y de propina... el gameplay del primer nivel de Aztlan: Rise Of The Shaman. No es mi mejor partida la verdad... pero veréis el juego más fluido que en el vídeo promocional. Próximamente el vídeo con la dificultad en Hardcore!!

Friday, October 7, 2011

Por fin! Ya podéis descargaros Aztlan: Rise Of The Shaman

Ha sido un año muy duro, pero por fin hemos acabado el proyecto del máster de la UPC:


Estoy contento del trabajo que hemos realizado. Nos han faltado cosas por implementar pero tal y como decía da Vinci, "el arte no termina, sólo se abandona". Quizás le hagamos alguna otra mejora, pero de momento damos el proyecto como finalizado.

Desde aquí quería agradecer a toda esa gente que nos hemos cruzado en el camino. A la familia, a la cuadrilla y amigos, a los profesores del máster, a ex compañeros de trabajo, a futuros compañeros de trabajo jajaja o colegas de la industria del videojuego, a periodistas... en definitiva, a todos los que habéis mostrado interés por nuestro trabajo y pasión. Sin vuestras críticas y sugerencias este juego no podría haber sido posible. Muchísimas gracias a todos!!



Thursday, September 22, 2011

Esto se termina... o no?

Mientras estamos finiquitando los últimos retoces al juego me inundo de todo tipo de sensaciones.

La primera ha sido que todo encaja. Después de tanto tiempo todo empieza a coger coherencia. La navegación por los menús, el gameplay, los enemigos, el jefe final, las animaciones... empieza a ser un producto acabado.

La segunda es la nostalgia. Echas la vista atrás y recuerdas reuniones, clases, discusiones, presentaciones, celebraciones, cabreos, alegrías... todo un camino lleno de altibajos que hemos sabido sobrellevar y sobrepasar. Me quedo con todos esos momentos.

La tercera podría ser la incertidumbre. Hemos disfrutado un montón haciendo este juego y realmente deseamos que la gente lo disfrute jugando tanto como nosotros haciendolo. Hemos tenido a unos cuantos testers (también llamados koreanos o conejillos de indias) probando el juego y dándonos un valioso feedback. Pero... mejor si el feedback viene de alguien que no es ni amigo ni familiar jajaja.

La cuarta es que no hay nada que se nos resista. Aún teniendo obstáculos o desestimando parte del trabajo ya realizado, hemos sabido llevar el videojuego para adelante. Hemos hecho piña en el grupo y todos con un mismo objetivo hemos remado en la misma dirección.

Y es que la clave de todo es creer en uno mismo y creer en lo que se hace. Pronto publicaremos el videojuego, por lo que os pido un poco de paciencia todavía.




Sunday, September 11, 2011

El truco de tirar del mantel y...

¿Quién no ha querido nunca hacer el truco de tirar del mantel y mantener toda la cubertería en la mesa?

Estas jóvenes promesas lo intenta en varias ocasiones... mejor si los veis seguidos.





Thursday, August 25, 2011

Se ve la luz al final del túnel...

Sigo enfrascado en el proyecto del máster, Aztlan: Rise Of The Shaman. El verano me lo he pasado animando a nuestra protagonista, programando la lógica del personaje y depurando... sobre todo depurando. Si es que el 90% del juego se ha hecho relativamente fácil, pero es este último 10% el que más quebraderos de cabeza nos está llevando. Cómo por ejemplo el ataque de... ¡¡la plataforma fantasma!! Si es que desconociamos por qué en cierta parte del juego nuestra amada chamán empezaba a flotar mientras subia por una plataforma o se caía de ella sin venir a cuento. Tras activar el mundo físico... vinos cual era la causa.

 

 Ahora estoy finalizando de programar la lógica de lanzamiento de piedras/enemigos con las serpientes. Cómo las serpientes están animadas por Softimage, tendremos que hacer 2 o 3 animaciones de las mismas para coger los objetos que se encuentren a una distancia corta, media y larga. De esta manera encajará más la animación de coger de las serpientes.

 

Nos queda menos de un mes para finalizar el juego y después de un año tan intenso no veo la hora de subirlo para que lo disfrutéis tanto como nosotros hemos disfrutado haciéndolo.

Tuesday, August 2, 2011

El futuro del rendering: polígonos vs átomos

Curiosa tecnología de unos australianos... 



John Carmack (conocido programador y fundador de id software) les ha respondido vía twitter que en la generación actual no es posible, pero si a unos años. Los problemas de producción van a ser todo un reto.

Y yo me pregunto... ¿cómo cojones se anima eso? Mencionan en la descripción del vídeo que existen animaciones pero tendremos que ser pacientes... ¡A ver qué sale de ahí!

Editado el 4 de agosto del 2011:

Pues parece que no puede salir nada bueno de ahí... o no. 

Markus "Notch" Persson (creador del Minecraft) critica en su blog personal The World of Notch que no es más que una estrategia para conseguir subvenciones. La tecnología utilizada ya era conocida y nos enseña unos cuantos links y utilidades en su post. Resumiendo: sorprendámonos de los voxels pero no de los encantadores de serpientes!

Miguel Cepero, autor del blog Procedural World, también se muestra escéptico ante la compañía Euclideon. Compara distintas metodologías y también menciona el impresionante Atomontage Engine.