¡Bienvenido!
» inicia sesión o regístrate

 

Preguntas y Respuestas acerca del motor Spark #1

Foros » Natural Selection 2 » Apartado técnico

3 respuestas, último mensaje hace 1 mes

#1 publicado el 03 de febrero de 2010, 13:20 h

Editado por Theck el 03 de febrero de 2010, 13:50 h
Desde el Blog de Unknown Worlds nos llega una entrada de Max que responde a varias de las preguntas que se les han ido haciendo acerca del motor de Natural Selection 2, Spark. A continuación podéis leer una traducción de la misma.

Nos preguntan bastante acerca de las aplicaciones que estamos desarrollando para Natural Selection 2. Partiendo de esto, he escrito la primera de una serie de entradas del blog destinadas a responder algunas de las preguntas más comunes e interesantes. Mi petición inicial de preguntas generó unas cuantas, las cuales quiero responder en detalle, pero primero empezaré por dos preguntas más generales.

img_inicio_post

Andrea pregunta: ¿Que es el Spark engine? Es todo el motor del juego o solo el apartado gráfico?

(Max): Es una gran pregunta por la que empezar. Spark es conjunto del motor del juego y las herramientas que usamos para crear Natural Selection 2. Esto incluye tanto los gráficos, el sonido, el código de red, las físicas, el scripting, búsqueda de caminos y sistema de efectos (y probablemente otros más). Esto también incluye las herramientas como el Editor, Builder, Viewer y Cinematic Editor.

Cuando Charlie y yo empezamos a trabajar en Natural Selection 2, no planeábamos crear un motor. Tener que crear tecnología propia supone mucho trabajo y es un verdadero reto crear un juego - tanto en términos de jugabilidad y de arte - mientras el motor no está acabado. Cuando al fin decidimos que íbamos a crear nuestro propio motor queríamos asegurarnos que la tecnología sería suficientemente flexible para que no tuviéramos que volver a empezar desde cero para el siguiente juego. Con este objetivo se ha diseñado para que sea muy independiente del juego. Spark está programado en C++ y provee de funciones para crear un mundo virtual. Pero Natural Selection 2, que está totalmente programado en LUA, añade los elementos comunes de los juegos de disparos en primera persona (jugadores, armas, puntuación, etc.) y las piezas específicas de Natural Selection como el modo de comandante, los árboles de progreso, caminar por las paredes, etc.

La división de trabajo para la programación la hemos tenido clara desde el principio - Charlie escribe el código para Natural Selection 2 y yo me encargo del motor y las herramientas. Hace unos meses, Kurt Miller, un gran programador y amigo mío, se unió a Unknown Worlds para trabajar también en el motor y las herramientas.

Durante los dos últimos meses hemos estado lanzando parches semanales para el editor. Muchas veces la gente interpreta estas actualizaciones solo del editor como que no estamos haciendo progresos en el juego. En realidad, aunque nos hemos volcado a saco en el editor - al menos antes de la primer versión - Charlie estuvo dedicándose a tiempo completo en el código del juego. En la actualidad, Kurt y yo nos dedicamos la mayor parte del tiempo en mejorar en motor, aunque Kurt va dedicando ratos a implementar nuevas características y a corregir fallos del editor.


Beat Wolf pregunta: ¿Que plataformas serán soportadas? (Linux, OS X, XBox, etc...) La página web aun menciona Linux y OS X como plataformas, pero han habido muchas dudas con la inclusión de Steamworks y parece que la pregunta se ha ido evitando últimamente.

(Max): ¡No la esquivemos más, pues! Actualmente nuestro motor y herramientas solo funcionan en Windows, y será la única plataforma para la que Natural Selection 2 estará disponible en su lanzamiento. Sin embargo, la mayor parte del motor no está vinculado a una plataforma concreta. La pieza que más está vinculada a Windows es el código de bajo nivel de pintado (NdT: render) que está hecho con Direct3D. Con el interés de tener nuestro engine corriendo en Linux y OS X algún día, este código de pintado de bajo nivel usa un envoltorio (NdT: wrapper) de modo que está mayormente separado del resto del motor. Con poco esfuerzo podemos intercambiar esta pieza por una implementación en OpenGL que funcionaría en Linux y OS X. El resto de nuestras herramientas están hechas usando el framework multi-plataforma wxWidgets, de modo que en el momento que el motor funciona en otra plataforma, llevar las herramientas no supondrá demasiado trabajo.

Ahora que te he convencido de que hemos previsto el llevar nuestro motor a otras plataformas, te preguntarás porque simplemente no lo hacemos. La respuesta es simple; no tenemos tiempo ahora mismo. Como una alternativa a hacerlo nosotros estamos considerando "abrir el código" o publicar las API de bajo nivel que son específicas de Windows e invitar a la comunidad a contribuir con sus propias implementaciones. Si te gusta esta idea házmelo saber en los comentarios.

