Programação
Instalando o Visual Editor no Eclipse 3.5
Feb 14th

Esta semana decidi voltar a mexer com Java. Já estou cansado do Visual Basic e preciso voltar a ficar atualizado com pelo menos o básico da linguagem da Sun (que foi comprada pela Oracle). E uma das ferramentas que vou precisar mesmo usar é o Visual Editor, um editor visual para o Swing. Todo mundo sabe que o Eclipse não foi feito pra ser programado de forma, já que hoje o Java é mais usado em ambiente web do que desktop. Ainda assim acho que pode ser interessante montar aplicações desktop na linguagem, já que nunca se sabe o dia de amanhã, e como eu to quase fechando um sistema freelancer, tenho de fazer uma aplicação com “telinhas”. Um sistema comercial básico.
Diário Gamedev 03 – Voltando ao Java e escolhendo a engine jMonkeyEngine
Sep 21st
Depois de mais uma semana planejando os meus estudos de gamedev eu cansei. Cansei de esperar, cansei de um milagre, e, principalmente, cansei dos “posts hype” aqui no meu blog pessoal. Na verdade depois que eu abri o Select Game e vi que virou uma obrigação pessoal manter 1 post por dia lá eu acabei negligenciando a área de gamedev e este blog pessoal, já que aqui eu poderia mandar os posts de games, posts de desenhos e outras coisas, por também serem pautas. Blog bom é blog atualizado, algo que não está mais acontecendo aqui, tanto por desânimo quanto por ter enjoado de certas coisas. Aí pensei: ou eu sigo mesmo com gamedev e fazer algo decente ou eu fico só com os blogs, ganho uma grana minúscula e fico estagnado, sem sair do lugar. Então eu decidi me mexer e decidi voltar a estudar, e o dia 19/09/2009 (sábado passado) foi decisivo pra isso, onde eu consegui instalar e executar a jMonkengine, uma engine 3D para Java.
Porquê esta engine? Porquê não C++? Porquê o Java? Simples: eu quero ter um portfólio aceitável, mesmo que não seja na linguagem preferida e mais usada de muitas empresas. O Java é uma linguagem que já tenho bom conhecimento, e por isso é mais fácil fazer as coisas na engine. Além disso também tenho um ótimo conhecimento na ferramenta Eclipse, o que me faz dele a IDE perfeita para a minha necessidade atual. Eu quero mostrar que eu sei fazer aplicações gráficas pra ter uma chance de um dia entrar numa empresa. Aí depois eu posso aprender o C++ um pouco pra ter um conhecimento prévio, já que eu nem sei se um dia eu vou entrar mesmo em uma empresa pra desenvolver com C++. Talvez acabe entrando numa pra criar jogos de celulares com Java ou mesmo o iPhone, ou mesmo com o Flash, e se isso acontecer eu vou acabar passando por um treinamento breve nesta empresa.
E tem outra: já faz muito, muito tempo que quero fazer um tech-demo em 3D. Mesmo que seja apenas uma fase com texturas, colisões e uma visão em primeira pessoa. E isso será o meu objetivo final da engine (nessa primeira etapa dos estudos): fazer um tech-demo. Como ainda não sei em qual área eu deveria mesmo seguir (modelagem? game design? programação?) então eu vou fazer “de tudo um pouco” pra aprender o máximo possível da área. O meu sonho é entrar na área e o meu sonho do meu sonho é, um dia, chegar a liderar uma equipe ou ser um roteirista. É difícil? Muito, mas como ainda sou novo, quem sabe um dia eu chegue lá!
Eu já comecei a fazer alguns testes com a engine e caso queira baixar o primeiro, pegue aqui. É apenas uma caixa flutuando (não é o que está na imagem acima. Isso é outro teste), mas foi o meu primeiro teste de integração do Blender com a engine. O código-fonte eu vou divulgar em alguns dias, num post pro GamedevBR ensinando a fazer isso. Só quero antes fazer mais alguns testes e fazer testes com texturas, já que se eu conseguir importar na engine um cenário 3D e conseguir separar os elementos (pra criação de portas que dá pra ser animadas e ficar brincando com iluminação) aí só precisarei fazer colisões e posicionar os elementos de forma a criar um local jogável. Ah, um aviso importante: é necessário ter o Java 1.6 instalado na máquina e ter uma placa de vídeo acima da GeForce 4 MX 440 de 64 MB, que é a placa de vídeo que eu uso atualmente. Não é uma placa de ponta, mas dá pro gasto e como tenho um Playstation 3 não preciso me preocupar em arrumar uma placa de vídeo Top de Linha pra estudar/jogar (pelo menos nos próximos meses).
Quando eu for fazendo mais testes e estudos vou publicando aqui. Vamos ver se desta vez eu começo mesmo a minha caminhada em direção ao meu futuro profissional como desenvolvedor de jogos eletrônicos!
Usando o Visual Editor em versões mais novas do Eclipse
Jan 27th
Bom, a maioria não vai entender muito bem o post, mas o mesmo é necessário para que eu tenha arquivado algumas informações deste post! Bom, uma das coisas que me fez gostar bem da linguagem Java foi de ter uma IDE potente. Em outras palavras, o Eclipse que me fez gostar bem da linguagem, que supera de longe linguagens tecnicamente inferiores, como o Visual Basic 6, Clipper e até mesmo o Object Pascal, que é usado pelo Delphi. O Eclipse é um editor voltado mais para edição de código, com recursos como refatoração (renomear uma variável e a alteração ser replicada em todo o projeto), identação automática, facilidade em instalar plugins, etc, etc etc.
A parte que ele mais peca é na parte visual voltado para desktops: ele não vem com um editor de telas como o Delphi ou o Visual Studio e com isso os programadores tem de apelar para plugins de terceiros. Um dos que mais foram usados antigamente foi o Visual Editor, um plugin da própria Fundação Eclipse (a empresa que mantém o software) que era mantido por pessoas da IBM. No começo do Eclipse a cada nova atualização estável o mesmo era atualizado, mas teve uma época que ele simplesmente parou de ter atualizações. Então o tempo foi passando, mudei de emprego e de linguagem, até encontrar o tópico abaixo com dicas de instalação e um link de uma versão não-oficial para ser usado em versões mais atuais da IDE:
[Tutorial] Instalando o VEP no Eclipse 3.3 Europa
Bom, primeiro dispenso coisas como ah, tem plugins melhores! Deve ter, mas acho o VE mais simples. Fora que hoje a maioria dos sistemas em Java são feitos em ambiente web, o que faz com que o desenvolvimento seja um pouco diferente (além de dispensar o plugin). E como hoje penso em desenvolver games, não sei se continuarei com o Java no futuro. Se um dia acabar virando mesmo um game designer (aquele que ajuda a projetar o jogo e pensar nas idéias do mesmo) então posso acabar abandonando a área de programação de computadores, me focando em outros assuntos, como arte digital e/ou game design.
Removendo o botão 'fechar' dos forms no Visual Basic 6
Jul 4th
Hoje tive um problema bastante interessante no serviço com o Visual Basic e decidi compartilhar com vocês a solução. Um pedido comum em muitos “chefes de desenvolvimento” de sistemas é remover o botão de fechar dos forms do Windows. Existem duas soluções interessantes para isto, sendo que a segunda é mais focalizada.
A primeira é ir nas propriedades do formulário e colocar como False a opção ControlBox. Isso vai remover os três botões da barra, criando algo similar a uma splash screen:

Bom, mas o problema é que você pode querer travar apenas o botão de fechar e ter um botão de retorno nas telas MDIChild (talvez porquê no botão de retorno tem algum funcionamento específico). Aí achei este texto do DeveloperFusion com um código interessante. Adaptei um pouco:
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Const MF_BYPOSITION = &H400&
Private Sub Form_Load()
'Chamando a função para desabilitar o botão de "fechar"
RemoveMenus
End Sub
Private Sub RemoveMenus()
Dim hMenu As Long
hMenu = GetSystemMenu(hWnd, False)
DeleteMenu hMenu, 6, MF_BYPOSITION
End Sub
O resultado:

Bom, tentando entender, basicamente ele declara essas variáveis e constantes e seta isso na função RemoveMenus (que pode ser outro nome, claro). Aí você chama a função, que desabilita o botão. Conversando com o meu chefe, descobrimos que isso funciona apenas na tela interna, impossibilitando de fazer isso num módulo e chamar a função nas telas que um sistema comercial iria ter esse negócio.
Por fim, fica aí a dica.
Diário C++ – Parte 01
Jun 27th

Hora de começar a pensar de verdade no meu futuro profissional na área de desenvolvimento de jogos. Como sou fanático por gamedev e quero entrar na área, tenho de voltar meus conhecimentos de programação pra linguagem mais usada na área: C++.
Bom, preferi postar certos tipos de textos aqui no meu blog pessoal já que, em tese, o meu blog é pessoal. No GamedevBR vou reservar artigos técnicos e com isso vou iniciar mais um tipo de post no blog: o diário C++. De vez em quando vou postar aqui como será os meus estudos normais com esta linguagem, para vocês verem e comentarem sobre a linguagem e possíveis rotas que posso pegar para atingir os meus objetivos.
Como tenho interesse unicamente em C++, o C puro está de fora. Já sou programador profissional há quase 4 anos e não preciso mais aprender lógica e sim a sintaxe da ferramenta, para depois partir para conhecimentos específicos em engines e otimização de aplicações em tempo real.
Para iniciar, vou usar o Code::Blocks como IDE, já que aqui no serviço não posso instalar um Visual Studio Express pelo mesmo ser muito pesado. Isso vou fazer em casa mesmo, já que lá é mais sossegado e lá o meu PC é bem melhor.
Vamos ver se vou conseguir seguir pra valer nos estudos, já que também tenho outros interesses em desenvolvimento de jogos (modelagem, game design). E conciliar todos esses estudos será difícil.
Vaga para programador C++ na PixelLabs
Feb 2nd
Segue link para infos de uma proposta de emprego para programador C++:
Pixel Labs: vaga para programador C++
Apesar da vaga ser relacionada com realidade virtual e computação gráfica, quem sabe no futuro possa sair um game da empresa ou mesmo o desenvolvedor ganhar experiência para trabalhar com gamedev.
Dicas de Delphi
Feb 2nd
Algum tempo atrás, por conta de outra proposta de trabalho eu cheguei a estudar um pouco o Delphi (a contragosto, mas fazê o quê! Parece que no interior tem mais oportunidades em Visual Basic e Delphi do que em Java…). E como eu já tenho experiência de quase 3 anos com programação comercial (mas ainda assim me considero um programador intermediário), quando eu preciso (re)aprender uma linguagem as coisas são mais fáceis, já que eu tenho mais conhecimento em lógica de programação.
E como eu acabei tendo algumas dúvidas quando eu estava programando algumas telas simples no Delphi, decidi compilar neste post todas as respostas. Isso também vai facilitar pros pará-quedistas que vão cair na minha página vindos do Google.
Vamos lá:
Abrindo um MDIChild
Application.CreateForm(TForm1,Form1);
form1.Show;
Fechando um MDI Child
No evento OnClose coloque: Action := caFree;
Durante os meus estudos vou atualizando este post com mais dicas pro Delphi, e quem sabe eu faço um post similar com dicas pro Java!
Vagas para programador C#/C++
Jan 30th
Liberei esta notícia na UniDev, sobre uma vaga para programador que tenha conhecimentos em C++, C#, DirectX e XNA:
Vagas de programador de Jogos C#/C++
Só lembrando: este post é de caráter informativo. Eu não trabalho na empresa e não posso dar maiores detalhes (além de que existe a possibilidade da vaga já ter sido preenchida). Na notícia tem o e-mail do resposável, nas qual você pode enviar pedindo sugestões.
Voltando a estudar Lua
Sep 1st
Hora de iniciar pra valer os estudos em desenvolvimento de jogos. Apesar da minha pretensão para ser jornalista, o que quero realmente fazer é criação de games. Mesmo que eu entrasse numa faculdade de jornalismo, nas horas vagas eu continuaria com os estudos em linguagens de programação, ferramentas, softwares 3D, e outros.
Quando eu chego para trabalhar sempre perco de 10 a 20 minutos até aparecer algum responsável para abrir a empresa (no meu último emprego eu tinha uma chave própria), e nesse tempo, aproveitava e estudava o artigo A linguagem Lua e suas Aplicações em Jogos, que mostra alguns conceitos básicos da linguagem Lua, uma popular linguagem de programação criada por brasileiros e que foi até destaque na Globo, numa reportagem da Globo News.
Só que o problema é que comecei pelo mais difícil: tentar programar em Lua no Eclipse. Escolhi a LunarEclipse, um plugin para o Eclipse, mas que não vi nenhuma documentação ou tutorial na internet. Ou eu não estou sabendo procurar direito ou alguém já usou, mas não quis postar um tutorial na internet sobre isso.
O problema é que eu não to conseguindo fazer o plugin funcionar para conseguir pelo menos um “Olá Mundo” na tela
De qualquer jeito vou criar um tutorial para iniciar os estudos no plugin, e vou criar uma versão em inglês do tutorial, para ajudar pessoas de outros países.
Depois que eu passar por esta dificuldade, aí sim poderei aplicar na prática o que tem na teoria. Aí sim que a festa vai começar!
[Via tupinihon]


