sexta-feira, 5 de dezembro de 2008

Como recuperar arquivos apagados ou depois de formatar

Já vi muita gente reclamando da sorte quando acidentalmente exclui aquele arquivo que não podia ser perdido, ou formata o Disco Rígido e depois se lembra de algo importante que foi pra vala sem Backup. Se você é uma dessas pessoas, deve saber a dor de cabeça que é. Empresas cobram olho da cara para recuperar seus arquivos, e programas que fazem o serviço, que não é 100% mas já dá pra alguma coisa, oferecem versões gratúitas que fazem quase tudo exceto deixar que você recupere seus arquivos e custam os olhos da cara para registrar e ter o programa completo com todas as funcionalidades esperada.

Para arquivos deletados, o processo é mais simples. O programa Free Undelete além de ser, como o nome diz, gratuito, ainda é um dos mais potentes da categoria. Aviso da empresa desenvolvedora é que a cópia gratuita é apenas para uso pessoal. O programa é em inglês. Se quiserem um tutorial de como usá-lo, peçam nos comentários.

Para HDs formatados, o processo é mais caro e complicado. o GetDataBack é a solução mais eficiente, mas custa míseros 79 dolares para a versão completa que permite recuperar os arquivos. a versão grátis apenas permitirá que você identifique quais arquivos são recuperáveis e quais estão perdidos para sempre. Existem downloads na internet de versões do programa com keygen, um gerador de registro que permitirá piratear o programa para que ele funcione como um pago, mas eu FORTEMENTE RECOMENDO NÃO USÁ-LOS. Primeiro porque pirataria é crime, segundo porque algumas destas versões podem vir com programas mal intencionados (adwares ou spywares) ou vírus. Mas se você acredita que vale a pena os riscos...

Agora algo realmente IMPORTANTE!
Independente do que você está tentando (des)fazer e do programa que você está usando, siga este conselho: Nunca instale o programa de recuperação no driver onde os arquivos perdidos estão, nem salve os arquivos restaurados no mesmo HD de onde foram tirados. Isso porque o arquivo pode ser recuperado enquanto não houver nada escrito por cima dele. Quanto mais coisa você colocar no HD a ser recuperado, mais difícil será recuperar uma informação específica. Como exemplo, se você for recuperar alguma coisa no seu drive C:, não instale o programa nele. tente instalar num Pen Drive ou num outro Drive. Do mesmo modo, para recuperar algo de um pen drive, não mande que os arquivos restaurados sejam escritos no mesmo pois enquanto o programa escreve, ele pode estar escrevendo por cima de alguma coisa que você ainda quer restaurar (como em alguns casos o próprio arquivo que você está restaurando).
Dito isto, desejo sinceramente boa sorte em restaurar suas informações importantes mandadas para o Void por acidente.

Qualquer dúvida, só mandar um comentário.

segunda-feira, 1 de dezembro de 2008

Salvando videos do Youtube

Uma dúvida comum: Como salvo um vídeo do youtube no meu computador?
Antes de responder isto, preciso dar uma passada em outro assunto: como os vídeos são salvos no youtube.

Quando alguém coloca um video novo no youtube, o site converte aquele vídeo em alta resolução para um outro formato, o .flv, o que é o mesmo que dizer, se você só baixar o video ele não vai funcionar do jeito que deveria, a não ser que você já tenha em seu computador um programa que leia videos no formato .flv.

Agora que já sabemos o que temos que baixar, vamos em como baixar! Existem programas que fazem o serviço, mas como existe maneira mais fácil, nem vou me dar ao trabalho de falar sobre eles. O caminho mais fácil para baixar um video do youtube é através de um site que faça isso por você. Segue duas sugestões:

Download de Videos

Existem muitos outros sites, mas vou falar deste que é o mais rápido e fácil de usar (principalmente quando você já sabe qual video quer baixar). Você terá que entrar no youtube, ir no video que você quer baixar e copiar o URL dele, aquele endereço começando com http:// que fica na parte superior do navegador. Depois você entra no site Download de Videos e cola endereço do vídeo na caixa te texto logo ao lado da caixinha com youtube escrito. Fazendo isso clique no botão Download. A página irá atualizar mostrando uma lista de resultados. Clique com o botão direito do mouse no botão vermelho na tela escrito "baixar video" e depois em "salvar destino como". Escolha onde salvar e salve! Pode demorar um pouco pra terminar de baixar, então tenha paciência. O video virá com um nome como "get video.flv", você poderá trocar para o nome que quiser.

