Aprenda Java se divertindo com Greenfoot, Robocode e outros projetos educativos

Olá,

para aqueles que assim como eu estão aprendendo Java e se interessam por [size=18][color=blue]Programação de Jogos[/color][/size], precisam conhecer esses 2 projetos. Outros projetos educativos serão adicionados posteriormente.


http://www.greenfoot.org/index.html

O Greenfoot é um ambiente de desenvolvimento Java interativo, concebido essencialmente para fins educacionais no ensino médio e graduação. Ele permite o desenvolvimento rápido de aplicações gráficas 2D, tais como simulações e jogos interativos.

O Greenfoot está sendo atualmente desenvolvido na Universidade de Kent, com o apoio da Sun Microsystems. É software livre e sua aplicação baseia-se no ambiente de desenvolvimento BlueJ. O Greenfoot está disponível para Microsoft Windows, Mac OS X, Linux, Sun Solaris, com a JVM instalada.

O site está repleto de tutoriais e video tutoriais mostrando passo a passo como programar em Java usando o [color=green]Greenfoot[/color].

http://www.greenfoot.org/doc/tutorial/Brazilian/Tutorial%20do%20Greenfoot.htm

http://blogs.kent.ac.uk/mik/2008/01/20/teaching-my-daughter-to-code/


http://robocode.sourceforge.net/

O Robocode é um jogo educativo Open Source (para programadores) iniciados por Mathew Nelson (originalmente fornecido pela IBM). O jogo é projetado para ajudar as pessoas a aprender a programar em Java ou, a partir da versão 1.7.2, Linguagens de programação NET Framework (C#, VB.NET, etc), e desfrutar da experiência. É muito fácil começar - um robô simples pode ser escrito em apenas alguns minutos - mas aperfeiçoar um bot pode levar semanas ou mais.

Os competidores/programadores escrevem código para controlar um tanque em miniatura. Os tanques podem se mover, atirar ou procurar por outros tanques e até bater nas paredes (caso não sejam bem programados). Embora pareça brincadeira de criança numa primeira olhada, o negócio não é tão simples assim. Bons robôs podem ter milhares de linhas em seu código dedicadas à estratégia. Alguns dos robôs mais bem sucedidos usam técnicas como análise estatística ou as tentativas de redes neurais em seus projetos…

O lema do Robocode é: Construa o melhor, destrua o resto!

Escolas e universidades estão usando Robocode para ensinar a programar e também para estudar inteligência artificial (IA). O conceito do Robocode é fácil de entender, é uma maneira divertida de aprender a programar.

Robocode vem com seu próprio instalador, editor interno de robô e compilador Java, o único pré-requisito é ter uma Máquina Virtual Java (JVM) instalada no sistema onde ele será instalado. Assim, tudo que um desenvolvedor de robôs precisa para começar é fornecido com o arquivo principal de distribuição do Robocode (Robocode-xxx-setup.jar). O Robocode também suporta o desenvolvimento de robôs utilizando IDEs externas, como por exemplo, [color=blue]Eclipse, IntelliJ IDEA, NetBeans, Visual Studio[/color] etc, que oferecem um desenvolvimento muito melhor do que o editor de robôs em Robocode.

Existem inclusive, equipes de programadores de Robocode espalhadas pelo mundo, fazendo competições em vários países.

Os melhores artigos e tutoriais sobre Robocode que encontrei na internet:

PORTUGUÊS

http://www.athanazio.com/wp-content/robocodeiniciante.swf

http://www.lac.inpe.br/~rafael.santos/Docs/Robocode/introprog-1x2.pdf

http://www.ceset.unicamp.br/liag/robocode/Robocode.pdf

INGLÊS (os melhores)

http://robowiki.net/wiki/Robocode/My_First_Robot

http://www.eng.auburn.edu/~sealscd/AI/robocode/

Inclusive, quem está procurando projetos para se meter e dar uma futricada para aprender ou melhorar suas habilidades em programação Java (ou outra linguagem), pode se inscrever nos dois maiores repositórios de código fonte e participar de algum projeto existente ou criar o seu próprio (sob vários tipos de licenças):

SourceForge

Freshmeat

Bons estudos! :smiley:

Uma outra opção bacana é o Scratch (mas não é Java): http://scratch.mit.edu/

O robocode é ótimo, um clássico.

Eu ainda não conhecia o GreenFoot.

PS: Se você se interessa por programação de jogos, vai gostar de ver o meu site, o Ponto V! (link abaixo). Também dê uma olhada na Unity3D.

O único problema da Unity3D é que nela é usado C# ao invés de Java.

Editei o título para adicionar mais projetos educativos aqui. Eu ainda não estudei o Greenfoot e nem o Robocode, apenas pesquisei por alto. Garimpando na internet certamente vc vai encontrar bastante material interessante sobre esses projetos, inclusive em português. Outro projeto interessante

http://www.alice.org/index.php

E aqui tem uma lista de engines 2D e 3D:

Ou se quiser uma lista constantemente atualizada e saber de categorias mais específicas, como descrição, linguagens utilizadas, plataformas, API, se é grátis ou não, etc:
[size=24]Engines[/size]

C# e JavaScript. Mas porque isso é um problema?

O equivalente Java é o JMonkeyEngine.

Porque não é em Java. Depois acho que ainda é muito cedo para eu, como iniciante, me dedicar ao desenvolvimento 3D. É melhor começar por baixo mesmo. Vou testar o Robocode nesse final de semana. :slight_smile:

Ah sim, respondi pq o fórum é publico e você não é o único desenvolvedor de jogos que passará por aqui. :slight_smile:

Ah sim, respondi pq o fórum é publico e você não é o único desenvolvedor de jogos que passará por aqui. :)[/quote]

Entendo. A ideia inicial do tópico é mostrar projetos para quem quer desenvolver jogos em Java. Porque se vc pesquisar vai descobrir muito mais projetos em C++ por exemplo, do que Java. Tem de tudo por aí. Quero fazer uma lista de projetos educativos em Java, porque afinal é isto que estudamos e até porque não sei a respeito dos outros, mas eu, prefiro me dedicar à uma linguagem de cada vez. Ou tu recomenda que se estude C# e Java ao mesmo tempo, Vini? Aproveita e posta mais projetos aí que tu conheça…

Valeu!