[RetroBoy] BASIC + Family Basic do Famicom

[RetroBoy] BASIC + Family Basic do Famicom

08/11/2020 0 Por inuboykun

Nos anos 80′ os computadores tinham diversas divergências entre hardware, software e interface. A única coisa em comum era sua linguagem de programação que se chamava BASIC (Beginner’s All-purpose Symbolic Instruction Code. Ou em português, Código de Instruções Simbólicas de iniciantes para todos os propósitos). A linguagem foi lançada em 1964 por John George Kemeny e Thomas Eugene Kurtz na universidade de Dartmouth no Estudos Unidos. A ideia da linguagem era fazer algo mais amigável e menos complicada para alunos de fora das áreas das ciências e matemática, isso em uma época que os computadores eram gigantescos como o PDP-7, que por incrível que pareça era chamado de Minicomputador. Os minicomputadores estavam entre os tamanho de um mainframe e um microcomputadores.

10 PRINT “STORY”

Quatro anos antes do seu lançamento, Kemeny e Kurtz já tinham em mente que os computadores deveriam ser de fácil acesso para todos estudantes e membros do corpo docente, e isso levou a duas tentativas falhas de linguagens simplificadas, DARSIMCO e DOPE, que acabaram levando o uso de outras duas, sendo elas Fortran e ALGOL, que ainda não estavam de acordo com o desejo de ambos por ainda serem muito complicadas. Além disso, no caso de Fortran, seus comandos eram difíceis de se decorar e um pouco confuso, embora o mesmo fosse complicado ainda servia como base para criação do primeiro BASIC, que possuia um sistema parecido e com comandos iguais ao seu material de inspiração se focando em mudanças de sintaxe para torná-la mais acessível diferente do Fortran, onde este foi criada essencialmente para cálculos de números, científicos e de engenharia.

exemplo das diferenças de uma série de códigos com a mesma função, fonte oozden
Mary Kenneth Keller
(17/12/1913 a 10/01/1985)

Composta por uma equipe de doze alunos de graduação que trabalharam cerca de um ano nos projetos de compilação do BASIC e o sistema DTSS, um sistema operacional de compartilhamento de tempo em grande escala e para qual o BASIC foi desenvolvido. Dentre os alunos envolvidos estava a irmã Mary Kenneth Keller, a primeira mulher a possuir um doutorado em Ciência da Computação nos EUA. Após seu doutorado ela fundou um departamento de Ciências da Computação na Universidade de Clarke localizada em Worcester, Massachusetts, onde existe uma bolsa de estudos no curso de Ciências da Computação que leva seu nome.

20 PRINT “PROGRAMMING AND PLAYING”

No ano de 1975 foi lançado um dos primeiros computadores pessoais dos Estados Unidos, o MITS Altair 8800, que interpretava o BASIC devido ao trabalho de dois homens, Paul Allen e Bill Gates, que em pouco tempo depois iriam fundar a Microsoft. E com a chegada dessas maquinas caseiras houve um grande crescimento do número de usuários de BASIC.

Sua forma amigável de programar foi muito boa para atrair pessoas além de conter algumas coisas que ajudavam as mais amadoras que facilmente cometeriam erros bobos ou pequenos. Para qualquer um que já tentou mexer com programação ou códigos sabe que até mesmo um vírgula fora do lugar pode arruinar tudo. Agora imagine isso em uma época que os editores de textos eram extremamente limitados, limitações estas como não poder inserir algo entre duas linhas. Nesse ponto entra o sistema de numeração de linhas existente no BASIC, cada linha de programação é iniciada normalmente com um múltiplo de 10 e seguida por outro múltiplo de 10 maior que o anterior, e isso permitia que linhas fossem inseridas posteriormente utilizando no inicio números entre as linhas que o código deveria ficar sendo rodadas na ordem certa sem alterar o funcionamento do programa, como por exemplo:

CódigosExibição no computador
10 Print “thanky Mario! ”
20 Print “in another castle ”
30 END
15 print “but our princess is”
thanky Mario!
but our princess is
in another castle

