Mosaico Livre

DiceDnd 1.1

Publicado em desenvolvimento, linux, mobile, open source, python por claudiotorcato em 29 setembro 2009

Depois de um final de semana complicado e acamado, voltei a escrever na segunda-feira os melhoramentos do DiceDnd. Pretendia melhorar o visual, habilitar o modo fullscreen e ainda fazer um pacote debian para distribuir o programa. Devido às dificuldades encontradas, fiquei somente no melhoramento visual. Pois bem, tirei umas fotos do aplicativo funcionando (não descobri uma função print screen no N800) e ainda estou disponibilizando uma nova versão abaixo.

Vou ficar devendo o fullscreen e o pacote.

DiceDnd no Nokia N800

DiceDnd no Nokia N800

DiceDnD com o resultado da jogada de dados

DiceDnD com o resultado da jogada de dados

fonte do dicednd.py (atualizado)

#!/usr/bin/python2.5

import osso
import gtk
import hildon

def labela(texto):
    fonte = '%s'
    etiqueta = gtk.Label(fonte % texto)
    etiqueta.set_use_markup(True)
    return etiqueta

def string_jogada(vezes, dado, soma):
    if soma > 0:
        sinal = '+'
    elif soma == 0:
        sinal = ''
    else:
        sinal = '-'
    return '%dd%d%s%s' % (vezes, dado, sinal, abs(soma) or '')

class DiceDnD(hildon.Program):
    def __init__(self):
        self.dado_atual = 0
        self.vezes = 0
        self.soma = 0
        hildon.Program.__init__(self)
        self.window = hildon.Window()
        self.window.set_title('DiceDnd')
        self.window.set_border_width(40)
        self.window.connect("destroy", self.quit)
        self.add_window(self.window)

        tabela = gtk.Table(5,4,False)
        self.window.add(tabela)        

        self.dado4 = gtk.Button()
        self.dado4.add(labela('4'))
        self.dado6 = gtk.Button()
        self.dado6.add(labela('6'))
        self.dado8 = gtk.Button()
        self.dado8.add(labela('8'))
        self.dado10 = gtk.Button()
        self.dado10.add(labela('10'))
        self.dado12 = gtk.Button()
        self.dado12.add(labela('12'))
        self.dado20 = gtk.Button()
        self.dado20.add(labela('20'))
        self.botaoMais = gtk.Button()
        self.botaoMais.add(labela('+'))
        self.botaoMenos = gtk.Button()
        self.botaoMenos.add(labela('-'))
        self.botaoJogar = gtk.Button()
        self.botaoJogar.add(labela('Jogar'))
        self.frame = gtk.Frame()
        self.montagem = gtk.Label('Jogada')
        self.frame.add(self.montagem)

        tabela.attach(self.dado4,0,1,0,1)
        tabela.attach(self.dado6,1,2,0,1)
        tabela.attach(self.dado8,2,3,0,1)
        tabela.attach(self.dado10,0,1,1,2)
        tabela.attach(self.dado12,1,2,1,2)
        tabela.attach(self.dado20,2,3,1,2)
        tabela.attach(self.botaoMais,0,1,2,3)
        tabela.attach(self.botaoJogar,1,2,2,3)
        tabela.attach(self.botaoMenos,2,3,2,3)
        tabela.attach(self.frame,0, 3, 3, 4)

        self.dado4.connect('clicked',self.preparar,4)
        self.dado6.connect('clicked',self.preparar,6)
        self.dado8.connect('clicked',self.preparar,8)
        self.dado10.connect('clicked',self.preparar,10)
        self.dado12.connect('clicked',self.preparar,12)
        self.dado20.connect('clicked',self.preparar,20)
        self.botaoMais.connect('clicked',self.incrementar,1)
        self.botaoMenos.connect('clicked',self.incrementar,-1)
        self.botaoJogar.connect('clicked',self.mostrar)

        self.window.show_all()

    def mostrar(self, button):
        if self.dado_atual == 0:
            return
        import random
        total = 0
        for i in range(self.vezes):
            total += random.randint(1,self.dado_atual)
        total = total + self.soma
        jogada = string_jogada(self.vezes, self.dado_atual, self.soma)
        self.show_message('%s' % total)

    def preparar(self, button,valor):
        if valor  self.dado_atual:
            self.dado_atual = valor
            self.vezes = 1
            self.soma = 0
        else:
            self.vezes += 1
        self.montagem.set_text(string_jogada(self.vezes, self.dado_atual, self.soma))

    def incrementar(self, button,valor):
        self.soma = self.soma + valor
        self.montagem.set_text(string_jogada(self.vezes, self.dado_atual, self.soma))

    def show_message(self, message):
        dlg = hildon.Note('information', (self.window, message))
        dlg.run()
        dlg.destroy()
        #pango_markup = '%s\n%s' % ('DiceDnD', message)
        #hildon.hildon_banner_show_information_with_markup(gtk.Label(''), None, pango_markup)

    def quit(self, evt):
        gtk.main_quit()

    def run(self):
        gtk.main()

def main():
    prog = DiceDnD()
    prog.run()

if __name__ == "__main__":
    main()

DiceDnd

Publicado em desenvolvimento, linux, mobile, python por claudiotorcato em 26 setembro 2009
Os dados usados no RPG D&D

Os dados usados no RPG D&D

A minha idéia exploratória de criar um aplicativo para gerar jogada de dados no meu N800  ocupou umas horas da noite de sexta e início de madrugada do sábado.

