Esta es la página de las preguntas frecuentes de PySoy. Estas no son una selección de preguntas que consideramos que serán preguntadas frecuentemente; han sido preguntadas frecuentemente.

Decisiones de diseño

¿Por qué habéis…

P: licenciado el motor bajo la  AGPLv3?

R: Muchas personas han comentado que PySoy sería mucho más popular si estuviera licenciado bajo una licencia del estilo de MIT/BSD. Aunque puede ser cierto, nuestro objetivo es promover y permitir la creación de juegos copyleft. La licencia AGPLv3 protege de la mejor manera las libertades del jugador de usar, modificar y redistribuir juegos basados en Pysoy.

P: construido el motor para  Python?

R: Python fue elegido por ser fácil de aprender, de desarrollo rápido y porque es el lenguaje de scripting usado tanto en software 2d como 3d ( Blender,  GIMP, etc). También es bastante usado en la industria de los juegos propietarios, tanto para los complementos como para el núcleo del motor, y es multiplataforma. Con todas las funciones intensivas en C, no hay ninguna diferencia notable para los jugadores.

P: basado el motor en OpenGL 1.4? ¿No está demasiado anticuado?

R: Aunque muchos motores de videojuegos están basados en OpenGL 2.0+, tenemos como objetivo que los juegos basados en PySoy sean jugables en prácticamente cualquier sistema moderno, incluidos los subportátiles y los teléfonos inteligentes. Hemos decidido centrarnos en la comodidad y la diversión para todos, no sólo para los "gamers".

P: usado una arquitectura multihilo? ¿No es inútil en Python?

R: Gran parte de PySoy corre en hilos basados en GObject que nunca necesitan contener el Global Interpreter Lock de Python (GIL), por lo que PySoy puede utilizar todos los núcleos disponibles en un servidor.

P: usado tantas bibliotecas de  Gnome?

R: El principal objetivo en el desarrollo de PySoy es el escritorio Gnome, tal como lo usa  Ubuntu y muchas otras distribuciones modernas de GNU/Linux. Como estas bibliotecas son multiplataforma, PySoy está también disponible en MacOSX y Windows.

P: usado  XMPP para la comunicación en red?

R: Hemos visto que en las redes de videojuegos de software libre los sistemas de mensajería instantánea dedicados fallan al construir una comunidad de jugadores viable. Implementando  XMPP (alias Jabber) permitimos que cualquier jugador que use un juego basado en PySoy converse con cualquier usuario en un servidor federado. Los jugadores podrán iniciar sesión usando sus cuentas existentes, unirse a salas de mensajería instantánea para diferentes juegos, utilizar un chat del tipo de teamspeak mediante las  extensiones Jingle y promocionar sus propios servidores. La jugabilidad actual está hecha mediante  ICE-UDP para que la latencia sea mínima.

Problemas al compilar

¡No consigo instalarlo!

P: GCC no puede encontrar xf86vmode.h, reportando un error como este:

src/textures/soy.textures.c:43:38: error: X11/extensions/xf86vmode.h: No such file or directory

R: Si estás en una distro derivada de Debian (como por ejemplo Ubuntu), esa cabecera está proporcionada en el paquete x11proto-xf86vidmode-dev. Probablemente también tengas que instalar el paquete libxxf86vm-dev.

Problemas al importar

Me sale una violación de acceso al importar

P: Me sale un error como este, ¿qué está mal?

ImportError: /usr/lib/python2.5/site-packages/soy/shapes.so: undefined symbol: __cxa_pure_virtual

R: Estás usando una versión antigua de ODE a la que no damos soporte. Necesitas ODE 0.10 o mayor.

P: Me sale un error como este, ¿qué está mal?

ImportError: /usr/lib/python2.4/site-packages/soy/_core.so: undefined symbol: dInitODE

R: O no tienes ODE instalado, o está instalado en una ruta en la que tu distribución no está configurada para buscar bibliotecas. Comprueba en /etc/ld.so.conf la ruta en la que ODE está instalado.

P: ¿Son estos errores un reflejo de la calidad de PySoy?

R: ¡Pues claro que no! Esto pasa porque PySoy aún está en fase beta, y como tal, no está en los repositorios de las distros para que lo puedas instalar sin dependencias. Entonces las cosas malas pasan porque faltan o son demasiado viejas.

¿Debería...?

P: ¿Debería usar PySoy para juegos 2D?

R: Si estás pensando en un videojuego de desplazamiento lateral 3d parecido a Little Big Planet, PySoy sería ideal. Para juegos 2D quizás querrías considerar  PyGame.

P: ¿Debería usar PySoy ahora?

R: Hasta que hayamos lanzado PySoy 1.0, no es buena idea usar PySoy para un proyecto importante, ya que aún no lo hemos asegurado todo. Las API pueden aparecer, desaparecer o cambiar en funcionalidad o interfaz. Si quieres juguetear con él y ver qué puede ofrecerte, ¡adelante! Los cambios catastróficos no pasan muy a menudo, sólo que aún no podemos garantizar que no vayan a ocurrir.

P: ¿(Dónde) debería empezar?

R: La parte 1: Un cubo rotando te enseña cómo organizar una escena y animar un objeto 3d de PySoy, que es un comienzo bastante bueno. Échale también un vistazo a las carpetas /tests y /examples en la raíz del directorio pysoy. (Y sí, deberías empezar).

Otras

P: ¿Sois un grupo de vegetarianos?

R: No somos anticarne, somos antitrigo, y para ser una verdadera parte del equipo de PySoy debes declarar un juramento para limpiar el mundo de los paganos amantes del gluten. En serio, algunos lo somos pero el nombre es sólo algo con lo que nos divertimos.