Subscribe to the Free Software Supporter — the monthly update from the Free Software Foundation
 [imagem de um Admirável Mundo GNU]
Admirável Mundo GNU - Número 39
Copyright © 2002 Georg C. F. Greve <greve@gnu.org>
Traduzido para o português por Hilton Fernandes <fernandesh@yahoo.com>
e Fernando Lozano <fernando@lozano.eti.br>
A declaração de permissão está abaixo.

[DE | EN | FR | IT | JA | ES | KO | PT]

Benvindo a mais uma edição da Admirável Mundo GNU, que vai informá-lo de mais formas de se livrar criativamente de seu tempo livre.

Rocks'n'Diamonds

O jogo "Rocks'n'Diamonds" [5], criado por Holger Schemel, parece-se demais com clássicos como "Boulder Dash" (para Commodore 64), "Emerald Mine" (Amiga), ou "Supaplex" para PC. O não é muito surpreendente, pois ele foi criado por um fan desses jogos, para outros fans.

Para aqueles não iluminados: a idéia deste jogo, um "arcade" clássico em 2D, é pegar diamantes sem sofrer um fim prematuro. Para conseguir isto, pode-se (entre outras coisas) movimentar rochas, jogar bombas e enganar monstros.

O jogo foi escrito em C e visou a portabilidade. Ele roda em praticamente qualquer variedade de Unix -- desde que o X11 seja suportado -- e também no Max OS X, DOS e Windows. Ele tem deslocamento suave de níveis, suporte a joystick e associação de teclas a comandos livremente personalizável. Isto permite garantir que o jogo se adapte às preferências e circunsâncias de seus usuários.

Em um ambiente de gráficos muito originais, a alegria de jogar é aumentada pelo suporte a efeitos sonoros e m´sica em todos os sistemas operacionais que o permitam.

O jogo ganha um atrativo a mais por seu suporte a redes sob Unix que permite que até quatro jogadores possam jogar níveis juntos. Ele tem um modo multi-jogador que permite resolver níveis como um time em uma única máquina.

Para garantir que o jogo nunca seja tedioso, o jogo tem literalmente milhares de níveis que precisam ser resolvidos, e um, e uma vez que eles tenham resolvido, ainda há o editor de níveis.

O jogo foi publicado pela primeira vez em 1994 e 1995 para GNU/Linux e Solaris, antes da versão para MS-DOS (1998), e da versão para Windows, publicada em 2001. Holger Schemel o publica como Software Livre sob a GPL, Licença Pública Geral do GNU.

Apesar do jogo já ser muito maduro, ele ainda é ativamente desenvolvido. De acordo com Holger, ainda está causando problemas a emulação de aparatos de jogos do Boulder Dash, Emerald Mine, Supaplex & Sokoban, pois ela não é suficientemente boa para jogar em todos seus níveis originais.

Caso você queira ajudar, você é benvindo. Em particular, colaboração na parte gráfica, ajuda ao porte para outras plataformas, ou novos níveis.

O próprio Holger teve experiências muito interessantes em tal cooperação: em algum momento dos anos 90, o centro de pesquisa nuclear de Jülich, na Alemanha, disse a ele que o jogo estava derrubando um dos servidores AIX deles.

Como ele não conseguia reproduzir o problema, permitiram que ele tivesse acesso por Telnet ao sistema afetado, e pode localizar o problema em uma chamada a uma falha em uma chamada de sistema do X11. Assim, ele pôde resolver o problema, ao mesmo tempo que tentava não causar um impacto muito negativo na usina nuclear.

Felizmente, isto não é muito freqüente, mas esta estorinha mostra bem como o espírito de conexão e cooperação do Software Livre pode algumas vezes levá-lo a lugares interessantes.

Mirror Magic

Assim como no jogo anterior, Mirror Magic [6], ou "Espelho Mágico", foi escrito em 1988 por Holger Schemel. É preciso dizer que ele foi distribuído de forma comercial e proprietária sob o nome "Mindbender" para o Amiga. Holger então o portou para os sistemas Unix por volta de 1994, e o publicou como Software Livre sob a GPL, Licença Pública Geral do GNU.