O objetivo da aplicação é bem simples. Eu vou voltar a mestrar campanhas de RPG. Comprei o recente D&D 4ª Edição em português mais uma aventura para personagens iniciantes. Não tenho todos os tipos de dados necessários. São 6 tipos, por quantidade de faces: 4, 6, 8, 10, 12 e 20. Assim, queria simular a parada de dados pelo meu N800, um internet tablet da Nokia.

Uma das principais linguagens para programar nesses dispositivos é Python. Apesar de não conhecer muito a biblioteca Gtk (biblioteca gráfica), conheço a linguagem razoavelmente bem, por isso acreditava que conseguiria implementar o aplicativo no final de semana.

A primeira providência foi procurar documentação. A idéia do projeto já estava toda na minha cabeça mas não sabia por onde começar. Depois de um tempo, encontrei algumas coisas. Foram importantes os seguintes documentos:

  • http://www.pygtk.org/pygtktutorial/
  • http://pymaemo.garage.maemo.org/documentation.html
  • http://gpodder.org/ (seu código-fonte)

A versão do sistema operacional é o OS 2008 (Diablo). O Python 2.5 já estava instalado. De fato, não precisei instalar outra coisa. Algumas documentações diziam que eu tinha de instalar o interpretador da linguagem. Talvez eu tenha feito isso algum tempo atrás.

Outra coisa que ajudou bastante, para ir escrevendo e testando rapidamente, foi acessar via SSH o dispositivo pelo Nautilus (num notebook com Ubuntu). Criei o arquivo da aplicação no cartão do N800 e depois abrir com o editor TextFlow. Daí era só escrever, salvar e ir no PDA executar a aplicação.

O cliente e servidor do SSH não vem instalado por default no N800. Nem o terminal. Por ele é que eu rodava o Python. Pelo notebook, eu usava também um terminal para acessar o N800 via ssh. Era útil para testar algumas coisas no interpretador interativo do Python.

As próximas tarefas envolvem melhorar o aspecto visual da aplicação e preparar um instalador para ficar mais fácil de dispobilizar. O código-fonte encontra-se abaixo:

#!/usr/bin/python2.5

import osso
import gtk
import hildon

def string_jogada(vezes, dado, soma):
    if soma > 0:
        sinal = '+'
    elif soma == 0:
        sinal = ''
    else:
        sinal = '-'
    return '%dd%d%s%s' % (vezes, dado, sinal, abs(soma) or '')

class DiceDnD(hildon.Program):
    def __init__(self):
        self.dado_atual = 0
        self.vezes = 0
        self.soma = 0
        hildon.Program.__init__(self)
        self.window = hildon.Window()
        self.window.set_title('DiceDnd')
        self.window.connect("destroy", self.quit)
        self.add_window(self.window)

        tabela = gtk.Table(5,4,True)
        self.window.add(tabela)

        self.dado4 = gtk.Button('4')
        self.dado6 = gtk.Button('6')
        self.dado8 = gtk.Button('8')
        self.dado10 = gtk.Button('10')
        self.dado12 = gtk.Button('12')
        self.dado20 = gtk.Button('20')
        self.botaoMais = gtk.Button('+')
        self.botaoMenos = gtk.Button('-')
        self.botaoJogar = gtk.Button('Jogar')
        self.frame = gtk.Frame()
        self.montagem = gtk.Label('Jogada')
        self.frame.add(self.montagem)

        tabela.attach(self.dado4,0,1,0,1)
        tabela.attach(self.dado6,1,2,0,1)
        tabela.attach(self.dado8,2,3,0,1)
        tabela.attach(self.dado10,0,1,1,2)
        tabela.attach(self.dado12,1,2,1,2)
        tabela.attach(self.dado20,2,3,1,2)
        tabela.attach(self.botaoMais,0,1,2,3)
        tabela.attach(self.botaoJogar,1,2,2,3)
        tabela.attach(self.botaoMenos,2,3,2,3)
        tabela.attach(self.frame,0, 3, 3, 4)

        self.dado4.connect('clicked',self.preparar,4)
        self.dado6.connect('clicked',self.preparar,6)
        self.dado8.connect('clicked',self.preparar,8)
        self.dado10.connect('clicked',self.preparar,10)
        self.dado12.connect('clicked',self.preparar,12)
        self.dado20.connect('clicked',self.preparar,20)
        self.botaoMais.connect('clicked',self.incrementar,1)
        self.botaoMenos.connect('clicked',self.incrementar,-1)
        self.botaoJogar.connect('clicked',self.mostrar)

        self.window.show_all()

    def mostrar(self, button):
        if self.dado_atual == 0:
            return
        import random
        total = 0
        for i in range(self.vezes):
            total += random.randint(1,self.dado_atual)
        total = total + self.soma
        jogada = string_jogada(self.vezes, self.dado_atual, self.soma)
        self.show_message('%s' % total)

    def preparar(self, button,valor):
        if valor  self.dado_atual:
            self.dado_atual = valor
            self.vezes = 1
            self.soma = 0
        else:
            self.vezes += 1
        self.montagem.set_text(string_jogada(self.vezes, self.dado_atual, self.soma))

    def incrementar(self, button,valor):
        self.soma = self.soma + valor
        self.montagem.set_text(string_jogada(self.vezes, self.dado_atual, self.soma))

    def show_message(self, message):
        dlg = hildon.Note('information', (self.window, message))
        dlg.run()
        dlg.destroy()
        #pango_markup = '%s\n%s' % ('DiceDnD', message)
        #hildon.hildon_banner_show_information_with_markup(gtk.Label(''), None, pango_markup)

    def quit(self, evt):
        gtk.main_quit()

    def run(self):
        gtk.main()

def main():
    prog = DiceDnD()
    prog.run()

if __name__ == "__main__":
    main()