Ahora el tema de Steamworks. Para aquellos que no lo sepan, Steamworks es la tecnología núcleo de Steam, cosas como la lista de amigos, el buscador de servidores y el chat de voz. Hemos integrado Steamworks en Natural Selection 2 porque te ahorra el esfuerzo de implementar estas cosas por ti mismo, y entregaros el juego antes. Desgraciadamente Steamworks (que es esencialmente el cliente de Steam) solo funciona en Windows. Hemos preparado Natural Selection 2 para trabajar sin Steamworks, pero pierdes los servicios que provee. Por ejemplo, en vez de poder buscar un servidor tendrías que teclear su dirección en la consola para conectarte. Para el cliente de OS X y Linux tendremos que substituirlo en nuestra propia implementación de los servicios que falten. Esto obviamente no queda fuera de la pregunta sobre una actualización pasada la publicación del juego, pero no es algo que nos vaya a retrasar en la publicación inicial para windows por incorporarlo entonces.

Debo añadir a todo esto que nada de esto se aplica a los servidores dedicados en Linux. Los servidores dedicados no requieren de gráficos, periféricos de entrada (NdT: teclado/ratón) u otras cosas que dependan de la plataforma. Y una de las ventajas de usar de escribir todo el código en LUA es que es independiente de la plataforma por definición. Los servidores dedicados en Linux estarán en el lanzamiento inicial.

Si tienes más preguntas que quieras que se respondan, envíanos un correo electrónico a max@unknownworlds.com. Contra más específico seas mejor.

Enlaces de interés:
  • Entrada original
  • Respuestas a la entrada
  • Página oficial de Unknown Worlds
  • Página oficial de Natural Selection 2
  • Fuente de la traducción
  • Otras noticias

    Info Tema convertido en noticia por x3no

    x3no
    Avatar de x3no
    Legen...dary
    Posts: 1551
    100% [22 días]
    offline / enviar msj

    #2 publicado el 03 de febrero de 2010, 15:43 h

    Vaya preguntas, yo creo que han seleccionado las que mas les convenia, porque haberlas las hay de mejores. Casi todo lo que dicen ya se sabia de una manera u otra.
    - - - -
    Me haces irritarme y hablar mal, ostia puta, como puedes ser tan subnormal!! (kase-o)

    FuTuRe
    Avatar de FuTuRe
    pr0style!
    Posts: 525
    100% [3 días]
    offline / enviar msj

    #3 publicado el 03 de febrero de 2010, 15:56 h

    Lo estube leendo en la web oficial pero nada que no se supiera, codificado en neutro para poder moverlo más fácilmente de plataforma.

    Me esperaba bastante más de las preguntas/respuestas.
    - - - -
    © Original FuTuRe since 1998. In Natural Selection since Halloween 2002.

    Theck
    Avatar de Theck
    Jumptard!
    Posts: 57
    100% [19 horas]
    offline / enviar msj

    #4 publicado el 03 de febrero de 2010, 16:25 h

    Bueno, eso está claro, ya lo dice al principio, cogemos las 2 más generales y que creo que más páginas han estado generando, sobretodo con el tema de Linux que su buena cuenta de páginas ya lleva en el foro oficial.

    La verdad tampoco ha dicho nada nuevo que no se haya respondido por el foro de una u otra forma, pero desde las entradas de OpenGL vs DirectX que ha habido en el blog de Wolfire supongo que han tenido más presión xD

    Tendremos que esperar al resto de entradas, donde imagino que irá a preguntas más concretas y de respuesta corta por lo que se podrá sacar más jugo.
    - - - -
    Mis proyectos: http://www.gameartspain.es · http://www.machinedancezone.net · http://www.rapidoyfacil.es

    info Para poder comentar tienes que iniciar sesión. Si todavia no tiene una cuenta regístrate.

    Theck
    Avatar de Theck
    Jumptard!

    Posts: 57
    100% [19 horas]
    offline / msj

    Temas recientes

    MmM Bloodsire -AA- amazing headshot
    hace 4 horas por Influence
    Que internet contrato?
    hace 7 horas por doogie
    La pistola y el hacha
    hace 12 horas por ToPoTaMaDrE
    NS y el DirectX
    hace 18 horas por ToPoTaMaDrE
    Pruebas con el motor de NS2!
    hace 4 días por FuTuRe
    Presentación del lerk
    hace 4 días por Roberboni
    REVAN: LA BÚSQUEDA.
    hace 5 días por Chivi_Dogo1
    Estructuras alien
    hace 6 días por FuTuRe
    [NS2] Galeria de creaciones
    hace 10 días por Darou

    Creative Commons License

    Privacidad - Condiciones de uso - Grupo en Steam - IRC - [Alojado por Aichman] [ ]