O desenvolvemento do xogo é un proceso complexo. Ademais de escribir código, o desenvolvedor tamén debe atopar unha forma de incorporar son, música, gráficos e lóxica de forma cohesionada.
O motor de xogo PICO-8 elimina as complexidades e permite que o desenvolvedor se centre nos aspectos máis esenciais da idea que quere executar.
Neste artigo, exploraremos o que é único sobre o motor de xogos PICO-8 e como permite aos desenvolvedores mostrar a súa creatividade a pesar do medio limitado.
Que é a consola PICO-8?
Cando xogas a un xogo PICO-8, podes descartalo como un emulador para a consola retro a partir dos anos 1980. A arte de píxeles e a música e os efectos de son de 8 bits poden incluso darche un pouco de nostalxia.
Podes sorprenderte ao descubrir que o PICO-8 foi lanzado en 2015. De feito, o PICO-8 nunca foi unha consola para comezar!
PICO-8 é un motor de xogos virtual creado por Lexaloffle Games.
O motor de xogos é un emulador para unha consola de videoxogos ficticia. Do mesmo xeito que as consolas habituais, PICO-8 ten o seu propio conxunto de especificacións da máquina, formato de visualización e ferramentas de desenvolvemento.
A única diferenza é que o PICO-8 non existe realmente no mundo real.
Por que habería interese nunha consola de fantasía?
Consolas de fantasía como o PICO-8 e o TIC-80 darlles aos desenvolvedores a oportunidade de crear programas con algún tipo de restrición.
Os motores de videoxogos populares como Unity danlle ao desenvolvedor a posibilidade de crear calquera xogo que queira. Aínda que isto é bo na práctica, deixa ao programador con ducias de decisións que tomar.
As limitacións dunha consola de fantasía como PICO-8 dálles aos desenvolvedores o ambiente para ser máis creativos. Por exemplo, os desenvolvedores de PICO-8 non precisan pensar en que resolución renderizar o seu xogo. Todos os xogos funcionan cunha resolución de 128×128.
Do mesmo xeito, a paleta limitada de 16 cores dá aos deseñadores de xogos unha limitación que obriga a esquemas de cores consistentes.
Programación en PICO-8
A programación en PICO-8 tamén pode ser familiar para os usuarios que traballaron coa linguaxe de programación Lua. Non obstante, a implementación de Lua incluída no PICO-8 é só un subconxunto do real linguaxe de programación.
PICO-8 tamén limita a cantidade de código que pode escribir para cada programa.
Cada carro debe conter como máximo 8192 fichas. Os tokens poden ser unha variable, cadea, operador ou palabra clave.
Por exemplo, o código a=1
contén tres fichas.
Esta limitación obriga aos desenvolvedores a atopar formas máis eficientes de codificar os seus xogos.
Carros PICO-8
Cada xogo PICO-8 pódese compartir a través dun cartucho de xogo ou dun "carro" para abreviar.
Estes cartuchos de xogos dixitais son en realidade só imaxes. Cada carro contén toda a información do xogo.
Como se almacena un xogo enteiro nunha única imaxe?
PICO-8 usa un proceso esteganográfico para almacenar datos nunha imaxe PNG. Cada byte PICO-8 almacénase nos dous bits menos significativos de cada unha das catro canles. Dado que cada imaxe ten unha dimensión de 160×205 píxeles, cada imaxe pode albergar ata 32,800 bytes de datos de xogo.
Cada ficheiro de xogo PICO-8 contén datos sobre o código do programa, os gráficos, o son e a música. Podes usar software como picoferramenta para revisar os datos atopados en calquera carro PICO-8.
Comunidade PICO-8
PICO-8 ten unha comunidade activa de programadores e desenvolvedores de videoxogos. Moitos destes desenvolvedores sentíronse atraídos pola idea de desenvolver un videoxogo con limitacións tipo consola retro.
Podes navegar por miles de xogos diferentes no web oficial. Estes xogos van desde a proba de conceptos simples ata xogos completos que poderían ter sido lanzado comercialmente nunha consola real.
A comunidade PICO-8 tamén publica a maior parte do seu traballo baixo unha licenza de código aberto. Os usuarios poden ver como outras persoas programan os seus xogos.
Os atascos de xogos e as colaboracións tamén se animan moito. De feito, a atasco de xogo en 2016 levou ao desenvolvemento do popular xogo de plataformas Celeste.
Características
Estas son algunhas das principais características que ofrece o motor de xogos PICO-8.
- O motor do xogo inclúe ferramentas para editar código, música e sprites integradas na consola
- PICO-8 é compatible con varias plataformas.
- Cada carro PICO-8 pode ter ata 64 sons. O editor de son permíteche controlar a frecuencia, o instrumento e o volume de cada nota utilizada para cada efecto de son
- PICO-8 permítelle ter 256 sprites 8×8.
- A consola permite dous controladores de 6 botóns a través dun teclado conectado.
- A implementación da linguaxe de programación Lua de PICO-8 ofrece aos desenvolvedores funcións básicas de programación como variables, funcións, bucles e táboas.
- Os usuarios tamén poden escribir código nun editor externo se é necesario
Pros e contras de desenvolver en PICO-8
Pros
- PICO-8 é pequeno e fácil de instalar.
- As limitacións obrigan ao programador a escribir de forma eficaz.
- A linguaxe de programación é sinxela de aprender
- A maioría dos xogos PICO-8 son de código aberto, o que lle dá a oportunidade de aprender da comunidade PICO-8.
Contra
- Limitado ao desenvolvemento de xogos en 2D
- PICO-8 custa actualmente 15 dólares para xogar
- A falta de bibliotecas significa que pode ter que codificar as funcións básicas desde cero
- Falta de completación do código e sangría automática
Creación dun programa de mostra
Nesta sección, repasaremos o que experimentará o usuario cando cree o seu primeiro xogo.
Despois de instalar o xogo no sistema operativo que prefira, abrir o programa PICO-8 é tan sinxelo como facer clic na icona do atallo PICO-8.
O usuario será recibido cunha breve animación seguida da pantalla da consola PICO-8.
tipo PRINT(“HELLOWORLD”)
na consola e prema Intro. Parabéns, acabas de executar o teu primeiro programa PICO-8.
Imos comezar a crear un novo proxecto. Na consola, introduza o comando SAVE <program_name>
.
Para abrir un proxecto, escriba LOAD <PROJECT_NAME>.p8
Prema a tecla Esc para entrar no editor de código PICO-8. Na esquina inferior dereita, podes facer un seguimento de cantos tokens quedan para usar no teu código.
PICO-8 admite o uso de variables.
Os usuarios tamén poden definir funcións que poden chamar noutro lugar do programa.
PICO-8 tamén admite o uso de táboas. Os desenvolvedores familiarizados con Lua poden recordar que as táboas son os únicos contedores de datos dispoñibles na linguaxe de programación Lua.
PICO-8 inclúe un bucle de xogo integrado que se executa 30 veces por segundo. Tanto a función _update() como _draw() son necesarias para que se execute o bucle.
O editor de sprites integrado de PICO-8 axudarache a deseñar o aspecto dos teus sprites no xogo e a arte de fondo. O editor tamén permite ao usuario establecer ciclos de animación para cada un dos seus activos.
Na consola, podemos escribir o comando RUN despois de cargar o xogo para iniciar unha instancia do programa.
Cubrimos só un pouco do que é posible en PICO-8. Recomendo encarecidamente navegar por documentación oficial eo wiki da comunidade para saber máis sobre o motor.
Tamén recomendo mirar PICO-ATE, un centro de guías e recursos esenciais compilados polo desenvolvedor Andrew Reist.
Conclusión
Podo relacionar xogos de escritura na consola PICO-8 coa escritura dun haiku. A estrutura estrita do haiku dálle ao poeta o reto de transmitir un concepto en só tres liñas e dezasete sílabas. Do mesmo xeito, PICO-8 desafía ao programador a crear unha experiencia dado un número limitado de código, gráficos e sons.
PICO-8 pode non ser axeitado para crear os últimos títulos triple-A, pero nunca foi pensado para iso.
O motor brilla ao dar aos desenvolvedores principiantes a oportunidade de explorar os desafíos do deseño e desenvolvemento de xogos. PICO-8 é o suficientemente sinxelo para que comecen a usar persoas completamente novas no desenvolvemento de xogos.
Pero navegando polos xogos feitos pola comunidade, vin que PICO-8 tamén é unha forma de que os desenvolvedores de xogos experimentados tamén poidan desafiarse a si mesmos.
¿Estás interesado en probar PICO-8?
Deixe unha resposta