Idéia exploratória

Publicado em desenvolvimento, mobile, python por claudiotorcato em 24 setembro 2009

Uma boa idéia me surgiu agora, útil para o momento e ótima pedida para iniciar a exploração no mundo da programação de dispositivos Nokia que usam o sistema operacional Maemo: um rolador de dados.

Bobo, né? Inclusive, acho que já existe um. Mas é diferente do que eu estou pensando.

Gostaria que a tela do aplicativo mostrasse um quadrado com todos os tipos de dados usados no RPG D&D ou seja, os de 4, 6, 8, 10, 12 e 20 faces. E mais três botões: para o sinal de mais, o de menos e o de igual.

Ao apertar um dos dados ele saberá que quero jogar com ele. Ele esperará eu apertar no sinal de igual para a operação randômica executar. Os sinais servem para aumentar ou diminuir o que resultar do dado. Cada vez que eu apertar num deles incrementa-se ou descrementa-se em um.

Logicamente vou escrever esse aplicativo em Python. Vamos ver se tenho a sorte e produtividade de terminá-lo ainda neste final de semana. Quando concluir, posto por aqui.

Da prática para a especulação

Publicado em Uncategorized por claudiotorcato em 4 agosto 2009

Especulam se haverá aumento da compra de imóveis ao longo dos próximos anos. Vamos citar exemplos práticos. Sei de várias pessoas próximas a mim que estão planejando comprar um imóvel (casa ou apartamento), neste ano ou no próximo ano. E grande parte deles não é sequer o foco do badalado Minha Casa, Minha Vida.

O problema em Teresina, não sei em outros lugares, é o aumento do preço dos imóveis. Uma parte considera os preços propostos muito irreal. Resta saber se nos meses que se seguem ou mesmo em 2010 os preços começam a baixar.

Socialismo fracassou, capitalismo quebrou: o que vem a seguir?

Publicado em Uncategorized por claudiotorcato em 16 abril 2009

Esse artigo eu encontrei no site do Paulo Henrique Amorim, o Conversa Afiada. Comenta um assunto que eu já venho lendo e notando em diversos lugares da Internet. É uma nova forma de ver o mercado e o rumo da política.

A prova de uma política progressista não é privada, mas sim pública. A prioridade não é o aumento do lucro e do consumo, mas sim a ampliação das oportunidades e, como diz Amartya Sen, das capacidades de todos por meio da ação coletiva. Isso significa iniciativa pública não baseada na busca de lucro. Decisões públicas dirigidas a melhorias sociais coletivas com as quais todos sairiam ganhando. Esta é a base de uma política progressista, não a maximização do crescimento econômico e da riqueza pessoal. A análise é do historiador britânico Eric Hobsbawm

Eric Hobsbawm – The Guardian Seja qual for o logotipo ideológico que adotemos, o deslocamento do mercado livre para a ação pública deve ser maior do que os políticos imaginam. O século XX já ficou para trás, mas ainda não aprendemos a viver no século XXI, ou ao menos pensá-lo de um modo apropriado. Não deveria ser tão difícil como parece, dado que a idéia básica que dominou a economia e a política no século passado desapareceu, claramente, pelo sumidouro da história. O que tínhamos era um modo de pensar as modernas economias industriais – em realidade todas as economias -, em termos de dois opostos mutuamente excludentes: capitalismo ou socialismo.

Conhecemos duas tentativas práticas de realizar ambos sistemas em sua forma pura: por um lado, as economias de planificação estatal, centralizadas, de tipo soviético; por outro, a economia capitalista de livre mercado isenta de qualquer restrição e controle. As primeiras vieram abaixo na década de 1980, e com elas os sistemas políticos comunistas europeus; a segunda está se decompondo diante de nossos olhos na maior crise do capitalismo global desde a década de 1930. Em alguns aspectos, é uma crise de maior envergadura do que aquela, na medida em que a globalização da economia não estava então tão desenvolvida como hoje e a economia planificada da União Soviética não foi afetada. Não conhecemos a gravidade e a duração da atual crise, mas sem dúvida ela vai marcar o final do tipo de capitalismo de livre mercado iniciado com Margareth Thatcher e Ronald Reagan.

A impotência, por conseguinte, ameaça tanto os que acreditam em um capitalismo de mercado, puro e desestatizado, uma espécie de anarquismo burguês, quanto os que crêem em um socialismo planificado e descontaminado da busca por lucros. Ambos estão quebrados. O futuro, como o presente e o passado, pertence às economias mistas nas quais o público e o privado estejam mutuamente vinculados de uma ou outra maneira. Mas como? Este é o problema que está colocado diante de nós hoje, em particular para a gente de esquerda.

Ninguém pensa seriamente em regressar aos sistemas socialistas de tipo soviético, não só por suas deficiências políticas, mas também pela crescente indolência e ineficiência de suas economias, ainda que isso não deva nos levar a subestimar seus impressionantes êxitos sociais e educacionais. Por outro lado, até a implosão do mercado livre global no ano passado, inclusive os partidos social-democratas e moderados de esquerda dos países do capitalismo do Norte e da Australásia estavam comprometidos mais e mais com o êxito do capitalismo de livre mercado.

Efetivamente, desde o momento da queda da URSS até hoje não recordo nenhum partido ou líder que denunciasse o capitalismo como algo inaceitável. E nenhum esteve tão ligado a sua sorte como o New Labour, o novo trabalhismo britânico. Em suas políticas econômicas, tanto Tony Blair como Gordon Brown (este até outubro de 2008) podiam ser qualificados sem nenhum exagero como Thatchers com calças. O mesmo se aplica ao Partido Democrata, nos Estados Unidos.

