sábado, 6 de setembro de 2008

Jogos para celular com JME

Ontem fiquei emocionado. Vou desenvolver uma aplicação para dispositivos móveis e peguei o NetBeans (IDE da Sun) com o pack de mobility para dar uma olhada.

Existem alguns exemplos prontos de diversos tipos de aplicação mobile, entre eles exemplo de um jogo usando um Game Builder do Netbeans.

Obviamente criei um projeto com esse exemplo para uma olhada e fiquei surpreso com o que vi. Existe um tipo de arquivo do Netbeans que é para o design do jogo. Nele você pode, visualmente, criar as cenas, que são compostas pelas camadas xadrez e por sprites.

Os sprites. Mexendo visualmente na classe de design podemos criá-los. Neles podemos criar as animações que o mesmo realizará, seja andando, correndo, batendo, na velocidade que estipulamos.



As camadas xadrez. Elas compõem nosso fundo, mas não são o próprio. A diferença é que cada fundo, cada tela poderá conter diversas camadas, uma sobrepondo a outra, é o caso de termos uma camada padrão por fase por exemplo e em cima dela outras camadas como um lago, ou uma casa.



Por fim temos as cenas, elas são as fases. Nela podemos incluir as camadas e os sprites que criamos.



Tendo isso pronto podemos nos preocupar com outras os eventos, de movimento por exemplo. Temos na classe SpriteRandomMovement, a configuração de 4 eventos d movimentação, ele simplesmente muda a animação para a da direção selecionada e movimenta nosso sprite.

Quando o projeto é compilado ele gera um arquivo .jad, esse arquivo você pode por no celular e executá-lo, ele instala o jogo e você pode testar seus jogos.

Bom, espero que tenham gostado desse preview tanto quanto eu e, caso gostem, se aprofundem nos jogos para celular.

Abraço!
Leia Mais…

sexta-feira, 29 de agosto de 2008

Conceitos básicos

Bem, antes de fazer nosso primeiro jogo, é necessário conhecer os conceitos básicos de programação.

Achei uma explicação bem legal sobre programação e levei como base dessa postagem.
Ver texto original

As linguagens que usamos para programar são chamadas de linguagens de alto-nível. As classificamos dessa maneira pois essas linguagens se aproximam da linguagem humana, que precisa ser traduzida para a máquina entender. Com essas linguagens que nós escrevemos o nosso programa e, o código criado é chamado de código-fonte, assim chamado por ser a fonte de informação do programa.

Do que consiste o código-fonte?
Ele é composto dos componentes do programa, dependências, característica, tudo que o envolve, usando a linguagem de sua preferência, seguindo as regras da mesma.

Após criarmos o código fonte do nosso programa, mandamos para o compilador, que garante que todas as regras da linguagem foram cumpridas, caso contrário, este dirá que houve erro no processo de compilação e dirá aonde. Os arquivos gerados pelos compiladores são chamados de arquivos-objeto, arquivos intermediário que vão passar pelo processo de linkedição.

A linkedição consiste em ligar nosso programa às bibliotecas que fazemos referência em nosso programa, por exemplo. Utilizamos um comando pronto para escrever no console. Quando compilarmos esse programa ele vai guardar o nome da função utilizada e, quando fizermos a linkedição, essa função será ligada à função existente na biblioteca que a contém, gerando o arquivo executável.

Essas etapas, porém, valem para as linguagens compiladas, o caso do C por exemplo. Existem, também, as linguagens interpretadas, como Java. Tais linguagens tem um comportamento diferente. Elas são compiladas e geram um bytecode. Que é um pedaço de uma instrução da linguagem de máquina que especifica a operação a ser executada. Para executarmos um programa de uma linguagem interpretada temos que ter o interpretador da mesma. Esse interpretador lê o bytecode em tempo de execução e o traduz para o código de máquina, que é, então, executado.

A execução das linguagens compiladas é mais rápida por ter o código de máquina pronto, já as interpretadas tem o código traduzido para linguagem de máquina durante a execução do programa. Porém, as linguagens interpretadas podem ser executadas em qualquer plataforma, pois o bytecode irá produzir o mesmo resultado em qualquer arquitetura.

Esses conceitos serão usados ao longo de toda a vida de um programador, portanto, não poderia esquecê-las e pular para o código.

Um abraço e até breve(breve desta vez).
Leia Mais…

terça-feira, 26 de agosto de 2008

Eclipse CDT + compilador MinGW (Windows)

Mais cedo disse que ia postar pra ajudar o pessoal que tem problemas com inglês.
O post original pode ser encontrado aqui.

Pra começar, baixem esse 2 programas:
Eclipse com C/C++
Nuwen’s MinGW 3.11

Primeiro baixem o MinGW e descompactem para uma pasta simples, evitando espaços e caracteres especiais. Exemplo: C:\MinGW.

A instalação do Eclipse é similar, só é necessário baixar e descompactar na pasta de preferência.

Rode o executável do Eclipse do diretório que vocês o descompactaram, depois pode ser criado um atalho na área de trabalho, iniciar, ou onde quiser. Quando você tentar criar um novo projeto C++ no Eclipse o MinGW vai ser detectado automaticamente e vai ser listado como um dos compiladores disponíveis. A detecção automática trabalha melhor se você extrair o MinGW no diretório recomendado.



Pronto, agora podemos usar o Eclipse com C++ para desenvolver nosso jogos.