Agora que você já tem o video no seu computador, você vai querer poder vê-lo, certo? Para isso você precisará ou de um programa que possa abrir arquivos .flv, como este ou pode usar um site que faça isso por você.

Outro site que também é bom, mas por ser em inglês pode causar certa estranheza e o Vixy.net. Ele já baixa o video no formato que você quiser (dentre as opções que ele dá, claro). O procedimento será parecido. Vai no youtube, pega o endereço do video e depois coloca na caixa de texto do site. Escalha um formato adequado para sua necessidade e clique em "download". Vai demorar um tempo para o download começar porque ele primeiro é convertido pra depois ser baixado. Com o video no formato .avi você poderá ver o video no window media player normalmente. Pode ser necessário baixar o pacote DIVX para poder exibir o video. Entre no site e clique em free trial. É o suficiente para ver os videos.

Espero que isto ajude a maioria. Qualquer dúvida, só entrar em contato.

quinta-feira, 25 de setembro de 2008

Trabalhando em equipe

Ao contrário do que possa parecer por outros textos relacionados a criação de jogos, minha função em grupos de trabalho ainda é a de programador.Este é um trabalho ingrato já que somente o programador sabe o que pode e o que não pode ser feito dentro de um jogo, mas tem muitas vezes que fazer o que não pode por causa de demanda do designer, sonoplastas, animadores e até da moça do café (não, esta bandeja retrátil no computador não é pra apoiar a xícara de café! É meu drive de DVD!). Programação é um trabalho mais braçal do que qualquer coisa. É um buscar de referências, adaptações de códigos pré-prontos e ocasionalmente a criação de uma função nova que aparentemente é banal e que daria mais trabalho procurar por algo já feito do que realmente fazer uma nova. Mas é apenas uma camada do trabalho todo, e uma parcela pequena até se pensar em todas as etapas do processo.
Quando a equipe é formada por apenas um membro, um campeão da justiça ou alguém com sonhos de grandeza que realmente acredita que pode fazer o novo FinalFantasy VII sozinho se esforçando o suficiente, a divisão de trabalho é simples já que qualquer número é divisível por 1 sem deixar resto, mera questão de matemática. Agora em equipes maiores o problema é mais complicado. Vamos pegar como exemplo a equipe gráfica de desenhistas, artistas digitais e/ou modeladores 3D. Não adianta nada cada um trabalhar no seu próprio ritmo pois todos estão trabalhando no mesmo projeto. Então a equipe de modeladores precisam de esquemas e rascunhos dos personagens para poder começar a desenvolvê-los, enquanto os artistas digitais desenvolvem novas texturas (ou juntam texturas prontas para serem reaproveitadas) enquanto os desenhistas relaxam já que terminaram todos os desenhos. Mas nem sempre as equipes são grandes o suficiente para possibilitar este tipo de divisão. O normal em produções de jogos amadores é uma mesma pessoa rabiscar os personagens, modelá-los e fazer as texturas ou fazer o spritesheet (imagem com todas as posições do personagem num fundo transparente ou de cor estranha que no programa será considerado transparente que será usado para animar o personagem no jogo) Em alguns casos piores, onde os membros de equipe são menos ainda, este mesmo cara será responsável pela programação envolvendo juntar a parte gráfica ao jogo, realmente um trabalho de cão.
Em muitos casos, vejo o grupo se reunir para definir funções como se estivessem na escola fazendo um projeto de ciências: "Fulana vai escrever na cartolina porque tem a letra mais bonita enquanto Ciclano e Beutrano fazem a pesquisa. E eu não faço nada porque comprei as cartolinas, o biscoito e o refrigerante." Não querendo estragar a graça mas este método não funciona. Ciclano e Beutrano vão ficar com o trabalho pesado de início, enquanto só Fulana vai cansar a mão de tanta cartolina que vai ter que escrever e desenhar (eu sei... já fui "Fulano" algumas vezes). O jeito mais certo de dividir tarefas não é em tipo de coisas. Numa equipe pequena, os membros tem que entender o trabalho como algo por demanda. Na hora em que se desocuparem com uma tarefa precisam ver o que está faltando no projeto e assumir este papel. O trabalho de programação de jogos é complexo porque muitas coisas no projeto só podem ser feitas se outras já forma feitas antes, então, não adianta um cara querer testar os movimentos do personagem que já foram programados se não existem ainda as imagens para serem animadas. Neste ponto, algum dos aptos a desenhar deveria assumir este trabalho como prioridade e concluí-lo.
Em equipes pequenas ainda, existe uma grande facilidade da maioria dos membros de jogarem responsabilidades de mais na mão do pai da idéia, e sempre que questionados quando não estão fazendo nada respondem com a cara lavada "Mas eu não sei o que tem pra fazer." Este tipo de resposta evasiva pode enganar os mais inocentes, mas é infame. Vamos supor um projeto minimamente bem feito, onde o jogo já está todo pensado (salvo certas correções no projeto). O membro da equipe tem obrigação de saber em que pé está o desenvolvimento e perceber os pedaços que faltam ser desenvolvidos. Claro que ter alguém para delegar tarefas seria algo muito conveniente, mas como líder de uma pequena equipe de desenvolvedores de jogos, sei que é difícil delegar tarefas aos outros e supervisioná-los e ainda conseguir fazer a própria parte.
Neste ponto, precisamos avaliar o coordenador do grupo, ou líder, ou Shamã, ou o que seja. Ele não pode ser autoritário de mais para não impedir que ninguém mije fora do pinico em nenhum momento, não deixar que cada membro inclua sua própria visão no jogo, mas também não pode deixar que o grupo se disperse de mais, senão acaba como um projeto que tive em mãos com parte dos desenhistas fazendo desenhos mangá e outros fazendo mais cartoon. O coordenador tem que coordenar, e não ficar por cima do ombro dos outros membros vendo se tudo está saindo do jeito dele. Claro que se o projeto estiver bem planejado, as chances de dispersão são menores.
Já me alonguei de mais neste assunto. Se for necessário volto a ele em outro momento.