O objetivo do jogo é guiar um raio laser do emissor até um detector. Dado um par de espelhos que os jogadores podem ajustar, isto deveria ser fácil, mas o jogo torna isso progressivamente mais difícil por todos os tipos de obstáculos que podem tanto ser contornados ou destruídos através do próprio laser. Em algumas posições, os espelhoos vão fazer com que o laser retorne a seu emissor, fazedo com que o canhão laser se sobreaqueça, podendo chegar a explodir. O que é um resultado indesejável.

O uso de princípios simples pode gerar um muita diversão. Mirror Magic não é uma exceção a esta regra. E, assim como Rocks'n'Diamonds, Mirror Magic oferece imagens, efeitos sonoros e música muito interessantes.

De fato, os dois jogos têm uma semelhança muito suspeita em sua aparência. O que não é de surpreender, pois Rocks'n'Diamonds é baseado no mesmo aparato de jogos do Mirror Magic.

Seu relacionamento chega até o número de versão, que, no momento em que esta coluna era escrita, é 2.0.1, tendo os dois jogos sido lançados em 19 de março de 2002.

Os leitores do Admirável Mundo GNU devem agradecer a Glenn Alexander por ter me apresentado a ambos projetos. Ele tinha certeza de que os outros leitores gostariam de conhecê-los e, depois de falar comigo, ele pediu a Holger Schemel para preencher o questionário padrão do Admirável Mundo GNU.

Esta abordagem é muito boa e funcional, e definitivamente deveria ser adotada por mais pessoas.

T.E.G.

Muitas coisas que gerariam reclamações na vida real podem ser feitas livremente e com prazer no espaço virtual. Conseguir dominar o mundo é uma delas.

T. E. G ("Tienes Empanadas Graciela") [7] é um clone do muito conhecido jogo "Risk", iniciado por Ricardo Quesada em 1996.

O conceito do jogo Risk não precisa ser muito explicado, mas caso alguns leitores não tenham se divertido com ele: Risk é um jogo de tablado, no qual os jogadores competem com seus exércitos para ter o controlde de certas regiões ou de todo o mundo. Vencer depende de habilida tática e de alguam sorte no jogar dos dados.

Apesar do projeto ter sido declarado morto muitas vezes durante sua vida, ele tem sido continuamente desenvolvido desde 2000. Atualmente ele tem três; mapas, pode ser jogado em rede, e foi traduzido para espanhol, francês, alemão e polonês.

A falta de mapas e um procedimento relativamente complicado para se gerar mapas são os pontos mais fracos, de acordo com Thomas R. Koll, que colabora no T. E. G. como tradutor, e respondeu o questionário do Admirável Mundo GNU. Mas apesar desses problemas, é bom jogar T. E. G., que tem imagens muito legais.

Os planos para o futuro incluem a geração de diferentes conjuntos de regras, melhores mapas e um meta-servidor. É certamente benvinda qualquer ajuda que artistas grÁficos e desenvolvedores possam dar nessas tarefas.

T. E. G. foi escrito em C usando as bibliotecas GTK+/GNOME e foi publicado sob a GPL, Licença Geral Pública do GNU.

JTEG

Caso a escolha de C & e GTK+ não seja do seu gosto pessoal, você pode experimentar o JTEG [8], criado por Jef De Geeter e Yves Vandewoude. Ele é uma implementação do TEG em Java. Foi inspirado pelo TEG, apesar da base de código ser inteiramente independente.

Este projeto também foi publicado sob a GPL, Licença Pública Geral do GNU. Uma vez que ele usa o mesmo protocolo de rede que o TEG, os dois jogos podem se comunicar.

JTEG foi traduzido para o holandês, francês, alemão e italiano.

Graças ao uso do Java, JTEG deve poder ser executado em quase todas plataformas que suportem o Java 1.3 ou mais recente. Porém, é claro que ele vai ter os problemas relacionados ao Java.

Seria bom se a Sun mostrasse mais interesse em fazer do Java uma linguagem totalmente aberta, e suportasse implementações de referência livres.

