Ikey Doherty, creador de Solus Linux, ingresa al negocio de desarrollo de juegos con un nuevo motor de juegos de código abierto

Ikey Doherty el creador y ex desarrollador principal de Solamente , está de vuelta con un nuevo proyecto. Su nueva empresa, Lispy Snake, Ltd. utiliza tecnología de código abierto para crear juegos, con un enfoque en el soporte de Linux.

Le hice algunas preguntas a Ikey sobre su nuevo proyecto. Aquí están sus respuestas.

Es FOSS: ¿Qué te hizo decidirte a dedicarte al desarrollo de juegos?

Ikey : Honestamente, tendría que decir respeto por los juegos más antiguos. La creatividad que surgió de tanta limitación es francamente asombrosa. Si piensas en lo limitadas que eran la NES o la C64 (o, de hecho, mi CPC de Amstrad ) – sin embargo, cuánta alegría experimentó la gente desde esas plataformas. Es un zumbido que no puedo evitar. Aunque ahora estamos muy lejos de ese mundo, todavía busco modelar esa excelencia técnica y creatividad lo mejor que puedo. Soy un fanático de las buenas historias.

Es FOSS: ya existen varios motores de juegos de código abierto. ¿Por qué decidiste hacer el tuyo propio? ¿Cuál es la característica asesina de Serpent?

Ikey : Hay un buen número de código abierto y cerrado, cada uno con un gran conjunto de características. Sin embargo, soy un desarrollador de la vieja escuela y no hay nada que deteste más que un IDE o un entorno sin código de ‘arrastrar y soltar’. Simplemente quería crear juegos independientes con el menor alboroto posible y usando un marco en el que no tuviera que comprometerme. Una vez que llegas a ‘debe funcionar bien en Linux y ser de código abierto’, te faltan opciones.

Recopilé un conjunto de proyectos que usaría como base para los primeros juegos de Lispy Snake, pero necesitaba algo así como un marco para unirlos a todos, como una base de código reutilizable en todos los juegos y actualizaciones.

Yo no diría que todavía hay características impresionantes, solo un conjunto de decisiones sensatas. Serpent está escrito en D, por lo que tiene un alto rendimiento con una barrera de entrada más baja que, por ejemplo, C o C++. Me está permitiendo desarrollar un marco que se adapte a mis ideales de desarrollo y preste atención a los requisitos de la industria, como un sistema de componentes de entidad de subprocesos múltiples de alto rendimiento o el sistema de procesamiento por lotes de sprites.

Cuando une todas las características y decisiones, obtiene una base de código portátil que, gracias a su elección de bibliotecas como SDL y bgfx, eventualmente se ejecutará en todas las plataformas principales con un mínimo esfuerzo de nuestra parte. Básicamente, eso significa que obtendremos OpenGL, DirectX, Vulkan y Metal “gratis”.

Ser capaz de apuntar a las API más recientes y crear juegos independientes fácilmente, con características estándar de la industria que surgen constantemente, desde un marco que no se impone a su flujo de trabajo… esa es una muy buena combinación.

Es FOSS: ¿Por qué nombró a su empresa LispySnake? ¿Tuviste una serpiente como mascota con un impedimento del habla cuando eras niño?

Ikey : ¿Honestamente? perro travieso fue tomada. Tengo que amar un poco de Bandicoot. Además, originalmente estábamos asumiendo algunos trabajos de contratación de Python y encontré el nombre divertido. Es más o menos un nombre sin sentido como muchos de mis proyectos anteriores (como Dave. O Dave2.)

Es FOSS: Después de ser desarrollador de sistemas operativos durante muchos años, ¿cómo se siente trabajar en algo más pequeño? ¿Diría que su tiempo como desarrollador de sistemas operativos le da una ventaja como desarrollador de juegos?

Ikey : OS dev necesita una vista de muy alto nivel constantemente, con la capacidad de cambiar de contexto de macro a micro y viceversa. Muchas, muchas partes móviles en un gran ecosistema.

Serpent está mucho más orientado a las tareas, aunque existen similitudes en el flujo de trabajo en términos de definición de macrosistemas y microfunciones intercaladas para construir un todo cohesivo. Mi experiencia en desarrollo de sistemas operativos obviamente es de gran ayuda aquí.

Donde brilla especialmente es en el trato con las ‘tripas’. Creo que muchos desarrolladores independientes (perdónenme por ser arrasador) generalmente están felices de simplemente construir a partir de un kit existente y aceptarlo o solucionar los problemas. Hay algunas verdaderas gemas por ahí como Factorio que van más allá y tengo que sostenerme el sombrero ante ellas.