quinta-feira, 3 de julho de 2008

Notepad ++

O pior para qualquer programador é encontrar um programa que atenda às suas necessidades quando se diz respeito a escrita de códigos. A maiora de interpretadores são lentos de mais para ou complexos de mais, levando o programador a cometer erros somente pela complexidade do programa. Uma ferramenta que simplifica muito este trabalho de escrever o código é o Notepad ++ (clique aqui para o site oficial). Ele é bem simples e visualmente amigável além de várias ferramentas para facilitar a escrita do código como "macros" (comandos que se usados digita boa parte do código por você).
No site oficial você poderá ver mais informações do que esta ferramenta pode fazer. Sugiro dar uma olhada.
Só um probleminha: ele serve para escrever códigos, não compilar. Para isto vai precisar ainda da linguagem instalada e compilar manualmente, mas na maioria dos casos (como programação web em php ou até em Lua) isto não será um impecílio tão grave.

segunda-feira, 16 de junho de 2008

Travou tudo, e agora?

Sabe quando o computador simplesmente não foi com a sua cara e resolve travar, ou algum programa não funciona mais do jeito que deveria? Em geral pode ser algum problema de buffer ou acesso indevido à memória que apagou algo que outro programa usava. Estes termos são complexos para o usuário médio mas a solução vem numa instrução simples que qualquer pessoa com um mínimo de coordenação motora consegue realizar.
REINICIE O COMPUTADOR
Ou, desligue e ligue de novo.
Mas deixa ligar mesmo, até tudo o que abre assim que o computador iniciar esteja funcionando e a setinha do mouse não se transforma mais em uma ampulheta.
Se o computador nem desligando estiver, meta o dedão no botão de reset, aquele pequenininho escondido.
Alguns computadores mais novos até tem um sistema de segurança que faz com que o botão de desligar só funcione se for segurado por alguns segundos (entre 7 e 10).

Pode parecer uma dica estúpida, porém um dia você ainda vai me agradecer!

Instalando e rodando Lua

Lua é uma linguagem de programação criada no brasil pela PUC-Rio. Ela é leve porém poderosa, possui vários recursos como arrays alocadas dinamicamente, listas encadeadas préimplementadas e outras cisas com nomes complicados que para leitores convencionais não quer dizer muita coisa mais impressiona quando conversando com completos leigos. Lua já vem sendo usada em vários tipos diferentes de implementações e jogos famosos como o famigerado Ragnarok Online, só procurar que você vai encontrar arquivos do tipo .lua dentro dele. Geralmente é usada para fazer complementos para os jogos, mas pode-se fazer um jogo completo com ele, já que ele se adapta a bibliotecas gráficas (outro termo para usar em conversas com amigos) como o SDL (que também será ensinada neste blog num futuro não muito distante).