GNU Chess

O GNU Chess [9], ou "Xadrez do GNU", é um dos projetos mais antigos do Sistema GNU: seu desenvolvimento começou em 1984. Ele está em manutenção e desenvolvimento até hoje e também tem de ter seu lugar no Admirável Mundo GNU.

O jogo de xadrez não necessita de explicações. Mesmo quem não o joga em geral conhece as regras. Muitas pessoas entraram em contacto eom o jogo na escola quando o conceito de elevar números a uma potência n foi explicado usando-se um tabuleiro de xadrez e grãos de arroz.

Dadas a origem e a idade do projeto, as escolhas da GPL (Licença Pública do GNU) e de C como linguagem de programação não devem surpreender a ninguém.

Os desenvolvedores mais ativos do GNU Chess são Simon Waters, que respondeu o questionário do Admir´vel Mundo GNU, e Lukas Geyer. Stuart Cracraft, que manteve o projeto por muitos anos, ainda colabora com orientações e respostas ocasionais de relatos de problemas (bug reports). Contudo ele está lentamente deixando o GNU Chess.

Ao longo dos anos, muitas pessoas colaboraram para o GNU Chess, e é quase impossível mencionar todas elas. Porém, Chua Kong-Sian deve ser mencionado, pois ele contribuiu com a maior parte da base de código da versão 5.

Simon vê o foco atual do desenvolvimento na manutenção e incremento da portabilidade, que já é alta, e na implementação de um banco de dados de jogos completos e de um "modo de análise".

O modo de análise é algo que ele considera importante, pois em sua experiência os programas complexos podem se beneficiar enormemente desse tipo de modo. Como exemplo ele mencionou um programa da unidade de pesquisa sobre fogo no Reino Unido, no qual foram incluídos recursos de visuação. Isso permitiu descobrir que em seu modelo de incêndio de prédios a escada tinha um degrau a menos do que o necessário para aproximação ao prédio.

Além da limpeza do código já terminada, o modo de análise deve ajudar a ampliar o poder de jogo do GNU Chess.

Apesar de haver muitos programas para xadrez gratis, alguns dos quais se pode obter em código fonte, o GNU Chess parece ser muito popular entre mantenedores de sites na Web e autores de programas gráficos de xadrez que precisem de um aparato de xadrez que ofereça a necessária liberdade para portar e integrar fácil e eficientemente.

De acordo com a experiência de Simon, a liberdade oferecida pelo GNU Chess uma grande vantagem que é muito valorizada, como ele pode descobrir pela grande quantidade de reparos ao código (patches) recebidos.

Se você apenas quiser jogar o GNU Chess, é claro que você pode, mas um front-end gráfico provavelmente seria útil. O melhor front-end conhecido provavelmente é o XBoard [10], criado por Tim MAnn, que está sob a GPL, Licencça Pública Geral do GNU.

Scid

Aqueles que sabem jogar xadrez certamente reconhecem o valor de um bom banco de dados de partidas de xadrez -- pelo menos quando se atingiu certo nível de jogo.