A idéia básica do novo trabalhismo, desde 1950, era que o socialismo era desnecessário e que se podia confiar no sistema capitalista para fazer florescer e gerar mais riqueza do que em qualquer outro sistema. Tudo o que os socialistas tinham que fazer era garantir uma distribuição eqüitativa. Mas, desde 1970, o acelerado crescimento da globalização dificultou e atingiu fatalmente a base tradicional do Partido Trabalhista britânico e, em realidade, as políticas de ajudas e apoios de qualquer partido social democrata. Muitas pessoas, na década de 1980, consideraram que se o barco do trabalhismo não queria ir a pique, o que era uma possibilidade real, tinha que ser objeto de uma atualização.

Mas não foi. Sob o impacto do que considerou a revitalização econômica thatcherista, o New Labour, a partir de 1997, engoliu inteira a ideologia, ou melhor, a teologia, do fundamentalismo do mercado livre global. O Reino Unido desregulamentou seus mercados, vendeu suas indústrias a quem pagou mais, deixou de fabricar produtos para a exportação (ao contrário do que fizeram Alemanha, França e Suíça) e apostou todo seu dinheiro em sua conversão a centro mundial dos serviços financeiros, tornando-se também um paraíso de bilionários lavadores de dinheiro. Assim, o impacto atual da crise mundial sobre a libra e a economia britânica será provavelmente o mais catastrófico de todas as economias ocidentais e o com a recuperação mais difícil também.

É possível afirmar que tudo isso já são águas passadas. Que somos livres para regressar à economia mista e que a velha caixa de ferramentas trabalhista está aí a nossa disposição – inclusive a nacionalização -, de modo que tudo o que precisamos fazer é utilizar de novo essas ferramentas que o New Labour nunca deixou de usar. No entanto, essa idéia sugere que sabemos o que fazer com as ferramentas. Mas não é assim.

Por um lado, não sabemos como superar a crise atual. Não há ninguém, nem os governos, nem os bancos centrais, nem as instituições financeiras mundiais que saiba o que fazer: todos estão como um cego que tenta sair do labirinto tateando as paredes com todo tipo de bastões na esperança de encontrar o caminho da saída.

Por outro lado, subestimamos o persistente grau de dependência dos governos e dos responsáveis pelas políticas às receitas do livre mercado, que tanto prazer lhes proporcionaram durante décadas. Por acaso se livraram do pressuposto básico de que a empresa privada voltada ao lucro é sempre o melhor e mais eficaz meio de fazer as coisas? Ou de que a organização e a contabilidade empresariais deveriam ser os modelos inclusive da função pública, da educação e da pesquisa? Ou de que o crescente abismo entre os bilionários e o resto da população não é tão importante, uma vez que todos os demais – exceto uma minoria de pobres – estejam um pouquinho melhor? Ou de que o que um país necessita, em qualquer caso, é um máximo de crescimento econômico e de competitividade comercial? Não creio que tenham superado tudo isso.

No entanto, uma política progressista requer algo mais que uma ruptura um pouco maior com os pressupostos econômicos e morais dos últimos 30 anos. Requer um regresso à convicção de que o crescimento econômico e a abundância que comporta são um meio, não um fim. Os fins são os efeitos que têm sobre as vidas, as possibilidades vitais e as expectativas das pessoas.

Tomemos o caso de Londres. É evidente que importa a todos nós que a economia de Londres floresça. Mas a prova de fogo da enorme riqueza gerada em algumas partes da capital não é que tenha contribuído com 20 ou 30% do PIB britânico, mas sim como afetou a vida de milhões de pessoas que ali vivem e trabalham. A que tipo de vida têm direito? Podem se permitir a viver ali? Se não podem, não é nenhuma compensação que Londres seja um paraíso dos muito ricos. Podem conseguir empregos remunerados decentemente ou qualquer tipo de emprego? Se não podem, de que serve jactar-se de ter restaurantes de três estrelas Michelin, com alguns chefs convertidos eles mesmos em estrelas. Podem levar seus filhos à escola? A falta de escolas adequadas não é compensada pelo fato de que as universidades de Londres podem montar uma equipe de futebol com seus professores ganhadores de prêmios Nobel.

A prova de uma política progressista não é privada, mas sim pública. Não importa só o aumento do lucro e do consumo dos particulares, mas sim a ampliação das oportunidades e, como diz Amartya Sen, das capacidades de todos por meio da ação coletiva. Mas isso significa – ou deveria significar – iniciativa pública não baseada na busca de lucro, sequer para redistribuir a acumulação privada. Decisões públicas dirigidas a conseguir melhorias sociais coletivas com as quais todos sairiam ganhando. Esta é a base de uma política progressista, não a maximização do crescimento econômico e da riqueza pessoal.

Em nenhum âmbito isso será mais importante do que na luta contra o maior problema com que nos enfrentamos neste século: a crise do meio ambiente. Seja qual for o logotipo ideológico que adotemos, significará um deslocamento de grande alcance, do livre mercado para a ação pública, uma mudança maior do que a proposta pelo governo britânico. E, levando em conta a gravidade da crise econômica, deveria ser um deslocamento rápido. O tempo não está do nosso lado.

Artigo publicado originalmente no jornal The Guardian.

Tradução do inglês para o espanhol: S. Segui, integrante dos coletivos Tlaxcala, Rebelión e Cubadebate.

Tradução do espanhol para o português: Katarina Peixoto

Sistema de RPG: Compacto

Publicado em rpg por claudiotorcato em 13 fevereiro 2009