Mesmo com um computador “fácil” de se programar em mãos a maioria das pessoas não teriam a criatividade ou mesmo paciência para sair criando programas logo de cara por mais básicos que fossem. Uma forma muito boa de despertar o interesse de crianças era com jogos. Claro, ainda não era possível criar jogos “sofisticados ” como os visto em consoles e arcades, mas ainda era possível criar ou replicar alguns jogos e ter interação com eles. Junto da popularidade desses computadores pessoais que veio nos anos 70’ no Reino Unido e nos EUA, eram lançados Gamebooks, livros de aventura interativa onde o rumo da história mudava de acordo com as decisões do leitor. Esse tipo de livro possuia mecânicas diferentes que podiam ir de rolar dados até usar a linguagem de BASIC. Este tipo de jogo é lembrado até hoje tento servido como base para um episodio interativo do seriado Black Mirror.

Outra maneira de despertar o interesse das pessoas em fazer elas mesmas redigirem os programas, a ideia pode parecer bem estranho para os padrões de hoje mas na época era mais barato lançar os códigos inteiros de programas e até mesmo jogos em livros e revistas do que lança-los como mídia voltado para os computadores. Somado isso ao incentivo das escolas de fazer as crianças e adolescentes aprenderem a usar computadores, era possível achar códigos em livros acadêmicos e livros especializados em bibliotecas escolares. Claro que alguns jogos possuíam códigos bem longos que até os adultos demorariam horas para digitá-los, mas poderia ser uma ótima atividade para um dia chuvoso ou para distrair uma criança e ainda implicaria em aprendizado. O livro BASIC Computer Games: Microcomputer Edition é um perfeito exemplo disse tipo de conteúdo, não é difícil achar o livro completo ou até mesmo paginas com certos jogos contendo sua programação e como jogá-lo. Porém, infelizmente os livros so se encontram em inglês.

Claro que não teve só jogos baseados em texto ou sem sprites criados no BASIC, ou em suas outras versões posteriores. Havia algumas divergências de compatibilidade em códigos de gráfico mas isso não foi um obstáculo para algumas figuras famosas da computação de criar seus próprios jogos como Bill Gates junto a Neil Konzen que criaram DONKEY.BAS em 1981, jogo este que rodava nos PCs e MS-DOS – sistemas distintos vendidos separadamente mas ainda possuiam o Microsoft BASIC, uma das muitas variações da linguagem original, algo que não era tão raro. Especula-se que o BASIC é a linguagem que possui mais variações.

Dentre as muitas variações, uma que chama atenção pelo seu criador é o Integer BASIC, que foi criado por Steve Wozniak, onde junto de Steve Jobs foram os fundadores da Apple inc. Wozniak criou a linguagem para ser voltada para o desenvolvimento de jogos e, em menos de trinta minutos, foi capaz de desenvolver Little Brick Out, um clone de Arkanoid. Isso só foi possível em tão pouco tempo devido a simplicidade do BASIC padrão.

30 GOTO FAMICOM

Já tendo chegado por diversos meios ao publico dos Estado Unidos, o BASIC não parou por lá, chegando até o Japão por um novo meio, o famoso Famicom. Lançado em uma parceria da Nintendo com a Hudson Soft e Sharp Corporation em 1984 como uma tentativa de atrair usuários de computador para a sua plataforma, era lançado o Family BASIC. Houveram  algumas versões, sendo a primeira a chegar no mercado a V2.0, que vinha em um kit com o teclado e mais tarde sendo lançado com o cartucho V2.1. No ano seguinte era lançado de forma separada o cartucho V3.0, que vinha identificado como uma versão atualizada que contém mais memória expandida e alguns jogos pré-instalados criados na linguagem existente no cartucho. Nele era possível salvar seus jogos, mas era necessário a compra de um outro acessório, o Famicom Data Recorder, um gravador de fita cassete lançado para guardar os jogos feitos no Family BASIC, que mais tarde seria compatível com alguns jogos da plataforma onde seria possível salvar progresso e criações.

