sexta-feira, 17 de fevereiro de 2023

Console fantasia

O que é consoles fantasia 

Uma das cosas boas que já fizeram foi os consoles fantasia, são maioria inspirados em computadores de 8 bits exemplo os MSX, Atari 800, TK-80, ZX Spectrum entre outros. Porem não se trata de maquinas fisicas, simulam um tipo de sistema parecido, criado para funcionar como se tivesse um computador virtual completo.trazendo um experiencia parecida, possibilitando programar e desenvolver jogos completos com o intuito de oferecer um ambiente Old-School, cada tipo de maquina funciona em plataformas variadas, alguns em mais de uma como Linux, Windows, Android, macOS, html e outros. Em questão de acessos uso o TIC-80 que e gratuito e bem permissivo, ate o momento desta postagem, já o Pico-8 e Pago.

Console fantasia imagem TIC-80

Variedades

Por muito tempo achei que existia somente 2 consoles, o TIC-80 e o Pico-8, porem tem vários outros do tipo. Exemplo: O  LIK O-12 que e gratuito em LÖVE escrito em linguagem lua licença bem permissiva ate o momento desta publicação. O Bitsy e feito em HTML5, gratuito e com licença iguais o LIK O-12,  temos também os Lowresnx,  GameShell, GB Studio, GB Studio 2, Love-Potion, Sonic Pi, Bosca Ceoil, Famitracker. Sempre estão saindo novos consoles, muitos inspirados nas versões já existentes, porem nem todos são voltados apenas fazer jogos, pode ser usado para outros coisas como fazer musicas, desenhar ou vem com varias ferramentas integradas. Uma coisa muito importante a considera e que esse consoles ajudam muito novos desenvolvedores entender como tudo funcionava nos antigos computadores, e assim aprender varias técnicas avançadas de criação otimizadas, e também trazer uma ideia de nostalgia para aos desenvolvedores de sistemas de um determinada época.

Tamanho

Apos ver o tamanho de uma rom dos consoles de videogames antigo, resolvi buscar novas rons de consoles pra comparar, estava intrigado em como criaram algo tão completo era feito com pouco consumo. Um coisa que notei e o fato do jogo ser escrito por completo e tudo ser calculado para encaixar nas limitações da época. Os sprites nem sempre eram imagens completas, para gerar um imagem eram usados vários pedaços montados e desdobrados, apos isso eram colorindo a partir de uma tabela de cores bem definida. Em fim são muitos recursos que eram necessários para encaixar cada peça no devido lugar. e ter um resultado bem definido. mitas vezes boa parte da tecnologia estavam nos cartuchos.

Os cartucho virtuais 

Os cartucho virtuais e o nome que se da ao arquivos que contem todos os elementos necessários para e executar o jogo, normalmente cada console virtual tem sua própria extensão de arquivo e limite para dados armazenados neles, significa que o desenvolvedor tem um desafio que e o limite imposto pelo aplicativo na hora de fazer o código e armazenar junto com outros dados.

tic-80 cartucho
TIC-80 cartucho

Como funciona

Vou mostra umas ideias simples dos primeiro passo usando o TIC 80, Alguns dos comandos são os mesmo do linux então não tem erro,

TIC-80

Primeiro recomendo baixar o aplicativo no link do tic80 dependendo do sistema se for linux recomendo pegar na loja de aplicativos que e mais simples e mais fácil. No Linux versão manjaro instalei o programa com flatpack, então os cartuchos salvos ficam na pasta abaixo, pode varia em cada tipo de pacotes.

/home/nomedosusairo/.var/app/com.tic80.TIC_80/data/com.nesbox.tic/TIC-80/

A tela tem um limite de resolução de 240x136 e suporta ate 256 cores, inclui um editor de código, de esprites, de mapas e um sintetizador de música. oferece suporte para vários controles e exportar jogos para várias plataformas, incluindo Windows, MacOS, Linux, iOS e Android. Outro link também que recomendo e da documentação, assim da pra aprofunda mais um pouco no que se trata. Apos instalar o TIC-80  abra o aplicativo pelo menu iniciar, abrira uma janela com um terminal roxo, escreva nele o comando help version, veja o resultado compare com a versão, se for muito antiga e preciso atualizar.

Primeiro cartucho

Criando um cartucho  new lua nomedocartucho.tic

Salvando um cartucho save nomedocartucho.tic

Carergando cartucho load nomedocartucho.tic

Na versão que estou usando 1.0.1 estou escrevendo o código da seguinte forma no computador

Primeiro recurso que abre e o console virtual então, aperto o botão do teclado ESC do teclado e para entra no editor de código, apaguei tudo e escrevi apenas as parte com meus dados e os dados do jogo e também a versão, a licença sendo mit pra seguir o padrão do TIC-80.

-- title:   jose teste
-- author:  jose anastacio (josegamestest)
-- desc:    codigo mensagem
-- site:    josegamestest.com.br
-- license: MIT License (change this to your license of choice)
-- version: 0.1
-- script:  lua

Na segunda parte do código fiz algo simples, tudo esta bem comentado, e o resultado logo mostra uma mensagem na tela e com um boneco em sima que anda, fiz bem parecido com a versão demo do código porque ainda não sei muito.

t_x=240 --tamanho da largura da tela 
t_y=136 --tamanho da altura da tela 

sprite=0 --ID do sprite
pos_x=t_x/2 --posciao x
pos_y=t_y/2 --posicao y
cor=1 --idex de cor trasmparencia
scala=1 --fator ampliar
flip=0 --espelhar
rot=0 --rotacao
scal_w=1 --scala largura
scal_h=1 --scala altura

function TIC()
	cls() --limpa tudo
	
	--sprinte 
	spr(
        sprite,
        pos_x,	pos_y/2,
        cor,
        scala,
        flip,
        rot,
        scal_w,scal_h
	)
	--logica movimento com totao
	if btn(0) then pos_y=pos_y-1 end
	if btn(1) then	pos_y=pos_y+1 end
	if btn(2) then pos_x=pos_x-1 end
	if btn(3) then pos_x=pos_x+1 end
	
	--string ola mundo
	local mensagem="Ola Mundo"
	--calc tamanho da mensagem
	local width=print(mensagem,0,-6)
--	mosra a mengem centralizada
	print(mensagem,(240-width)//2,(136-6)//2)
end --fim de codigo

Apos escrever salva com CTRL +S e depois entra no console escrever RUN para iniciar

Com tempo da pra fazer muita coisa, fazendo este código ja aprendi usar o editor de sprites o terminal e também o editor de textos do TIC-80, existem mais coisas porem tudo a seu tempo.

Este e apenas um exemplo, recomendo escolher bem, pois cada sistema tem suas facilidades, Estou aprendendo o TIC-80. Quero fazer meu cartucho de jogo quando der XD.

Arquivo do blog