Simplicidade, velocidade de jogo, ênfase à interpretação. Assim é COMPACTO, o meu pequeno sistema genérico para aventuras rápidas onde voce pode por em prática aquela sua idéia maravilhosa que acabou de florar de sua mente doentia de Mestre (com todo o respeito!).

Ele não foi feito para ser realista, apenas jogável. Não há atributos como outros sistemas, mas isto pode ser remediado. Para diferenciar um personagem de outro, temos o que chamo de Propriedade. Voce escolhe as Propriedades assim que cria o personagem. Se for uma aventura com poucos jogadores, um ou dois, cada personagem poderia ter até quatro Propriedades, enquanto que com mais, uns três Propriedades. Eles servem para determinar se um personagem consegue realizar uma atividade, ação numa determinada área. A decisão é do Mestre, mas pode ser negada, se isto afeta a História de forma negativa.

PROPRIEDADES

  • Tecnologia
  • Recursos
  • Combate
  • Poder Paranormal
  • do Local
  • Beleza
  • Resistência
  • Fortitude
  • Furtividade
  • Sobrevivência
  • Esportes
  • Ladino
  • Artista
  • Contatos
  • Cuidados Médicos

O Poder Paranormal é um poder de acordo com o Mestre e as suas idéias de aventura. Pode ser magia, psiquismo, mutantismo, entre outros. Mas genericamente, para aproveitar as regras, eu criei alguns poderes úteis:

  • Regeneração
    O personagem usa uma rodada para recuperar uma Porção de Vida. Não pode se regenerar se foi ferido na mesma rodada.
  • Proteção
    Reduz em uma Classe de Dano o ataque do oponente. Este poder deve ser ativado, usando uma rodada.
  • Super Força
    Aumenta em uma Classe os ataques que usem da força física, como Combate Desarmado, Luta com Armas Brancas. Este poder deve ser ativado, e gasta uma rodada.

Recursos quer representar recursos financeiros, posses. Jogue um dado, e veja o resultado. Este será a quantidade de coisas raras/caras que o Personagem possui. Alguns itens:

  • Colete (Reduz a Classe de Dano Recebido em um nível)
  • Celular
  • Automotor
  • Casa/Apartamento
  • Computador
  • Armas de Fogo

O Combate, aumenta sua Classe de Dano em uma. Indica conhecimento sobre armas, e como usá-las com eficiência.

Esportes indica que o Personagem tem uma grande facilidade em aprender algum esporte. Normalmente se dar bem com várias modalidades. O Personagem ganha iniciativa nas rodadas.

Resistência indica aquelas pessoas difíceis de adoecer, e que resitem melhor às durezas da natureza e do esforço físico. Em termo de regras, o Personagem possui uma porção de vida a mais, ou seja, 5. Em situações onde haja necessidade de resistência física e psicológica, ele sairar-se bem normalmente. O Personagem morre apenas com 6 na Tabela de Morte.

Tecnologia. Há aqueles qeu aprendem rapidamente a utilizar qualquer máquina por simples analogia ao que se conhece, ou através de uma rápida explicação. Sempre estar atrás de conhecer novas tecnologias. É capaz de consertar máquinas e ter uma idéia para que serve uma máquina desconhecida.

Conhecimento do Local. É muito útil em aventuras. Muitas vezes as pistas para a solução de algum mistério podem ser reveladas por alguém que mora ou trabalha em algum lugar. Ou então, o objeto que apenas é vendido em alguma loja. Estas coisas fazem o Personagem útil na medida que conhece os lugares por andar bastante. Aumenta o leque dos tipos de Personagem, como, taxista, office boy, entregador de pizza, jornaleiro, carteiro, policial, bombeiro, entre outros.
Dependendo do histórico do Personagem, pode-se saber quais espécies de lugares ele conhece e assim avaliar o nível de dificuldade nos teste. Um playboy ou uma sociality são capazes de conhecer diversos “points” da alta sociedade como restaurantes, lojas, imobiliárias, decoradores, casas de pessoas públicas, etc.

Beleza. Não dar para negar, mas a beleza faz uma diferença e tanto na sociedade. As pessoas belas conseguem emprego mais facilmente, conhecem pessoas, atraem olhares e manipulam melhor o sexo oposto.

O Artista normalmente é versátil, faz de tudo um pouco. Sabe sobre música, artes pláticas, cinema, escultura, televisão, teatro, literatura e dança. Conhece muitos autores de obras, é capaz de associá-los, criar obras em algumas áreas, e reconhece um bom trabalho artístico.

Furtividade permite ao Personagem atravessar lugares sem se fazer notar. É capaz de esconder-se com facilidade numa multidão, em ambientes escuros; emboscar, espionar, entre tantas outras.

Cuidados Médicos. Indispensável em Aventuras. Capaz de salvar da morte certa Personagens, o médico ou curandeiro é muito bem vindo com companheiro. Esta Propriedade recupera 1 PV ou livra o Personagem da Inconsciência. Oferece a capacidade de reconhecer doenças, remédios, drogas, produtso químicos, ervas e outras coisas. É possível criar venos e outras coisas.

Sobrevivência é a palavra-chave para aqueles que desejam viver muitas aventuras. Numa floresta ou outras regiões, o PJ sabe onde encontrar água, orientar-se com o auxílio dos astros. Reconhece o comestível e o venenoso. Sabe tratar dos animais que caça, faz fogo, constrói proteção contra o sol e a chuva; fabrica armadilhas e armas rudimentares de caça.
Numa cidade, sempre anda com o necessáio para as eventualidades: kit de emergência, lanterna, ferramentas, cartão de crédito, mapas, agenda de telefones, computadores, entre outras coisas. Sempre sabe onde encontrar coisas que precisa para o dia-a-dia, como número de telefone da pizzaria favorita, empresa de gás, energia e abastecimento de água, entre outras coisas. Se possuir um carro, compreende o necessário para tirá-lo do prego, sabe concertar as coisas da casa, como luz, encanamentos, etc.