Scid (de Shane's chess information database, ou "banco de dados de informações de xadrez do Shane") [11] é um banco de dados assim. Foi desenvolvido por Shane Hudson sob a GPL, Licença Pública Geral do GNU.

Pode-se entrar jogos fácil e rapidamente no Scid, e depois podem ser procurados no banco de dados de acordo com certos parâmetros de busca. Uma vez que o uso de qualquer banco de dados é largamente determinado pela facilidade de mantê-lo, foi dada muita atemção a esta parte da funcionalidade.

Também foi importante para Shane a possibilidade de treinar o próprio poder de jogo, e com o auxílio de um aparato de xadrez compatível com o Winboard, você pode usar o Scid para analisar jogos.

Diferentemente dos programas desta área, predominantemente proprietÁrios e ás vezes caros, Scid não apenas suporta Windows, mas também roda sob Unix e tem -- de acordo com seu autor -- uma interface muito mais fácil e limpa.

É claro que o tamanho do banco de dados de jogos é também um fator importante para a utilidade de um projeto como este. Alguns programas proprietários têm mais de 1.000.000 de jogos em seu banco de dados. No Web site do Scid, pode-se baixar um banco de dados de alta qualidade, com mais de 500.000 jogos da classe de mestre, com baixa duplicidade.

O desenvolvimento do Scid começou em 1999. Hoje ele é um projeto claramente estável, com traduções para 12 outras línguas. Shane usou o C++ como linguagem de programação, e Tcl/Tk para a GUI, ou interface gráfica com o usuário.

Deste modo, as tarefas mais importantes são a manutenção das páginas de ajuda (ou help) e a criação de um tutorial para novos usuários. Assim, se você gosta de passar algum tempo pensando sobre xadrez, vale a pena considerar o Scid.

Biblioteca GNU oSIP

A RFC2543 [12] descreve o SIP, (de Session Initiation Protocol, ou "Protocolo de Iniciação de Sessão"), um protocolo usado para iniciar, modificar e terminar sessões de multimídia. O SIP foi inventado como uma alternativa leve ao H.323 para permitir particularmente telefones pela Internet em software ou hardware. Entre outras coisas, ele permite que proxies atuem como gateways entre redes e registrars (ou "registradores") para localizar usuários dinâmicos.

Esse protocolo mantém uma -- intencional -- semelhança com os protocolos MAIL e HTTP, e da mesma forma que hoje é possível enviar um e-mail para mim através de "mailto:greve@gnu.org,", o SIP tornará possível um dia me telefonar através da URL "sip:greve@gnu.org".

Dado que mais e mais companhias mudam do H.323 para o SIP, e dado que a versão 5 do protocolo UMTS é baseada no SIP, torna-se cada vez mais importante implementar esse protocolo em Software Livre.

A biblioteca GNU oSIP [13], de "Omnibus SIP" é uma implementação Livre sob a LGPL, Licença Pública Menos Geral do GNU, e recentemente se tornou parte do Projeto GNU.

A oSIP foi escrita em C, para deliberadamente limitar as dependências de software à libc6, permitindo usá-la no maior número de sistemas possível. Isto permite usar a oSIP em dispositivos embutidos e criar as fundações dos telefones móveis para Internet baseados em Software Livre.

A maior vantagem da oSIP em comparação com projetos proprietários é que ela é muito pequena, flexível e Livre. Mas até onde Aymeric saiba, não há outro stack (ou "pilha") SIP escrita em C que se compare à oSIP.

É muito possível que a telefonia pela Internet baseada em SIP substitua totalmente o telefone atual, com seus bem conhecidos participantes.

Caso se combine a importância social e econômica da comunicaccedil;ão por telefone, com a tendência do software proprietário de criar monopólios, torna-se claro que a comunicação tem de ser possível também pelo Software Livre para ajudar a impedir um monopólio global em telecomunicações.

Por isso é fácil entender porque a oSIP é uma contribuição seminal ao projeto GNUCOMM [14] feita por Aymeric.

Libferris

Assim como o projeto anterior, a biblioteca Ferris [15] é também uma peça com a qual a maioria dos "usuários comuns" nunca vai entrar em contato direto. Mas mesmo que essas características sejam imediatamente acessíveis apenas para os desenvolvedores, acredito que seja útil ter uma certa compreensão do que está acontecendo "nos bastidores" -- útil at&eacut; mesmo para os puros usuários.

A libferrris é um VFS (de Virtual File System, ou "Sistema de Arquivos Virtual") que roda no espa&ccedi;o do usuário. Sua função é prover acesso transparente, fácil e consistente através de diferentes fontes de dados para os programas -- e portanto para os usuários.

A libferris permite fazer com que bancos de dados, bancos de dados relacionais, caixas de correio em XML, contas de FTP, sockets, arquivos compactados & de RPM, e tamém servidores de SSH2 fiquem disponíveis como estruturas de diretório transparentes. Ela também permite a extração direta de certas informações ou certos dados de certos formatos de arquivo diferentes como ID3, MPEG2 e todos os formatos de imagens suportados pelas bibliotecas ImLib2 e ImageMagick.

Os usuários ganham a vantagem de que se torna irrelevante saber onde ou em qual formato os dados estão armazenados, pois todos detalhes desse tipo são tratados pela libferris.

Os desenvolvedores não têm mais que se preocupar em suportar dezenas de tipos de formatos, ou de níveis de transporte -- tudo que eles precisam escrever é uma associação (binding) com a libferris.

Ben Martin começou a trabalhar na libferris em abril ou maio de 2001, e lançou a primeira versão já em junho de 2001.

Ele escolheu C++ como linguagem de programação do projeto pois queria fazer uso intenso da STL (de Standard Template Library). Esta também é a razão pela qual ele decidiu não ampliar o módulo GNOME-VFS para criar a libferris.

A orientação ao objeto e à fluxos (streams) de dados, torna sua expansão muito fácil e permite escrever seus próprios módulos para fazer com que outras fontes ou formatos possam ser acessados através da libferris.

Ben está buscando ajuda na forma de módulos que permitam incluir mais protocolos ou extrair informação de formatos de arquivos antes não suportados. Mas, como ele mesmo comentou, não se importaria se fornecessem hardware interessante e rápido para ele.

Mesmo que os detalhes técnicos não tenham sido discutidos aqui, espero que vocês tenham compreendido os conceitos básicos, e as características mais importantes. Definitivamente, os desenvolvedores interessados devem experimentar a libferris.

Até a próxima vez

Tivemos bastante de Admirável Mundo GNU por este mês. Como em todo n´mero, gostaria de encorajá-los a enviar e-mails com idéias, retornos, comentários e projetos interessante para o endereço usual. Muito freqüentemente, são as ideíias dos leitores que levam a seções interessantes. Por isso não hesite.

Informações
[1] Envie idéias, comentários e questões para Admirável Mundo GNU <column@brave-gnu-world.org>
[2] Página inicial do Projeto GNU http://www.gnu.org/home.pt.html
[3] Página inicial do Admirável Mundo GNU de Georg Greve http://brave-gnu-world.org/brave-gnu-world.pt.html
[4] Campanha "Nós rodamos GNU" http://www.gnu.org/brave-gnu-world/rungnu/rungnu.pt.html
[5] Página inicial do Rocks'n'Diamonds http://www.artsoft.org/rocksndiamonds/
[6] Página inicial do Mirror Magic http://www.artsoft.org/mirrormagic/
[7] Página inicial do T.E.G. ("Tienes Empanadas Graciela") http://teg.sourceforge.net
[8] JTEG home page http://jteg.sourceforge.net
[9] Página inicial do GNU Chess http://www.gnu.org/software/chess
[10] Página inicia do XBoard & do WinBoard http://www.tim-mann.org/xboard.html
[11] Página inicial do SCID http://scid.sourceforge.net
[12] RFC2543 http://www.ietf.org/rfc/rfc2543.txt
[13] Página inicial da biblioteca GNU oSIP http://www.gnu.org/software/osip/
[14] Página inicial do GNUCOMM http://www.gnu.org/software/gnucomm/
[15] Página inicial da Libferris http://witme.sourceforge.net/libferris.web

[ número anterior | página inicial do Admirável Mundo GNU | próximo número ]

Retornar para página inicial do GNU.

Envie consultas & questões sobre a FSF & o GNU para gnu@gnu.org.
Também existem outras formas de contactar a FSF.

Envie comentários sobre o Admirável Mundo GNU de Georg Greve (em inglês ou alemão) para column@gnu.org,
envie comentários sobre estas páginas na Web para webmasters@www.gnu.org,
envie outras questões para gnu@gnu.org.

Copyright (C) 2001 Georg C. F. Greve
Tradução para o português por H. Fernandes e Fernando Lozano.

É dada permissão para fazer e distribuir cópias literais deste transcrito, desde que o copyright e este aviso de permissão sejam mostrados.

Last modified: Mon Apr 15 22:55:31 BRT 2002