Mas já falei de mais e não fizemos nada! Vamos começar com os devidos downloads e depois com a instalação e com o famigerado "Olá Mundo!". E se você é um daqueles que não gosta de fazer "Olá Mundo!"s, leia AQUI o porque de fazer um, ou apenas se contente com o fato de que serve para ver se tudo está funcionando do jeito que deveria.

Para instalar no LINUX, o link direto do site oficial http://www.lua.org fará o serviço. Para facilitar ainda mais, clique AQUI para baixar a versão 5.1.3. Após baixar, leio o readme e o install com informações de como instalar. Se você usa linux deve saber como fazer isto melhor do que eu.

Se você, como eu, vive entre computadores com Windows intalado, vai achar este link mais interessante. Clique AQUI e baixe a versão 5.0.1a5. Como eu só fiz a instalação no windows, vou colocá-la apenas ela aqui.
Baixe o arquivo do link. Quando terminar, clique duas vezes no arquivo executado.

A janela acima aparecerá. Ela pergunta se você quer instalar o Lua, então escolha 'Sim'.

Uma janela nova aparecerá informando que o programa será instalado. Clique em 'Next' para continuar.

Aparecerá as licenças de uso. Se você concordar (e se quiser usar, concordará), marque a opção 'I accept the agreement' e depois em 'Next'.

Agora você terá que escolher onde o programa será instalado. De preferência escolha instalar em C:\luacheia, já que aqui a maioria dos exemplos estarão dentro dele, mas se você se garante, coloque na pasta que você quiser. Eu, pessoalmente, deixei o Lua instalado num pen drive para poder "estudar" onde bem entender. Após escolher o local, clique em 'Next'.

Aqui apenas clique em 'Next' para criar um link no menu "Iniciar".
Deixe a caixinha marcada para criar um link para a área de trabalho. Se não quiser, desmarque. Depois clique em 'Next'.

Por último, clique em 'Install' para realmente instalar o Lua. Pode levar alguns instantes para terminar e até parecer que travou, mas é perfeitamente normal.

A instalação foi concluida. só clicar no botão e luacheia abrirá para você uma primeira vez!

Agora que você já tem o Lua instalado, está na hora de testá-lo! Se você deichou a caixa 'launch' antes de terminar a instalação, deve ter aparecido uma janela com coisas escritas. Isto é bom! diz que o programa funciona! Pode fechar a janela clicando no X superior.
Uma vantagem do Luacheia é que, depois de instalado, você pode mover ou copiar a pasta para onde quiser! É claro que os atalhos não funcionarão mais, porém logo eles não serão mais necessários.
Agora começa nosso "Olá Mundo!" para Lua! Abra um editor de textos qualquer como o Bloco de notas, ou algo mais legal como Notepad++ (baixe o .Installer.exe. Quando for usá-lo, escolha em 'Linguagens' Lua).
Agora vamos digitar alguns códigos!

print ("Ola Mundo!");

É. Só isto. nada mais do que isto! Salve este arquivo com o nome que você quiser, sem nenhum espaço nem acentos. De preferência, coloque-o na pasta onde você instalou Lua porque fica bem mais fácil para executá-lo.
Agora clique no botão iniciar e depois em executar. Digite 'cmd' e depois no botão 'Ok'.
O que aparece na tela é uma janela de console, não muito amistosa, porém funcional. Vou deixar para ensiná-los como configurá-la outra hora, agora apenas digite 'cd\' e clique 'Enter' para ir à raiz do drive C.

Agora digite 'cd luacheia' e clique 'Enter' se você instalou na pasta recomendada, ou digite 'cd/pasta1/pasta2/luacheia' e clique 'Enter' para abrir a pasta desejada.


Agora digite 'luacheia olamundo.lua' ou troque olamundo.lua pelo nome do seu arquivo, e ele será executado.

Se você fez tudo certo, seu programa rodou! O que ele fez? Escreveu a frase 'Ola Mundo!' na tela em uma linha. Grande porcaria, você deve estar pensando. Mas agora você sabe como fazer para rodar um programa em Lua! Existe outra maneira para rodar programa Lua, mas envolve criar um arquivo .bat para isto e eu não vou ensinar isto agora, ainda mais porque preciso explicar o que foi feito neste singelo programa.