Existem os famosos Pontos de Vida, aqui chamados de Porções de Vida (PV). São apenas 4 para todos os personagens. Cada ferimento extingue uma Porção. Quando todas se forem, uma tabela (Tabela de Morte) deve ser usada para saber o que realmente acontece com o PJ. Um Personagem ferido recupera uma Porção por hora, ou de acordo com o Mestre. Cuidados Médicos podem recuperar uma Porção de alguém ferido.

TABELA DE ACERTO E DANO

TABELA DE ACERTO E DANO

Classe/Resultado ERRO FERIDO CRÍTICO
A 1 2 3 4 5 6
B 1 2 3 4 5 6
C 1 2 3 4 5 6
D 1 2 3 4 5 6
E 1 2 3 4 5 6
F 1 2 3 4 5 6
G 1 2 3 4 5 6
H 1 2 3 4 5 6
I 1 2 3 4 5 6
J 1 2 3 4 5 6

FORÇA E ARMAS

  • lutar desarmado
CLASSE A
  • ataque com tocha, mordida, pedrada
CLASSE B
  • faca, adaga, flecha
CLASSE C
  • espada, pistola, machado, besta
CLASSE D
  • metralhadora
CLASSE E

DIFICULDADE DOS TESTES:

  • FÁCIL: Sucesso automático para quem tem a Propriedade adequada; (3,4,5,6) para os que não tem.
  • MODERADO: Com Propriedade: (2,3,4,5,6); Sem (4,5,6).
  • MEDIANO: Com Propriedade: (3,4,5,6); Sem (5,6).
  • DIFÍCIL: Com Propriedade: (4,5,6); Sem (6).
  • M. DIFÍCIL: Com Propriedade: (5,6); Sem, é Impossível.

Quando é sua vez de agir, e for atacar alguém, jogue um 1d6. Dependendo da Classe de Dano do Ataque, veja o resultado:
ERRO: Significa que voce errou o ataque.
FERIDO: Apague uma porção.
CRÍTICO: Veja na Tabela de Morte; ou opcionalmente, apague duas porções.

TABELA DE MORTE

1 2 Consciente Sem Movimento
3 4 Inconsciente
5 6 Morto Realmente

A tabela a seguir serve para aqueles que ficaram inconscientes e podem precisar de cuidados médicos.

INCONSCIENTE
[1/2] ==> Não precisa de medicação. Volta a si, com uma porção em algum tempo, ou até ser acordado.
[3/4] ==> Medicação em 1 hora.
[5/6] ==> Medicação em 4 rodadas.

EXPERIÊNCIA

Se voce estiver com vontade de fazer campanhas com COMPACTO então temos a solução. Como o sistema não é para dar dor de cabeça aos Mestres, resolvi não deixar por conta do Mestre a tarefa árdua de dar os Pontos de Experiência. Aqui não há pontos de experiência. No final da Aventura, o Mestre verifica com uma jogada de dado, se o Personagem sobe ou não de Nível. Subir de Nível significa que o Personagem estar mais Experiente e Poderoso. Cada Nível alcançado o Personagem recebe um ponto em ANIMA que é um focus que pode ser usado para várias coisas.

Um personagem recém criado tem Nível 0 e Nenhum Anima. Dependendo do Mestre, os Personagens podem iniciar com um ou mais pontos de Anima.

Um ponto de Anima serve para as seguintes coisas:

  • Reduzir a dificuldade na Avaliação de Propriedade. Recupera no Final da Aventura.
  • Comprar/Pagar com Recursos alguma coisa que será utilizada apenas uma vez. Por exemplo: Pagar a diária de um hotel; Subornar alguém com dinheiro, etc. Recupera no Final da Aventura.
  • Trocar a Morte Imediata (aquela jogada que dar morte) por um Ferimento. Recupera no Final da Aventura.
  • Comprar alguma coisa da lista de recursos. O ponto de Anima é gasto definitivamente.

Exemplo de Personagem

Heitor, o Policial.
Nível: 2
Anima: 1/1
Conhecimentos: Combate, Local, Contatos.
Itens: Pistola (Comprado com um ponto de Anima).
PV: 4

Nave Negra

Publicado em rpg por claudiotorcato em 13 fevereiro 2009

Abaixo, uma aventura para o RPG Compacto, criado por mim.

Ano 2430 DC. Uma tripulação foi enviada ao extremo de nossa galáxia para investigar uma enorme nave escura como o breo do vácuo. O objetivo é entrar na nave e obter material para análise e possivelmente enviá-los para a Terra. Mal sabem eles que alguns corpos de seres alienígenas estarão lá dentro, congelados por eras, e que eles despertaram essas criaturas.

É uma aventura sobre horror do desconhecido. É uma missão atípica para os tripulantes da Fenda do Céu, que normalmente investigam asteróides gigantescos em busca de minérios. O plano para o Mestre é inserir na mente dos jogadores o medo, a primitiva emoção do homem, por meio do desconhecido. Trazer criaturas congeladas para a nave não parece ser uma boa idéia mas ordens são ordens. Eles convidaram alguém desconhecido para o seu lar e irão se arrepender amargamente.