Alem de programar jogos o Family BASIC possuia uma ferramenta de criação de musicas. As instruções do manual referentes a parte de criação de foi escrita por Koji Kondo, que já havia criado musicas em computadores que usavam o BASIC, nas composições da versão de árcade de Punch-Out, e que mais tarde viria a trabalhar como compositor nas series Super Mario Bros. e The Legend of Zelda.

Dentro da parte relacionada aos jogos, o cartucho já vinha com sprites prontos que eram usados nos jogos pré-instalados. Podem não parecer muito à primeira vista, e serem bem limitados, mas isso vai depender da criatividade do usuário. Às vezes estas limitações podem ser ótimas para despertar soluções criativas. Abaixo alguns vídeos de compilados de jogos feitos usando o Family BASIC, onde abaixo de cada vídeo terá indicações de jogos que pessoalmente achei interessante:

41:30 – Um RPG que faz uso interessante dos sprites presentes para conseguir montar um fundo para a tela de combate. Pelo que parece o combate é feito de forma automática.

1:16:10 – AKKANAID 2: uma mistura de Arkanoid com Pong. Embora as colisões sejam meio falhas, tem um proposta divertida.

1:20:45 Aurora Islands: jogo de plataforma fortemente inspirado em Rainbow Island. Na verdade podemos dizer que é um clone do mesmo.

0:00 Jump Mario: jogo simples mas que reproduz uma boa física de pulo.

19:30 SPIRIT: No começo é um Shoot ‘em up comum, mas que na segunda parte apresenta um bom uso dos recursos para criar efeitos visuais. Uma camada toda preta com buracos para criar um efeito de iluminação que ainda emula um degrade. Foi genial, assim como o chefe final criado com quadrados de sprites soltos.

1:19:10 Jogo de corrida que faz um ótimo uso das linhas nas pista para indicar movimento e velocidade.

1:39:10 Quarthello, baseado no jogo de tabuleiro Otelo. Ele traz o ideia de jogar as peças de baixo pra cima ao invés de jogar as peças do meio para as bordas.

34:30 FoTYPE: uma versão do 15 Puzzle. A transição entre os quebra-cabeças ficaram ótimas.

13:35 Ping Pong, lembra muito o Super Glove Ball lançado para o NES. A perspectiva foi bem trabalhada e de fácil compreensão.

1:10:00 Fisraduth – Castle of Tyramis -, o melhor uso dos sprites disponíveis para criar novos, tanto dos fundo quantos dos personagens

40 END

Podemos afirmar que o objetivo inicial dos criadores de linguagem foi alcançado, a linguagem foi muito popular nos EUA e quebrou  a barreira existente entre computadores e pessoas fora do meio acadêmico, chegando a ter conteúdo direcionado à crianças de uma forma atrativa. Embora a linguagem tenha ficado obsoleta nos anos 90, ela continuou a derivar outras linguagem, incluindo o Visual Basic.NET que é usado hoje em dia.

Claramente o BASIC é muito limitado e obsoleto nos dias de hoje, mas ainda existem entusiastas dele nos meio dos fãs de computadores antigos. Se você for uma dessas pessoas que gosta de computadores antigos como o Commodore 64 eu recomendo o canal the 8-bits Guy, ele conta com vários vídeos sobre tecnologia antiga e restaurações de computadores. Muitos vídeos já possuem legenda em português do Brasil. Embora eu ache que o BASIC ainda poça ser utilizado para iniciar alguém em programação ou aprender um pouco de lógica de linguagem, ainda sei que existem linguagens mais úteis e com mais tutoriais e cursos espalhados pela internet. Já para crianças que estejam interessadas, existe o scratch, que embora limitado tem uma interface boa o suficiente para crianças e pode ajudar a entender como funciona a lógica de programação. Caso tenha interesse em testar a linguagem ou escrever algum programa em BASIC é possível fazer isso online no site Calormen.