Primeiro, no Lua não é preciso dizer onde o programa começa ou termina. Encarando algumas linguagens mais robustas, você verá que isto é uma vantagem e ao mesmo tempo uma desvantagem, mas a minha filosofia diz que quanto menos se escreve, menos se erra, então pra mim é bom não ter que se preocupar com isto e ir direto ao que interessa.
A função print( ) é a responsável por "imprimir" uma mensagem na tela. O que vem dentro dos parenteses é a informação a ser impressa que, neste caso, por se tratar de um texto literal, ou seja, que a gente quer que apareça do jeito que está escrito, vem entre aspas. Se você quiser tentar, pode colocar algum número no lugar de Ola Mundo! sem as aspas que ele também exibirá na tela.
Agora o mais importante! Perceba que tem um ';' no final da linha. Ele diz que o comando daquela linha acabou! normalmente, no final de cada linha de programação haverá um ';' com raras excessões. Até programadores mais experientes esquecem vez ou outra dele, então não se sinta tão idiota se você também esquecer.
Como experimento, tente colocar varios comandos print() no olamundo.lua, como no exemplo:

print("Este e um programa teste.");
print("Estou fazendo varias linhas!");
print("Ate o momento tenho...");
print(4);
print("linhas!");


Se tudo der certo, executando este programa você terá algo mais ou menos assim:


Ufa! Acho que já deu, né? Volto a falar mais de Lua em outro tópico.

Olá mundo!

Algo muito importante para se começar a programar é fazer um programa conhecido como 'Olá Mundo!', ou 'Hello World!'. Se você ocupar algum tempo procurando na internet, verá que existem muitos modelos de Olá Mundo! espalhados por aí, nas mais diferentes linguagens. Este tipo de programa ele funciona no aprendizado para gerar uma resposta na tela visível ao aluno. Basicamente o que qualquer programa Olá Mundo! faz é escrever na tela a frase 'Olá Mundo!', e por mais que pareça trivial neste exato momento, quando alguém que nunca viu uma determinada linguagem de programação antes (ou qualquer uma, em casos mais extremos, e que encabeçam meu público alvo) isto serve principalmente para saber se o sistema está rodando do jeito que deveria após ser instalado, além de fornecer conceitos básicos. Aqui eu farei um algoritmo, ou um código que não roda em sistema nenhum, porém serve para exemplificar como funcionará um Olá Mundo! em praticamente qualquer linguagem. Todas as linguagens abordadas neste blog virão acompanhadas de um tutorial dizendo como instalá-las e colocá-las para funcionar, assim como um Olá Mundo! delas. Eu recomendo que sempre que for usar uma nova linguagem, gaste um tempo fazendo um Olá Mundo! assim como em aulas de idiomas começamos sempre aprendendo a dizer "Meu nome é ... .". Não parecerá muito emocionante, mas é didático!

O conceito inicial envolvendo o Olá Mundo! é criar um programa que rode uma função. Se você é novo em programação, vai querer continuar lendo este parágrafo, senão, pode pular pro próximo. Tá avisado. Uma função é um trecho enorme de código que faz alguma coisa. Normalmente funções são criadas de tal modo que possam ser chamadas diversas vezes dentro de um programa ou mesmo de uma função maior. Aqui vamos pegar como exemplo a função ESCREVER (note que sempre que eu estiver falando em função algorítmica, as palavras virão em caixa alta (maiúsculas) para melhor identificá-las. Ainda falarei de "identação" e de porque ela é importante) já que a nossa intenção é fazer o programa escrever na tela uma mensagem Olá Mundo! Atrás deste nome amistoso ESCREVER, existe uma série de códigos complicados envolvendo acesso a memória e ao buffer de video que ninguém está realmente interessado em saber, então para evitar toda esta chamada de comandos místicos para apenas escrever uma mensagem na tela, usaremos a função que algum santo já digitou pensando em meros mortais que nem entendem direito o que é um buffer (quem falar que é uma almoço chique, vai levar um teclado na testa! Isso é Buffet!). No caso da nossa linguagem de programação fictícia (ou como muitos gostam de chamar pra ficar com um nome bonitino, linguagem algorítmica), esta função que escreve coisas na tela tem o nome ESCREVER, fácil de lembrar e prático. Na maioria das vezes, funções tem nomes relacionados a sua função, como por exemplo printf() na linguagem C que faz basicamente o mesmo que ESCREVER. Agora, esperando que o conceito de função já está bem explicado, vamos para o complicado, programas. Programas são conjuntos de funções e linhas de código que realizam uma determinada operação para alcançar um objetivo, ou em português claro, faz a bagaça funcionar. No caso do nosso Olá Mundo! o programa inicia, exibe na tela uma saudação e termina sem fazer mais nada. Chato? É, com certeza. Mas se você fizer isto uma vez, estará abrindo uma porta para que logo você esteja fazendo o que quiser, inclusive um jogo completo saído do nada existencial!