A Fenda do Céu deve ter entre os seus tripulantes cientistas, engenheiros, pilotos, estivadores (para comandarem o Exoesqueleto Cargueiro) e uma pessoa de serviços gerais. A nave não é muito grande mas comporta facilmente e com sobras a tripulação de umas 10 pessoas. Algumas pessoas talvez não sejam da tripulação mas apenas um carona, para outro ponto da galáxia (estão aí mesmo para morrer).

É interessante que a Fenda permaneça ainda há pelo menos 10 km da nave extraterrestre. Acredita-se que o comando decidirá por trazer somente um espécime. O espécime será examinado por um cientista maravilhado com a descoberta. Mensagens para a base mais próxima devem está há bastante tempo de viagem. O suficiente para que algo aconteça na nave sem que ocorra auxílio externo enquanto durá a aventura.

O cientista maravilhado vai ficar sozinho com a criatura, enquanto os demais fazem sua refeição e descansam um pouco antes de novos comandos. Enquanto isso o corpo descongela aos poucos, ajudando assim nos exames preliminares. Sim, pois o cientista não vai conseguir realizar a autópsia, pois morrerá antes disso. E que carnificina! Carne e sangue no chão, no teto e nas paredes. E a criatura esta solta na nave. Onde ela está? Quando descobrirão o que aconteceu com o cientista até que outros tenham morrido?

Nesse ponto é importante que a tripulação seja morta com exceção dos PJs. Em algum momento eles sairão dos dormitórios para alguma tarefa rotineira, ou para tomar um café antes de dormirem. E verão muito sangue onde antes havia um ser vivente. Para dar uma sensação maior de terror, faça com que somente um personagem saia dos dormitórios para ir a um determinado local da nave. O melhor é que o Mestre não diga no momento em que tudo está calmo, mas antes do grupo ir à nave e trazer a criatura. Como se fosse uma tarefa que o PJ já sabia que deveria realizar àquela hora. O cara vai tranqüilo (nem tanto) fazendo aquela tarefinha rotineira, tipo calibrar os jatos propulsores, fazer a leitura de CO², etc., ou ainda chamar pessoalmente o cientista abestalhado. Pense no medo, quando o cidadão chega no laboratório e ver aqueles pedacinhos de carne espalhados pelo aposento e sua bota pisando em sanque!

Cedo ou tarde todo o grupo de PJs saberá que o bicho está vivo, mas não saberão onde ele está. Talvez o grupo não seja capaz de vasculhar a nave. O local onde estão inicialmente (o dormitório) não é um bom lugar para fazer um rastreamento visual de toda a nave. Agora espera-se que o grupo tenha coragem de ir ao centro de comando da nave. Senão, melhor ainda: o medo já está em seus corações.

PODERES PARANORMAIS

Seria interessante que uma parte ou todo o grupo tivesse alguns poderes psíquicos, nada em nível tão poderoso, mas condizente com uma evolução acelerada da raça humana. Os poderes estão listados a seguir, cada um sendo como uma Propriedade. Permita que comprem somente uma Propriedade Psíquica (ou Psiônica). Criaturas sem essas Propriedades não podem realizar testes.

Telecinécia: Este poder paranormal é uma versão estendida de Proteção.

  • Muitas vezes usa-se para gerar um campo cinético em volta do psiônico ou um grupo. Durante um combate, para ativar esse escudo é necessário um teste em Nível Mediano. O escudo cairá se o psiônico receber Acerto Crítico. Para proteger um grupo à sua volta o Nível torna-se Difícil. Diminue em 1 a Classe de Acerto e Dano.
  • Muitas vezes a telecinésia é usada para derrubar ou afastar objetos. Num nível de poder mais fraco costuma servir como uma barreira que dificulta o avanço de algo ou alguma coisa. Em casos em que se usa mais poder mental (Anima) o “vento” telecinético é capaz de causar dano de contusão (normalmente devido à queda que ao impacto do “vento”). Trate o uso sem gasto de anima como uma barreira capaz de “empurrar” objetos (mesmo do tamanho de seres humanos) fazendo com que o alvo realize um teste Moderado para atravessar a barreira. Uma propriedade Resistência pode facilitar a passagem pela mesma. Já um uso de 1 Anima é capaz de levantar o “vento” causando danos. Um Anima deve corresponder à classe C, e dois à classe D, e assim por diante. Não há necessidade de teste de ativação.
  • A levitação é possível, mas somente com o gasto de pontos de Anima. 1 ponto corresponde a 40m de deslocamento horizontal e 20 de descolocamento vertical. A levitação pode ser desativada se não passar em um teste Médio quando sofrer um Acerto Crítico.

Empatia Psíquica:

O psiônico é capaz de perceber qualquer perturbação psíquica ao seu redor. Situações como quando uma pessoa muda sua emoções são captadas pelo psiônico. O mestre deve estar sempre preparado para passar essas informações para o PJ. Ele é capaz de perceber a nova emoção, mas não a anterior. Caso o alvo tenha a Propriedade Artista, ele encobre a emoção, mas não a perturbação.

  • Para ter essa habilidade o Pj deve gastar permanentemente 1 ponto de Anima. O psiônico torna-se capaz de sentir automaticamente a presença de uma inteligência que chegue a uns 5 metros dele. Ainda assim, se a criatura estiver ciente de sua presença e tiver Combate ganha a iniciativa.

Telepatia:

O personagem é capaz de se comunicar mentalmente com alguém que ele tenha tido contato visual anteriormente e deve comunicar ao mestre no momento da visualização. Não requer nenhum teste, há não ser quando estiver nas seguintes situações:

  • Com 1 porção de vida: Teste Fácil.
  • Consciente Sem Movimento: Teste Moderado.
  • Inconsciente: Teste Difícil.

Efeito da Telepatia são mais fáceis de resistir ao Grito Psíquico. Diminua a dificuldade em 1.