Espero que isso ajude o pessoal que usa o Eclipse para Java ou alguma outra linguagem e queira usá-lo para C++ também.

Até a próxima, abraço.
Leia Mais…

domingo, 24 de agosto de 2008

Linguagens

Nossa, nunca pensei que daria trabalho pra falar das linguagens. Enfim, chegou o momento que muitos esperavam e já estão preparados e com a linguagem em mente, esperando a hora de programar. Mas para os que não estão preparados, vamos à uma breve explicação.

Um trecho deste texto foi extraído do Wikipedia, sobre linguagens.
Ver texto original

As linguagens, como disse anteriormente, é nossa ponte de comunicação com o computador. É um modo padronizado de passar comandos para a máquina, um conjunto de regras usadas para definir um programa. As linguagens permitem que nós, programadores, especifiquemos quais dados vamos usar e como vamos guardá-los e o que deve acontecer sobre determinadas circunstâncias, que existem aos montes nos jogos. Porém, mas não menos importante, temos a lógica de programação. Para por nossas idéias em prática temos que escrevê-las, a forma com que escrevemos é a lógica de programação, a maneira de expor nossas idéias. Então, usarmos a linguagem para escrever nossos jogos e a lógica para escrever nossas idéias de maneira que o computador entenda.

Agora é a hora de definições, nós vamos escrever os jogos em uma linguagem específica, no caso duas, que estão dentro do grupo das preferidas por muitos, Java e C++. Não entrarei na discussão sobre qual a melhor linguagem, pois cada linguagem tem suas vantagens e já foi provado que para desenvolver jogos para desktop C++ tem maior performance.

Pronto, agora falta saber onde vamos escrever nossos jogos, no bloco de notas claro. Claro que não, vamos utilizar uma IDE, o Eclipse, que é umas das melhores IDEs para desenvolvimento, com diversos recursos, existem outras muito utilizadas também, como Visual Studio e Dev-cpp para C++ e o Netbeans para Java. O Eclipse não possui compilador para C++ nativo, por isso, para quem usa Windows, peço que leia este tutorial para integrar o Eclipse com o compilador C++ MinGW, que é uma versão do compilador GCC do Linux pra Windows.

O tutorial encontra-se em inglês, mais tarde eu posto uma versão simples em português pra quem tiver problemas com linguagens hehe.

Vlw gente, abraço a todos.
Leia Mais…

quinta-feira, 21 de agosto de 2008

Desenvolvimento

Bem, antes de começar qualquer coisa, quero falar sobre desenvolvimento.

Desenvolvimento é uma coisa divertida, a partir do momento que você gosta (claro) e que você se dedica, mas muitas pessoas não tem idéia do que vão encarar pra desenvolver um programa simples ou um jogo, muitos entram até mesmo pra faculdade de informática por simplesmente gostar de usar o computador, ou por querer trabalhar com coisas que não se encaixam no que é ensinado na faculdade, Office é um bom exemplo. Ou seja, o desenvolvimento, principalmente de jogos, é um trabalho demorado e que requer dedicação.

Outra coisa que deve sair da mente das pessoas é a mística que existe sobre jogos, como se uma coisa fosse fazer programas e outra coisa jogo, uma coisa totalmente diferente. Não é assim, da mesma forma que você faz um aplicativo você faz um jogo, utilizando algumas APIs específicas para imagem, som, controles, tudo que é usado para se comunicar com o usuário / jogador. Podemos utilizar umas linguagens mais "humanas" que são mais fáceis de interpretarmos e perdem um pouco na performance ou algumas que são mais parecidas com linguagens de máquina, linguagens de alto e baixo nível, respectivamente.

"Q @#$%^! é essa d linguagem, eu quero fazer um jogo, não ter aula d português *&^%$#@!"
Linguagens de programação é o que usamos para dar comandos para o computador e assim, fazer um programa. Parece simples, até é simples, mas é trabalhoso, pois temos que apresentar o cenário pro usuário e dizer pro computador todas as interações possíveis, tudo que pode acontecer e as devidas consequências delas, lembrando que por ser uma ciência exata temos que dar todas as instruções pro computador, pois se você não dá o comando ele não faz, simplesmente, ele não adivinha nada.

Essa é uma visão geral do que vamos encarar pela frente, no nosso próximo encontro vou falar mais sobre linguagens, citando exemplos. Como sempre eu agradeço e peço que comentem (sempre vou pedir pra comentarem), críticas construtivas sempre são bem vindas e elogios mais ainda hehe.

Até a próxima, abraço.
Leia Mais…

sexta-feira, 15 de agosto de 2008

O início

Fala galera, estou iniciando esse blog com a idéia central de falar tudo sobre desenvolvimentos de jogos. Atualmente estudo Ciência da Computação na Universidade da Cidade, no Rio de Janeiro, e entrei pra área com o intuito de desenvolver jogos. Antes de entrar na faculdade fiz uns jogos com um amigo usando um programa chamado Game Maker. A partir daí quis aprender a desenvolver jogos utilizando linguagens de programação, foi aí que aprendi Java. Bem, não vou me estender nessa breve introdução.

Não pretendo apenas postar coisas sobre desenvolvimento, mas também jogos, notícias e informações gerais, caso sejam importantes e até mesmo engraçadas.

É isso, espero que alguém leia, tome interesse e comente, pois todo comentário é sempre bem vindo.

Muito obrigado e um grande abraço,
Luciano Santos.
Leia Mais…