Agora que temos a turma inteira de novo junta, podemos seguir para o Olá Mundo! Isso supondo que pessoas com algum conhecimento de programação ainda estejam lendo até aqui... Um programa na nossa linguagem algorítmica ficaria assim:

INÍCIO //inicia um programa
ESCREVER "Olá Mundo!"
FIM //finaliza o programa

O que este programa faz? Ele começa com uma declaração dizendo que o programa começa ali (aqui isto é trivial, mas em algumas linguagens você perceberá que existe uma série de questões a serem declarados, programados e voodoozados logo no início. Não se preocupe, você não terá que ver isto tão cedo, mas verá (espaço para risada mléfica)).
Tudo o que vem depois de // em uma linha é considerado como comentário. Comentários são trechos especiais na programação. Ele existe, está escrito, mas não faz absolutamente nada. Em geral Comentários são usados pelo programador para explicar o que um pedaço do código faz, mas se você quiser pode colocar uma receita de bolo. Todas as linguagens de programação tem um simbolo especial que inicia uma linha de comentário (ou até um bloco). O mais importante é assim que pegar uma nova linguagem pra programar, descobrir como fazer comentários, principalmente para conseguir identificá-los nos programas feitos por outros.
Na linha seguinte vem a nossa função ESCREVER que faz o que ela indica, escreve um texto na tela. Como ela faz isto não é de maneira nenhuma importante, ainda masi porque estamos lidando com um pseudo código, então ele funciona do jeito exato que você quiser. Os mais simplórios imaginarão uma linha de texto na tela escrito "Olá Mundo!", se você é uma pessoa mais especial, ESCREVER pode fazer o texto piscar na tela em três cores aleatórias enquanto as letras pulam na tela e explodem em fogos de artifício, a sua imaginação é o limite!
A última linha termina o programa. Diz ao computador que além daquilo não existe mais nada, que o programa pode ser finalizado. Em geral o final é colocado na última linha, mas é possivel rechear com Comentários para maiores esclarecimentos.
E assim terminamos nossa primeira aula de programação! Se você conseguiu entender tudo até agora, você provavelmente tem jeito pra programação, senão, mande sua dúvida.

sexta-feira, 13 de junho de 2008

Vírus no pendrive (reconhecendo e removendo)

Uma das pragas mais chatas na atualidade é o vírus de pendrives, que afeta quase qualquer dispositivo de armazenagem de dados que possa ser conectado ao usb do seu computador. Os efeitos são os mais variados. Os métodos descritos aqui podem não resolver todos os seus problemas com este tipo de vírus, mas vai te dar uma segurança maior.

1- Quando colocar seu pendrive numa maquina windows, não escolha nenhuma opção daquela janelinha que aparece para reprodução automática. Ao invés disto, clique em 'cancelar'.
2- Va no windows exporer e clique com o botão direito em cima do nome do drive que atualmente é o pendrive. Preste atenção nas primeiras linhas. Se tiver 'executar' ou 'reproduzir' logo no início, os indícios de seu pendrive já estar infectado são grandes. Preste atenção na letra que representa seu pendrive. Você vai precisar dela.
3- clique no botão iniciar e em 'executar'. Digite 'cmd' e isto trará a janela de console, preta com letras brancas no padrão. Digite a letra do seu drive que você observou no item dois acompanhada de dois pontos. Como aqui abriu no drive g, eu digito 'g:'. Isto vai me levar até dentro do meu pendrive. Digite agora 'dir/w/a'. Isto fará aparecer uma listagem com todos os arquivos que estão no pendrive inclusive os arquivos ocultos. O que você deve procurar são arquivos executáveis (com final '.exe') que não deveriam estar ali e em especial um autorun.ini ou autorun.inf. delete-os todos com o comando 'del nome-do-arquivo.xxx' onde nome-do-arquivo.xxx será o nome dos arquivos a serem apagados.
Feito isto, você estará parando de disceminar o vírus e disseminá-lo. Mas não adianta nada se você não prestar atenção em seguir com a dica 1 sempre que colocar o seu pendrive num computador. Eu sei que é mais fácil, mas pode sair muito caro para a sua máquina.