Grito Psíquico:

Este poder é capaz de interferir nos efeitos psiônicos alheios. Cada nível do Psiônico corresponde a (Nivel vezes 10) + 5 metros. Todos (somente psiônicos) nessa área deverão realizar um teste de acordo com o Anima gasto:

Pontos Gastos:

  • 0 (zero) – Moderado
  • 1 - Médio
  • 2 - Difícil
  • 3 - Muito Difícil

Para criaturas inteligentes sem a Propriedade (Psionismo) o efeito desse poder é dado de acordo com a tabela acima.

Para gasto de Anima com uso de poderes psiônicos seria interessante que um tempo de meditação ou descanso para recuperar 1 ponto de Anima por hora de descanso.

No caso dessa aventura a criatura possui todos esses poderes e saberá das capacidades dos PJs. Ela não permitirá ser vista, para não dar margem a um telepata ler sua mente, pois sua maior fraqueza é ser dominado automaticamente por telepatas, devido a eras de dominação de sua raça por outra. Torna-se praticamente um cãozinho dócil. Ele tentará isolar o telepata dos outros, para que possa apresentar-se pessoalmente aos outros para massacrar com suas garras e presas.

A maior diversão estará no jogo de caça e caçador dentro da nave. O mestre deve causar suspense aos jogadores, pois raramente terão oportunidade de ver a criatura antes de sua própria morte. Os PJs terão poucas armas à sua disposição na nave e elas estão num ponto distante dos alojamentos. O máximo de Classe que poderão obter com armas é D mas sem alvo de nada isso adianta.

A presença da criatura para os psiônicos é clara mas ela estará escondida pelos condutores de ar, e outras passagens e ainda nos corredores. A criatura compreende rapidamente o funcionamento de elevadores, portas automáticas, etc.

ONDE USAR AS DEMAIS PROPRIEDADES

DO LOCAL – É útil para saber detalhes sobre a nave.

FURTIVIDADE – Não muito útil contra uma criatura psiônica.

SOBREVIVÊNCIA – O Pj pode receber dicas de tática e estratégia do Mestre em algumas circunstâncias, principalmente quando as coisas ficarem chatas. Dê sempre mais de uma opção, para que eles pensem sobre o que vão fazer.

CUIDADOS MÉDIDOS – Além do óbvio, serve para saber como a criatura causa aquela sujeira (carne e sangue!).

FICHA DA CRIATURA Nível: 5 Anima: 5 Propriedades: Telepatia, Empatia, Grito; Combate, Sobrevivência, Furtividade, Resistência.

Os PJs podem ser feitos com 3 pontos de propriedade, nível 0, anima 1 (como os Mestres são generosos!).

Depois eu coloco no blog o sistema Compacto.

Bom jogo!

Nokia N800

Publicado em linux, mobile por claudiotorcato em 3 fevereiro 2009

Adquiri recentemente o Nokia N800, um internet tablet. Meu intuito na sua compra é substituir o Palm (Tungsten E2) com vantagens, no caso internet wireless e sistema operacional Linux.
A grande tarefa inicial é encontrar programas tão úteis quanto os do Palm no quesito organização pessoal. Descobri que seu foco não é organização pessoal, mas sim Internet. A vantagem na busca de softwares em relação ao Palm é que procuramos e instalamos a la Debian, ou seja, nenhuma necessidade de sincronização com o Windows.
No segundo dia de uso, atualizei o seu firmware, como recomendado. Foi uma tarefa simples. Uma coisa que não gostei nele, foi a duração da bateria, entretanto, suspeito que seu suporte a redes sem fio contribua para isso. Nesse ponto, vou ter de me acostumar a desligar o aparelho.
Outra dificuldade que tenho é em relação a ambientes com proxy; somente o browser solicita o usuário e senha, conseguindo assim acesso à Internet.
No geral estou satisfeito com meu novo brinquedo. Antes que perguntem, o N800 não é um celular. Nesse caso, recomendo que comprei os novos celulares com Android.

Verdades Imprecisas

Publicado em política por claudiotorcato em 17 janeiro 2009

Brasileiros, prestem atenção ao que a imprensa comprada quer que você faça. Parem de acreditar que jornais, telejornais e revistas são imparciais. Procurem o motivo oculto e as pessoas ocultas por trás das notícias. Isso é muito importante.

Vou citar um exemplo. A citada onda de desempregos no setor automobilístico. São empregos temporários devido à grande demanda do ano passado. O desemprego foi o maior de 1999? Mas também 2008 teve um grande crescimento do emprego! Lógico que com o crédito externo sumindo, ficaria impossível vendas de carros com grandes prazos. Tenham cuidado!

No dia a dia de vocês, vocês sentem mesmo a crise? Não é possível perceber que as notícias são mais negativas do que a sua realidade diária?

Façamos de 2009 um bom ano para nosso país.

Fonte: Vi o Mundo

Etiquetado como:

Campeão Brasileiro de Xadrez é cearense

Publicado em xadrez por claudiotorcato em 5 janeiro 2009

Como orgulhoso cearense que sou, divulgo aqui que o novo campeão brasileiro de xadrez é o cearense André Diamant.

Ele venceu o último campeão, Giovanni Vescovi, na última rodada do evento. André precisava apenas de um empate mas resolveu arriscasse em um poderoso ataque.

O atual campeão tem somente 18 anos.

Fonte: ChessBase

Errata: A partida entre Diamant e Vescovi terminou em empate, e não em vitória do cearense como foi citado. André Diamant venceu o campeonato com uma marge de somente meio ponto sobre Vescovi e Fier.