En cuanto a la creación de un nuevo kit, debemos pensar correctamente en la coherencia de la memoria caché, el rendimiento paralelo, la fragmentación de la memoria, el cambio de contexto y demás.

Los consumidores de Serpent (cuando se publique en una forma más estable) sabrán que el marco ha sido diseñado para aprovechar las funciones de Linux, no solo para generar compilaciones.

Es FOSS: recientemente transfirió su Serpiente motor de juego de C a la lenguaje D . ¿Por qué hiciste este movimiento? ¿Qué características tiene D sobre C?

Ikey : Sí, sinceramente, ese fue un movimiento interesante. Originalmente estábamos trabajando en un proyecto llamado lispysnake2d que iba a ser un envoltorio trivial alrededor de SDL para darnos una biblioteca de microjuegos. Esto simplemente usó las API de SDL_Renderer para borrar sprites 2D e inicialmente parecía suficiente. Desafortunadamente, a medida que avanzaba el desarrollo, quedó claro que necesitábamos una canalización 3D para 2D, de modo que pudiéramos utilizar sombreadores y efectos especiales. En ese momento, SDL_Renderer ya no es bueno para usted y necesita ir con Vulkan u OpenGL. Comenzamos a abstraer las tuberías y vimos cómo se producía la locura.

Después de dar un paso atrás, analicé todas las deficiencias en el enfoque y me cansé de los problemas de portabilidad que definitivamente surgirían. No estoy hablando en términos de bibliotecas, estoy hablando de manejar varias rutas de archivos, codificaciones, API Win32, DirectX vs OpenGL vs Vulkan… etc. Luego, incorpore el tiempo repetitivo, las deficiencias de la cadena C y la cantidad de reinvención necesaria para evitar la vinculación a bibliotecas de estilo de biblioteca estándar “multiplataforma” infladas. Era una mala imagen.

Habiendo hecho mucho Ir desarrollo, comencé a investigar alternativas a C que fueran conscientes de la concurrencia, cuerdas sanas y repletas de una poderosa biblioteca estándar multiplataforma. Esta es la parte en la que todos te dirán automáticamente que uses Rust.

Desafortunadamente, soy demasiado estúpido para usar Oxido porque la sintaxis literalmente ofende mis ojos. No lo entiendo, y nunca lo haré. Rust es un lenguaje fantástico y, en lo que respecta a los esfuerzos académicos, es muy exitoso. Desafortunadamente, tengo una mentalidad demasiado práctica y busco consuelo en los lenguajes de estilo C, habiendo vivido en ese mundo demasiado tiempo. Por lo tanto, D era el mejor candidato para marcar todas las casillas, al mismo tiempo que tenía interoptabilidad de C y C++.

Nos tomó un tiempo restaurar la paridad de funciones, pero ahora tenemos un marco compatible con la concurrencia que se prueba con OpenGL y Vulkan, admite el procesamiento por lotes de sprites y tiene buenas API. Además, gran parte de la reinvención se ha ido ya que estamos aprovechando todas las características de SDL, bgfx y la biblioteca estándar DLang. ganar ganar

El primer juego de LispySnake

Es FOSS: ¿Cómo planeas distribuir tus juegos?

Ikey : En cuanto a la demostración, inicialmente solo nos centraremos en Linux, y parece que usaremos Flatpak para eso. A medida que pase el tiempo, cuando presentemos soporte y pruebas para macOS + Windows, probablemente buscaremos en Steam Store. A pesar de la naturaleza de código cerrado, Valve ha sido mucho más amigable y solidario con Linux a lo largo de los años, mientras que Epic Games tiene una larga historia de ser altamente anti-Linux. Así que eso es un no ir.

Es FOSS: ¿Cómo puede la gente apoyar y contribuir al desarrollo del motor de juego Serpent?

Ikey : Tenemos algunos métodos diferentes, por lo que vale la pena. Lo más fácil es comprar una licencia de por vida – que es de $ 20. Esto le otorga acceso de por vida a todos nuestros juegos 2D y ayuda a financiar el desarrollo de nuestros títulos de juegos y Serpent.

Alternativamente, puede patrocinarme directamente en GitHub para trabajar en Serpent y aguas arriba donde sea necesario. Un poco de amor FOSS.

Soporte con licencia de por vida

Patrocine el desarrollo en GitHub

Me gustaría agradecer a Ikey por tomarse el tiempo para responder a mis preguntas sobre su último proyecto.

¿Alguno de ustedes ha creado un juego con herramientas de código abierto? Si es así, ¿qué herramientas y cómo fue la experiencia? Por favor háznoslo saber en los comentarios más abajo.

Si encuentra este artículo interesante, tómese un minuto para compartirlo en las redes sociales, Hacker News o Reddit .


Related Posts