quarta-feira, 11 de junho de 2008

Por onde começar a fazer jogos? (Roteiro)

Acredito que se você quer começar a fazer um jogo, primeiro você tem que aprender a programar. Ocasionalmente, numa equipe grande, um desenvolvedor raramente terá que lidar com qualquer tipo de código, para isto que servem os burros de carga dos programadores. Mas mesmo assim, um desenvolvedor precisa saber um mínimo para poder orientar a sua equipe para que ela alcance o resultado final esperado.
Mas por onde começar? Eu sou fã da idéia de que bons jogos vêm de bons roteiros, e entenda aqui que todo o jogo tem um roteiro, por mais simples que seja. Vamos a um exemplo clássico:
Personagem anda por labirinto pegando pecinhas coloridas para marcar ponto, enquanto é perseguido por inimigos. Quando o personagem pega todas as pecinhas ele ganha o jogo (ou fase), mas se antes disto ele for pego por um dos inimigos, ele morre. Existem ainda peças especiais brilhantes que dão ao personagem a habilidade de atropelar seus inimigos, derrotando-os temporariamente
Para quem ainda não se tocou, este é roteiro do jogo Pac-Man. Claro que ele não deve estar nem perto de ser tão completo quanto o roteiro original, mas quando o desenvolvedor pensou no jogo pela primeira vez deve ter sido isto que passou pela cabeça dele. Se você nunca escreveu um roteiro antes, comece-o pensando em algumas regras simples de jogo como aquelas impressas em jogos de tabuleiros como número de jogadores, objetivo do jogo (o que o jogador precisa fazer para ganhar) os movimentos básicos do jogo (pensando ainda no pac-man, o personagem anda para as quatro direções), como o jogador interagirá com o jogo (teclado, mouse, controle, etc) e, o mais difícil, defina os momentos de jogo. Se pegarmos ainda o pac-man, teremos o momento em que o personagem nasce, eme está parado no meio do mapa, o momento em movimento (um para cada direção) o momento "encontrou uma parede" (normlamente o personagem para em paredes e não pode atravessá-las, apenas contorná-las), o momento "encontrou um inimigo" (quando é testado se ele possui a habilidade especial ativada. Caso tenha, o inimigo morre, caso não, o personagem morre), o momento "ativa habilidade especial" (preste atenção que neste momento os inimigos começam a fugir do personagem principal, além de mudarem de aparência e a música de fundo mudar. Além disto, um relógio oculto marca o tempo de duração da habilidade). Com isto já dá para começar a pensar em algumas coisas importantes: Que tipo de imagem será necessário, qual tipo de tecnologia pode ser usada, qual os tipos de "testes" precisarão ser feitos durante o jogo, etc. Estes elementos serão explicados em outro texto aqui, mas por enquanto é bom saber que eles existem.
Para jogos mais elaborados, uma história também deve ser elaborada na fase do roteiro. Não se preocupe com nada muito detalhado neste primeiro momento, apenas algo direto, alguns nomes (que também não precisam ser os definitivos) e alguns ganchos importantes na história.
Rockeiro sai numa aventura para derrotar o Dr.Malvado, armado com uma arma especial que se acopla a seu braço e tem a incrível habilidade de memorizar ataques das armas de inimigos. Em certos momentos ele terá que enfrentar o próprio irmão saxofonista por causa de conflitos ideológicos.
Essa pode ser considerada uma versão bem simplória de algum jogo do Rockman.
Acho que já escrevi de mais. Qualquer dúvida, ou sugestão para roteiros para este blog, deixe um comentário.

terça-feira, 10 de junho de 2008

Por que programar?

Uma das maiores questões quando se pensa em Jogos de computador é o porquê se dar ao trabalho de programar algo. Já existem tantos títulos por aí, tantos estilos diferentes, e se uma coisa não atinge as suas espectativas quanto ao que você espera de um jogo, sempre haverá outra que o faça e se não, é possível baixar (ou fazer) uma modificação rápida no jogo para se ter o que quer, assim aconteceu com Ultima Online, com diversos servidores alternativos por aí e muitos deles bem diferentes do original, os modos de jogo novos do Warcraft 3, como o DOTA, milhares de modificações de Counter-Strike, dentre tantos outros.
Mas em algum momento, o jogador mais impetuoso pensará em fazer um jogo com a cara dele, algo épico, que revolucione, ou apenas que use melhor recursos vistos em tantos jogos separados. Um dia ouvi um colega de curso falando sobre um MMORPG em tempo real com combates estilo Street Fighter, onde a habilidade do jogador contasse mais do que os níveis que o personagem tem. Ainda não foi feito nada neste aspecto, apesar de já existirem alguns que se encaminham por estes rumos, mas nada realmente bom ou realmente MMORPG. Uma pessoa frustrada por nunca ver um jogo do jeito que ela quer disponível pode ou se desesperar e chorar num canto escuro da sala segurando uma faquinha de rocambole ou pode colocar a mão na massa e começar a pensar em vazer este jogo ele mesmo. Este foi o motivo pelo qual resolvi começar a estudar programação, e programação de jogos, pra ser mais específico. Se você também está sentindo este comichão, esta coceirinha atrás da orelha de que algo deve ser feito urgentemente, e ainda não encontrou nenhum tutorial descente sobre jogos, vasculhe cada canto deste blog, e aprenda a montar o grande quebra-cabeça que é um jogo.

sexta-feira, 25 de abril de 2008

"Não consigo excluir um arquivo"

Você já se deparou com uma mensagem dizendo “não é possível excluir. Ele está sendo usado por outra pessoa ou programa. Feche os programas que possam estar usando o arquivo e tente novamente” quando você tentar apagar um arquivo no computador e não consegue? Bom, já estava com este problema no meu computador, mas estava com preguiça para resolver. Aqui vai um breve tutorial de como eu fiz o que o computador não deixava:

comece clicando com o botão direito no arquivo que não deixa ser apagado. Na aba que abrir, procure por "Propriedades". Aqui você deve procurar pelo "local" do arquivo. Será importante para resolver o problema. Copie tudo para uma folha de papel, para o Bloco de notas ou qualquer lugar de fácil acesso. Você vai precisar dizer para o computador onde ele está daqui a pouco.

Clique no botão "Iniciar" e em seguida em "executar..." e no campo de texto digite "cmd". Isto abrirá um o Prompt de Comando. Não se assuste que é simples lidar com ele, ao menos para o que vamos fazer.
Antes de continuar, preciso explicar uma coisa sobre o Prompt de comando. Ele funciona na base do texto. Você vai digitar comandos e ele vai executar. nada de clicar nem ctrl+c, essas coisas não funcionam nele, então, quando eu falar para digitar, você realmente terá que digitar.
Primeiro digite "cd .." deste jeito, com o espaço separando "cd" dos dois pontos e tecle enter. Faça isto até aparecer no começo da nova linha apenas "C:\>". Assim você poderá encontrar o arquivo mais facilmente.
o comando "cd/" deve ser acompanhado do local onde o seu arquivo está. Esta informação é aquela que você copiou logo acima. Digite por exemplo "cd/Minha Pasta/minha outra pasta". Agora você já deve estar dentro da pasta onde o arquivo está.
Agora vem a parte delicada. Por enquanto não alteramos em nada o computador, mas esta parte deve ser feita com cuidado e prestando bastante atenção para evitar erros.
Digite "rm nome_do_arquivo.arq" onde "nome_do_arquivo.arq" será o nome do arquivo que você quer apagar. Se tudo der certo, o que tinha na linha antes de você digitar o último comando será reescrito. Agora verifique se o arquivo ainda está lá. Não? Mágica! Não! "rm" é um comando antigo que significa "remove" e serve para apagar coisas do computador, assim como apertar "delete" no seu teclado, só que aqui você está fazendo isto sem dar chance do Windows interferir.

OBS.: Se no seu caso for uma pasta que estiver travada, use o comando "rd" ao invés de "rm". "rd" significa "remove diretório", onde diretório é outro nome para "pasta".
Qualquer dúvida, só perguntar.