Ponto V!

Home
Vinícius Godoy de Mendonça
Meus jogosImprimir
Escrito por Vinícius Godoy de Mendonça

Neste artigo, trago a vocês alguns dos jogos desenvolvidos integralmente por mim. Infelizmente, não sou detentor dos direitos de projetos maiores, mas o conteúdo aqui é bem interessante e didático.

Vikanoid

vikanoid Um remake de Arkanoid foi o primeiro jogo que eu desenvolvi. Foi criado em Java. Motivo?

Era a linguagem que eu mais tinha contato na época.

Boa parte do conteúdo do programa foi baseado nos livros Killer Game Programming in Java (também disponível online), do Andrew Davidson e Developing Games in Java, do Dave Brackeen. Também estudei um bocado o tutorial do Space Invaders, do site Coke and Code. Particularmente, acho o Java uma linguagem excelente para quem está aprendendo a programar jogos: não tem as diversas das complicações do C++, tem uma poderosa e bem estruturada API para gráficos 2D e tem farta disponibilidade de bom material online na Internet.

Os fontes do jogo podem ser baixados aqui. Se você está só interessado em joga-lo, os binários podem ser baixados aqui. Para rodar o jogo, é necessário ter o Java 6 instalado. O jogo pode é jogado preferencialmente com o mouse, mas o teclado também pode ser usado.

Batalha Estelar

Batalha Estelar - Tela inicialDesenvolvi o batalha estelar para a disciplina de programação em C++ da pós graduação das Faculdades Positivo. Ele foi desenvolvido em C++, usando também a SDL. Peço desculpas por parte do código estar tão “java like”, mas eu tinha recém voltando para o C++. O design gráfico foi feito pelo pessoal da Troupe Comunicações.

O jogo é fortemente baseado em Star Control 1 e 2, principalmente no modo de batalha, jogo que eu fui muito fã. Aliás, um grupo de fãs como eu produziu um remake chamado Ur-quan Masters, que vale a pena ser baixado.

As músicas do jogo são as originais do Star Control 2. As versões remixadas foram feitas por um grupo que se intitulou Precursors, e podem ser livremente baixadas aqui.

Batalha estelar - jogo O jogo foi desenvolvido para ser jogado em dois jogadores. Cada nave possui uma forma de tiro e um poder especial diferente. Usar qualquer um deles demanda energia, que se recupera gradualmente com o tempo.

A rápida nave laranja, movimenta-se pelas teclas A, D, W, atira usando o shift da esquerda e fica invisível pressionando-se o control da esquerda. Como no caso dos Klingons no Jornada nas Estrelas, a nave volta a ficar visível caso dispare. Seus disparos são feitos através de dois canhões rápidos, mas de pouco dano.

Já a nave verde move-se lentamente, atira lentamente, mas tem um tiro poderosíssimo. Use as setas e o shift e control direitos para controla-la. Seu poder especial é recuperar vida, mas para isso ela gasta uma enorme quantidade de energia. Para sair do modo de batalha pressione x.

Você pode baixar os fontes do jogo aqui, os fontes não contém a pasta com os recursos, que pode ser obtida baixando um dos binários. Existem duas versões do jogo, uma delas com músicas em baixíssima qualidade e com apenas 1.3MB e outra com músicas em ogg de alta qualidade, de 24MB. Clique na quantidade de megas desejada para baixar. O jogo foi desenvolvido em 2 semanas de trabalho intenso (pelo menos 3 dias durante a semana + final de semana). Usarei esse jogo como protótipo de tecnologia para o meu trabalho final do curso, uma engine de IA para jogos. O processo de produção da engine, chamada Sofia IA, está disponível num blog próprio.

Jogador de Bejeweled

Jogador de Bejeweled - 3.394.845 pontos Esse programa não é exatamente um jogo, mas é tão interessante que não pude deixar de cita-lo aqui. O desafio da disciplina de Inteligência Artificial, do professor César Pozzer foi fazer um bot para jogar bejeweled. O programa joga diretamente no site da popcap. Simplesmente inicie um jogo novo, rode o programa, feche a janela dizendo que ele detectou a tela e observe ele jogando. Ele consegue manter-se por vários minutos, e faz jogadas de tirar o fôlego. Usei para ele usa árvore de busca com apenas 3 níveis de profundidade, isto é, ele é capaz de analisar a melhor combinação de 3 jogadas consecutivas.

O screenshot ao lado foi retirado após eu acompanhar o programa por 1 hora. Quem já jogou bejeweled sabe que um milhão de pontos é uma marca impressionante, o que dizer então de 3,3 milhões?

Os fontes foram feitos em C++ e podem ser baixados aqui, já os binários, aqui. Juntamente com fontes está o trabalho que entreguei para o professor, descrevendo o algoritmo utilizado em detalhes. Os binários contém dois arquivos executáveis. O bejeweled_smooth mostra a movimentação do mouse com mais suavidade e permite que você acompanhe as jogadas. Já o outro é o jogador hardcore, que move o mouse instantaneamente a atinge marcas impressionantes de pontos.

O bot foi desenvolvido em 6 horas de trabalho.

Caça à bandeira

bandeira O Caça a Bandeira é um jogo para programadores de IA. Os jogadores usam o editor de mapas para criar um cenário, e então, podem degladiar-se com seus 10 soldados, 3 médicos e seu general. O único problema? Quem controla esses personagens são scripts, feitos em groovy pelos próprios jogadores, que usam o framework do jogo para programar sua IA. A melhor IA vence.

O objetivo é simples: pegar a bandeira do adversário e levar até o x, posicionado no seu lado do campo. Somente o soldado pode carregar a bandeira (seja a sua própria ou a do adversário). Tanto o soldado, quanto o general podem atacar. O médico não ataca, mas cura soldados feridos. Soldados e médicos podem falar uns com os outros, desde que esses estejam em seu campo de visão, ou com o general, onde quer que ele esteja.

editor Os fontes do jogo podem ser obtidos aqui, enquanto os binários, aqui. É necesário Java 6 para rodar. Juntamente com ambos os arquivos existe um documento de texto, descrevendo detalhadamente como o programa funciona e quais comandos estão disponíveis para os escritores do script. Os binários também acompanham scripts de exemplos, bastante burrinhos por sinal. A mesma lógica é usada para cada time.

Esse programa foi feito em Java. Eu posso pensar em uma série de aperfeiçoamentos para ele, desde otimizações de código, até um esquema melhor para movimentação e ataques.

Um detalhe interessante é que os soldados deslocam-se usando o famoso algoritmo A*. A imagem do jogo também foi produzida pelo Troupe Comunicações. O jogo foi produzido pouco mais de duas semanas de trabalho realmente intenso e em dupla com um colega, o Marcos Y. Moribe.

Dica: Se o programa rodar muito lentamente no seu micro, experimente remover o fundo.

Campeonato Bola Gelada

bola1 Finalmente, meu primeiro jogo 3D. O Campeonato Bola Gelada foi fortemente inspirado pelos jogos Worms 3D (de onde tirei a imagem da mira, a música e o contador de tempo) e QuickBasic Gorilas. O jogo é para dois jogadores e nele dois times de pinguins brincam de atirar bolas de gelo um no outro. O jogo foi desenvolvido em C++ utilizando-se também OpenGL.

As imagens dos pinguins foram retiradas do site Polycount e são modelos do Quake 2 gratuitos. Nenhuma engine foi usada no jogo e todas as classes, inclusive a da carga dos modelos, são criação minha. Os skyboxes vieram desse site.

bola2 O jogo implementa 3 tipos de câmeras. Uma que persegue o pinguim enquanto ele anda, outra em primeira pessoa, para o momento do tiro e a última aérea, para que o jogador possa acompanhar a bola. A movimentação dos pinguins é feita através das teclas A D W. A mira é feita com o mouse, segurando-se o botão do mouse pressionado também controla-se a força. A bola é atirada ao soltar o botão ou quando a força máxima é atingida. É possível pressionar espaço para alternar entre a mira e a caminhada, desde que ainda reste tempo disponível para a atividade.

Ainda faltou acrescentar um placar. Outro probleminha é que faltou esperar a animação do pinguim atingido terminar para só então passar para a vez do próximo pinguim. Mas, no geral, o jogo ficou bem satisfatório, pois só foi desenvolvido em 3 semanas (poucos dias na semana, maior parte só nos finais de semana).

bola3 Além das aulas do Unicenp, também usei para o estudo esse tutorial sobre os modelos MD2, essa especificação dos modelos. Também usei o tutorial de câmera do site APRON, embora eu tenha adaptado o código para usar minha própria classe de vetores 3D. Adquiri no processo os livros Beginning Open GL Game Programming (que acabei nem usando nesse caso), do Dave Astle, 3D Math Primer (bem útil) do Fletcher Dunn. Também usei o clássico OpenGL Red Book, que está na minha lista de favoritos até hoje.

Aliás, não parei de estudar OpenGL quase nenhum segundo desde então.

Os fontes do jogo podem ser baixados aqui e, como no caso dos demais, não contém a pasta de recursos, disponível apenas nos binários. O jogo em si pode ser baixado aqui.


Outros jogos da Positivo e PUC/PR

O curso de especialização da Universidade Positivo deixou de existir. Entretanto, sua coordenação e parte da equipe pedagógica formaram a especialização e o curso superior tecnológico de jogos digitais da PUC/PR. No blog do Binder, coordenador desses cursos, você pode ver jogos desenvolvidos por outros alunos. Vale a pena conferir!

Outros jogos

Você pode também conhecer os jogos do Bruno Sanches, clicando nesse link.

Comentários (66)
  • pedroroxd  - Muito Loko
    avatar

    Opa
    Parabéns pelos jogos..
    O do penguin é o mais loko! xD
    17 mb O_o

  • Vinícius Godoy de Mendonça  - Valeu
    avatar

    Valeu. O do pinguim e o batalha estelar são grandes por causa das músicas.

    No caso do pinguim tem também os modelos MD2 que ocupam bastante espaço.

  • Intentor
    avatar

    Bacana sua iniciativa de disponibilizar os games com seus fontes!

    Parabéns!

  • MarkyHitchhiker  - AI
    avatar

    Meu favorito é o Caça a Bandeira.

    Quero ter tempo para implementar minha AI que duvido alguem vencer.

  • Vinícius Godoy de Mendonça  - Caça à bandeira
    avatar

    Eu tenho idéias para esse projeto. Começando por otimiza-lo e definir prazos máximos de processamento de IA.

    Atualmente, ele também está rodando a IA em todas as passadas do game loop, e eu gostaria de reduzir isso.

    Também penso em talvez jogar a IA para uma thread separada. Já que ela não é desenvolvida por mim, e sim por um terceiro, parece ser uma boa.

  • Amauri Barros  - Eu adimiro os teus conhecimentos
    avatar

    Eu queria no minimo aprender a fazer jogos pra celular, só por hobby mesmo.
    Se poder me dar umas dicas eu agradeço.
    :lol:

  • pedroroxd  - jMonkeyEngine
    avatar

    Opa, queria dar uma sugestão, para deixar o site mais completo... Tou começando com jMonkeyEngine agora, e tá muito difícil achar tutoriais para fazer jogos simples. Essa sua iniciativa de deixar o código nos jogos é bem legal... Enfim, o que eu estou sugerindo, é tutoriais sobre o jME3 com códigos..
    Vlws =)

  • Vinícius Godoy de Mendonça  - JME
    avatar

    A idéia é cobrir o básico de Java, que é mais relacionado a teoria geral de jogos e depois partir mesmo para o JMonkey.

    Aí levaremos a sessão de Java mais focada no Indie e Mobile, enquanto a de C++ fica para o programador hardcore.

  • Deivid  - Parabens
    avatar

    Cara parabens pelo seu trabalho!
    Eu queria saber:voce ganha o suficiente mexendo com programacao?
    Foi demorado fazer o Campeonato bola gelada?
    Eu to fazendo um curso tecnico em redes que envolve programacao, ja tem eu acho 1 mes e meio que eu comesei, eu fiz um jogo da forca sozinho usei comandos muito basicos e ele ainda e so um projeto.
    Se quiser da uma olhada nele ai e terminar ele ,to deixando o codigo .Ta em c++!Voce tem que digitar uma palavra por vez.

    #include
    main(){
    char n1, p1=63, p2=63, p3=63, p4=63, p5=63, p6=63, p7=63, p8=63, f1=8, f2=8, b1=8, b2=8, b3=8, b4=8, b5=8, b6=8;
    const char j1=2, j2=62, j3=60, j4=35, j5=47, j6=92;
    int i=1;
    while(i

  • Vinícius Godoy de Mendonça
    avatar

    Legal.

    Eu não acho o salário da área ruim. Fora que é uma das profissões que vc nunca fica desempregado.

  • Isabel  - Parabéns!
    avatar

    Olá Viny! Na minha facul eu aprendi quase nada de C, foi tudo focado em Java. Eu queria saber quais as reais vantagens da programação de jogos em C?
    Sei que a maioria esmagadora é feita em C.
    Imagino a linguagem C como bem mais complexa que Java :confused:

    Obrigada e Parabéns!
    Te conheço de um fórum de java( nao sei se posso falar o nome) e voce já me salvou várias vezes rsrs :D

  • Vinícius Godoy de Mendonça  - Java vs. C++
    avatar

    Oi Isabel, pode falar o nome do fórum sim. Seria o GUJ? Aqui não temos fórum, só esse mecanismo de mensagens simples.

    Eu já escrevi esse artigo, que compara a programação de jogos em Java com C++.

    Basicamente, as vantagens do C++ em relação ao Java são:
    a) melhor integração com o sistema operacional e com hardwares como joysticks, manches, volantes, etc.

    b) Um número absurdamente grande de bibliotecas;

    c) Possibilidade do uso de DirectX (não tem binding dessa biblioteca no Java);

    d) Única linguagem suportada em todos os consoles (o java não é suportado em praticamente nenhum console);

    e) Maiores possibilidades de otimização.

    Porém, programar em C++ é bem mais difícil que a programação em Java. Você precisará se preocupar com alocação de memória e detalhes de hardware que são totalmente abstraídos por lá. Por isso, ainda recomendamos o Java ou o C# como boas linguagens de estudo, para o desenvolvimento de jogos Indie.

  • Nicollas  - Curso Game Design
    avatar

    Isabel, Boa tarde,

    O post é antigo não sei se já conseguiu concluir o curso mas existe agora um curso específico de Game Design na Universidade Positivo, inclusive, acredito eu, que o Godoy é um dos professores.

    O ponto local é Primavera do Leste e aos sábados de 3 em 3 meses tem 1 encontro presencial.

    Fico aguardo do seu contato para conversarmos mais sobre.

    Att.,
    Nicollas Ricas

  • ViniGodoy
    avatar

    Não. Eu sou professor é da pós de programação de Jogos da PUCPR.

  • Isabel  - Jogos
    avatar

    É do Guj mesmo(valeu pelo JImagePanel !), eu sou iniciante no Java(construo sistema de estoques, refeitorio..o 'feijão com arroz'- por enquanto rsrs). Mas na verdade sempre amei os jogos, minha paixão desde os 6 anos de idade :dry: .
    Como moro no interior de MT, fica difícil, pois não tem facul específica de Computação Gráfica.
    De qualquer forma Viny, eu vou estudar por fora mesmo, vou dar uma olhada nos jogos que voce disponibilizou, tentar entender e começar a estudar física( Física tá no sangue, meu pai é engenheiro civil B) )
    Vou começar com Java, depois C# e finalmente C++..Aprender C++, vai ser um desafio maravilhoso!
    Muito Obrigada

  • Vinícius Godoy de Mendonça  - Games
    avatar

    Existem muitos cursos de especialização em jogos. Um deles é aqui no Paraná, na PUC-PR, onde dou aula. Quem sabe no futuro você não faz um?

    Enquanto isso, por que não tenta um game como trabalho de conclusão de curso? Se quiser, posso ser seu co-orientador à distância, como fiz com o David Buzzato, do JMario.

    Desafio é o que não falta nessa área. ;)

  • Nicollas  - Pós Game Design
    avatar

    Isabel, Boa tarde,

    O post é antigo não sei se já conseguiu concluir o curso mas existe agora um curso específico de Game Design na Universidade Positivo, inclusive, acredito eu, que o Godoy é um dos professores.

    O ponto local é Primavera do Leste e aos sábados de 3 em 3 meses tem 1 encontro presencial.

    Fico aguardo do seu contato para conversarmos mais sobre.

    Att.,
    Nicollas Ricas

  • Kleber Kruger
    avatar

    Caracaas! que massa... num sabia que tu desenvolve jogos... Parabéns!!!

    vou baixar os fontes pra estudar seus códigos! ;p

    Brigadão mesmo
    quando eu crescer quero ser igual vc
    =D

    hahaha

  • Elton  - Parabéns!!!!
    avatar

    Parabéns pelos jogos são fantásticos algum dia quero desenvolver alguns.
    Você conhece alguns cursos de linguagens de programação que podem ajudar?

    abraços boa sorte!

  • Vinícius Godoy de Mendonça
    avatar

    O ideal é fazer uma faculdade inteira, de ciência da computação. Dê uma lida nesse artigo aqui, que vai te esclarecer melhor esses pontos.

    Mas existem boas escolas com cursos bons de linguagens específicas, como é o caso da Caelum, mantenedora do GUJ, ou a Elaborata, aqui em Curitiba.

  • Rodrigo  - muito bom
    avatar

    Parabéns pelo trabalho Vinicius, eu admiro o potencial de quem desenvolve games.
    Você conhece alguma pós online para games?

  • Vinícius Godoy de Mendonça
    avatar

    Curso de pós graduação online, infelizmente, não conheço nenhum. Se ouvir falar, compartilhe aqui com a gente.

  • Rafael Manzi
    avatar

    Parabéns Vinícius, show de bola !!!

    Achei o site através do GUJ dos seus Posters, estava olhando os fóruns porque e para que ??

    Bom... Sou de pernambuco, faço ciência da computação e estou no 5º... enfim tenho alguns amigo de sala e juntamente comigo querendo formar uma equipe para fazer o projeto para montar um jogo MMORPG( RPG ), nós temos alguns histórias para o jogo e tal... pensamos de primeira mão fazer um jogo estilo lineage 2 ou Aion ou WOW... Só que sei, que ainda não temos conhecimento para isso, pois não vimos cadeira importantes com computação gráfica, AI e etc...

    Se tiver como você ajudar, vi alguns indicações de livros para estudo suas... seria bom mesmo para iniciastes estudar por eles?

    Qual linguagem seria a ideal para começar C ou JAVA?
    Detalhe: aqui estudamos C o curso quase todo e também JAVA, estávamos pensando e começar aprendendo com JAVA à fazer jogos, até porque JAVA temos acesso aos materiais + fácil.

    Gostaria de uma opinião sua, até porque acho essa área muito interessante!
    Aguardo uma resposta...!?

    Agradeço desde já!
    Abraço.

  • Rafael Manzi
    avatar

    ....Continuação....

    Gostaria de uma opinião sua, até porque acho essa área muito interessante!
    Aguardo uma resposta...!?

    Agradeço desde já!
    Abraço.

  • Rafael Manzi
    avatar

    :S

    Ops... iniciastes não é iniciantes, erro ai! xD
    Desculpa se tiver +, o sono é maior! xD

    abraço.

  • Vinícius Godoy de Mendonça  - Dicas
    avatar

    Você já fez algum jogo? Se não fez... ESQUEÇA O MMORPG.

    Bom, pelo menos por enquanto. Comece fazendo jogos mais simples.

    Qualquer jogo é muito mais complexo que as aplicações de cadastro e relatório que você deve estar acostumado. Faça jogos mais simples para testar linguagens, como o Java, o C++ e o C# e ver qual você mais se adapta.

    Comece com um jogo 2D single player. Pode ser um de plataforma, como o mário, ou um puzzle, como o Tetris. Não implemente sinuca!!

    Depois, parta para um jogo 3D simples, como o Worms.

    Em seguida, estude redes e faça um jogo multiplayer, para 2 ou 3 jogadores, rodando em rede local. Porte então esse jogo para internet e estude as técnicas para disfarçar o lag.

    Só então, comecem o MMO. Lembre-se que o primeiro "M" do MMO é de "Massive". Portanto, você terá que estar preparado para otimizar muito o servidor. Uma coisa é fazer um jogo para 5 jogadores numa LAN, outra completamente diferente é fazer para 8000. Logo aparecerão os problemas de gargalos de banda, latência e performance no server.

    O caminho é longo, mas é muito prazeroso. E se um dia puder, venha fazer a pós de jogos na PUC/PR aqui comigo! Será um prazer te-lo como aluno. ;)

  • Vinícius Godoy de Mendonça
    avatar

    ...blemas de banda, gargalos, latência e performance no server.

    O caminho é longo, mas é muito prazeroso. E se um dia puder, venha fazer a pós de jogos na PUC/PR aqui comigo! Será um prazer te-lo como aluno. ;)

  • Rafael Manzi
    avatar

    Obrigado Vinícius!

    Vou fazer o que você falou e quem sabe num futuro próximo faça uma pós por ai, até porque aqui não tem pós nesse área.

    agradeço mais uma vez sua atenção!
    abraço.

  • Everton Gomes  - Parabens, Muito Fino hehe
    avatar

    Parabéns Vini, tava jogando aqui agora o do pinguin, ficou muito legal.

    Quando vai implementar um dotinha agora? kkkk

    Parabéns!!!

  • Vinícius Godoy de Mendonça
    avatar

    avatar

    Dota eu não sei, mas meu próximo game provavelmente vai ser um remake do Antarctic Adventure, da Konami.

    Agora, quando terei tempo de implementar? Provavelmente só no ano que vem...

  • Everton Gomes
    avatar

    Geralmente vc leva quanto tempo pra fazer um game assim?

    Voce sabe em que linguagem dota foi feito?

    Parabens mais uma vez :lol:

  • Vinícius Godoy de Mendonça
    avatar

    Deve ter sido desenvolvido em C++. O jogo do pinguim eu levei em torno de 3 semanas para desenvolver.

    O Dota leva vários meses. É só colocar rede no meio que a coisa complica bastante.

    Isso claro, sem falar na parte artística e na produção de conteúdo.

  • Edson Camacho  - Programador C++
    avatar

    Olá meu brother Vinicius,

    Parabéns pela pagina, muito legal, acredito que é um begin para os adeptos a programação de jogos, sou programador C++, estou atualmete tentando dar continuidade em um jogo que iniciei desenvolvimento, mas meu tempo é curto, pois não é minha area especifica, mas a intenção é terminar pelo menos o demo.
    Grande abraço!

    Uso os aplicativos para o desenvolviemnto do jogo:
    VC++.....................Codigo
    3D Studio Max.........Modelos 3D
    Photoshop..............Texturas
    SoundForge............Audios e efeitos sonoros

  • Vinícius Godoy de Mendonça
    avatar

    Legal, quando finalizar um, posta em algum lugar para vermos. :D

  • Mauro do Vale
    avatar

    Olá vinícius. Comecei a cursar informatica, e já conclui 1º periodo. Ainda não cheguei em C++, apenas na linguagem C. Já criei jogos como
    Pac-man, jogos de cartas, street- fighter...mas com melhor lógica foi o pac-ma. Ainda nao consigo colocar musica e gráficos..apenas uso ASCII. Da pra add meu e-mail e trocarmos informações?

  • Vinícius Godoy de Mendonça
    avatar

    Oi Mauro.

    Procure estudar sobre a SDL. É uma biblioteca para C, que permite que você integre o som e as imagens. É muito poderosa, multiplataforma e já foi usada em jogos profissionais, como Neverwinter Nights.

    Sites bons sobre ela são:
    http://lazyfoo.net/
    http://www.sdltutorials.com/

    Abraços,

    Vinícius

  • Jose Clailton  - Gostaria de ajuda em criação de jogo.
    avatar

    Ola Vinicius gostaria apenas de uma dica sua, eu estou estudando JAVA, tenho em mente um projeto de fazer um jogo para ser jogado em Browser de cartas. O jogador ira puxar as cartas para colocar no tabuleiro e acho que isso sera a maxima de movimentação que ele terá, sera ele puxa as cartas, ele ve as cartas vindo para o seu deck. Gostaria de uma opinião de qual linguagem usar, posso usar JAVA ou Flash ou PHP? o Jogo seria como o jogo: Travian, tendo como diferença os movimentos das cartas. www.travian.com. Espero que vc me mande uma resposta por email, ficaria muito agradecido pela sua ajuda. Obrigado.

  • José Filho  - Dúvidas sobre os códigos
    avatar

    Olá Vinicius, gostaria de saber se há alguma licença ou restrinção para uso dos códigos dos seus jogos. Eu estava desenvolvendo uma engine 3D ( ZoguWare ) e esta baseia parte do código-fonte do Bola Gelada e porções do Batalha Estelar, adaptada para 3D, além de outros códigos meus.

    Abraços.

  • Vinícius Godoy de Mendonça
    avatar

    Os códigos também seguem a Creative Commons. Você pode pega-los e alterá-los, desde que cite as fontes.

    Já que você tirou daqui do portal, nada mais justo que você nos divulgue, certo? :)

  • José Filho
    avatar

    Ok. As idéias da Creative Commons são bem justas.
    Pode deixar que as fontes serão citadas.

    Em breve também lançarei minha ZoguWare! ;)

    Obrigado!

  • Vinícius Godoy de Mendonça
    avatar

    Ok, depois que ela tiver pronta, manda o link para avaliarmos. E se quiser fazer alguns tutoriais e descrever como foi o processo de desenvolvimento, entre em contato. ;)

  • adailton  - bom
    avatar

    os jogos de voces sao muito bons cara vinícius conheço seus posts do guj acho que voce é moderador de la.

    entao presumo que voce deve programar esses games em java né?

    fico ansioso por um tutorial explicando quais protocolos voce usa nos seus jogos, e se forem opensoucer postar um tuto para que possamos nos aprofundar nos estudos de mmrpg valew cara.

  • Anônimo
    avatar

    Sou mais um parabenizando seu bom trabalho.

  • Vingdel
    avatar

    Olá, Vini!

    Participo do GUJ e apesar de não ser minha área, gosto de programar. Meu processo de aprendizagem talvez seja bem lento por não ter um cronograma de aprendizado como quem é estudante da área, afinal tudo que aprendi foi lendo conteúdo da internet e exercitando no GUJ e com certeza aprendi muito contigo lá no fórum.

    Eu tenho vontade de fazer um jogo de xadrez para duas pessoas, sem IA a princípio, e a base que tenho para essa vontade é o xadrez do site FlyOrDie, acredito que você conheça.

    Você teria alguma dica para me dar com relação a implementação de um jogo de xadrez como o do site FlyOrDie?

    Um abraço e parabéns pela sua capacidade!

  • Vinícius Godoy de Mendonça
    avatar

    A parte gráfica de um jogo de xadrez é bastante simples. Normalmente o problema não será aí.

    A dureza é mesmo representar o tabuleiro e testar o movimento das peças (e, no futuro, fazer a IA). Para isso, usamos um conceito chamado de "BitBoards".

    Sugiro que você siga a série do Elemarjr:
    http://elemarjr.net/tag/xadrez/

  • Ricardo Nascimetno  - Novo caminho...
    avatar

    Olá Vinicius.
    Primeiramente agradeço muito pela sua disposição em compartilhar informações tão preciosas para quem está pesquisando sobre desenvolvimento de jogos. Já fui beneficiado também com sua contribuição em postagens sobre desenvolvimento Java no GUJ.
    Gostaria de pedir ajuda, pois programo a vários anos, utilizando inicialmente Pascal/Delphi, C/C++ (adoro) e atualmente quando faço algo é PHP para WEB e Java para Desktop. Entretanto, sou muito indeciso nos estudos e sempre quero buscar outro caminho, outra API ou biblioteca, as vezes evitar o uso delas para reinventar a roda... E o perfeccionismo muitas vezes me leva a estagnação, frustração, me deixando no absoluto fracasso.
    Já trabalhei com Assembly de PIC e muito pouco com C# criando módulos para OpenSim.... Além disso tenho ganho meus trocados (pasme) fazendo scripts em LSL integrados com PHP para o Second Life. tenho feito jogos educacionais em Java (coisa simples) também, para uma universidade...
    Estou querendo mudar esta confusão e me aprofundar em somente uma linguagem para desenvolvimento de jogos, e gostaria de fazer a escolha certa para ter condições de criar um portfólio para demonstrar que realmente entendo daquilo em questão.
    O problema é o "aquilo".
    Java (Java2D, Java3D, JMonkey)? C++ (OpenGL, SDL, DirectX, Ogre3D)? UDK? Unity3D? ActionScript3? O que você indica para alguém que já é programador, não quer mais fazer relatórios, sites em PHP ou programas de cadastro e consulta em Java. Alguém que gosta muito de algoritmos, jogos, desafios e o que realmente deseja é dominar uma tecnologia de games para se sustentar financeiramente e se realizar profissionalmente? Possivelmente, mas não necessariamente iniciando com produção Indie para ver algo free ser degustado.
    Vinha estudando AS3 (usando somente FlashDevelop e Flex SDK) que gostei muito, porém com essa história da "morte" do Flash, por causa do HTML5, e sua ausência em iPad, fiquei frustrado e me vendo novamente no caminho errado. Porém gostaria de colocar inicialmente meus jogos em sites gratuitos para serem jogados em navegadores, para poder receber feedback e possivelmente me motivar mais ainda com isso.
    Jogos para desktop requerem mais "vontade" do usuário, pois necessita do download, a expectativa é maior e também entra a questão de portabilidade. Neste requisito, Java parece mais interessante. Já Applet com jogos parece não ser promissor, correto?
    Puxa.. Escrevi demais, mas teria muita coisa pra falar ainda.
    Mas resumindo.... Se hoje você só desejasse trabalhar com jogos, não conhecesse profundamente nenhuma das tecnologias e precisasse escolher uma para cair de cabeça e viver dela, qual seria?

    Desde já agradecido :)
    Abraço e até mais!

  • Vinícius Godoy de Mendonça
    avatar

    Primeiramente, a menos que você vá apostar pesado em Android, esqueça java para jogos. Nada de applets, nem Java2D, nem JMonkey. É a plataforma inadequada para esse tipo de desenvolvimento.

    Bem, que tipo de jogo você gostaria de desenvolver? Se for para entrar no mercado nacional mais "hardcore" o caminho é mesmo aprender Unity com C#.

    Se for desenvolver games educacionais (que é outro grande mercado no Brasil) aposte no HTML5 para o futuro, e no flash para o presente (e futuro legado). Se quiser apostar em desenvolvimento móvel, as tecnologias predominantes são novamente a Unity e engines específicas para plataforma, como a Cocos-2D.

    Agora, se quiser ir para o exterior, ou quiser trabalhar com tecnologias mais interessantes, não necessariamente ligada a jogos, continue com seus estudos no C++. Aí, além de jogos, você poderia tentar vagas na indústria de telecomunicações, energia, etc... e fazer coisas bem mais interessantes do que CRUDs web. Esse último é o caminho que segui, e não me arrependo.


    Eu sei que no fundo citei quase tudo o que você já falou. Mas é importante que você pense no SEU FOCO. Note que contextualizei o nicho de cada tecnologia, portanto, você deve é decidir em que nicho quer atuar.

  • Ricardo Nascimento
    avatar


    Opa! Muito obrigado pela resposta! Já me livrou de um peso enorme, pois não pretendo me focar dessa forma em Android (não é o foco), logo já vou parar com essa de JMonkey e Java 2D.

    Fiquei curioso por citar Unity no mercado hardcore, pois vinha acreditando que neste seria melhor C++. O mercado de game "hardcore" me interessa muito, mas não estava pensando nessa distinção entre jogos casuais/educacionais, que para inicio parecem ter maior visibilidade através da WEB inclusive através de APP's em redes de relacionamento como Facebook e Google Plus.

    Quanto ao HTML5 a idéia AINDA não me agrada, e não adianta me dedicar ao estudo de algo que tenho certa aversão, mas isso pode ou deve passar.

    AS3 me atrai muito, pois praticamente é só que vejo em jogos pela WEB, em sites como ArmorGames que não me parece que vão simplesmenten morrer, mas... Se falam tanto desse declínio e possível fim do AS3, não vale investir nisso agora, certo? Logo sobraria Unity para esse fim?

    Veja que não estou focado em fazer exatamente aqui ou ali, mas sim atingir um mercado com uma linguagem que me agrade e possa ver resultado do meu trabalho, através de pessoas jogando. E nesse aspecto fico MUITO tentado em atingir a WEB (por isso o fascínio pelo AS3). Neste sentido gostaria de sua opinião sobre jogos em Unity3D que rodam com plugin no browser... Isso vai adiante? Já que o grande problema do AS3 é aparentemente o plugin?
    Tenho interesse (e muito) em iOS e gostaria de ter um MAC para desbravar o Objective-C (mas no momento não é opção). E falando disso fiquei com um pé atrás com cometários de que Unity não é muito bom para iOS (trava, bug, etc... verdade?).

    De qualquer forma depois de sua resposta estou inclinado a estudar C++ e/ou Unity3D. C++ por adorar a linguagem e do poder que ela tem, e Unity3D por parecer ser uma excelente opção que atinge qualquer tipo de mercado de games no momento, correto? Existem jogos para iPad, PC e WEB. Porém quanto a WEB fica a questão do plugin e iPad a qualidade.

    Bem, agradeço demais sua atenção e vou amadurecer o meu foco estudando estas ferramentas. Mas o fato é que desejo muito saber que agradei alguém através de um jogo e ter futuro profissional nessa área. Logo, não me importa muito se o jogo vai ser somente em PC ou iPad, harcore ou casual, pois gosto de todos desde que bons jogos. Sei que parece meio vago demais, mas não penso em qual jogo quero fazer agora, e sim que quero dominar uma ferramenta de fazer jogos, desde puzzle até jogos de estratégia.

    Obrigado! Ajudou muito!
    Abraço!

    PS: Desculpe qualquer redundância, controvérsia, confusão, chatice ou excesso de texto .

  • Edmilson Carvalho  - Vinicius preciso contactar contigo.
    avatar

    Me desculpe contactar por aqui, mas foi a ultima forma que encontrei.
    se puder me enviar um email para ejmc.carvalho@gmail.com vou estar muito grato. Atualmente estou desenvolvendo un projeto e preciso de algumas de uma consultoria.
    obrigado.

  • Anônimo
    avatar

    Opa! Muito obrigado pela resposta! Já me livrou de um peso enorme, pois não pretendo me focar dessa forma em Android (não é o foco), logo já vou parar com essa de JMonkey e Java 2D.

    Fiquei curioso por citar Unity no mercado hardcore, pois vinha acreditando que neste seria melhor C++. O mercado de game "hardcore" me interessa muito, mas não estava pensando nessa distinção entre jogos casuais/educacionais, que para inicio parecem ter maior visibilidade através da WEB inclusive através de APP's em redes de relacionamento como Facebook e Google Plus.

    Quanto ao HTML5 a idéia AINDA não me agrada, e não adianta me dedicar ao estudo de algo que tenho certa aversão, mas isso pode ou deve passar.

    AS3 me atrai muito, pois praticamente é só que vejo em jogos pela WEB, em sites como ArmorGames que não me parece que vão simplesmenten morrer, mas... Se falam tanto desse declínio e possível fim do AS3, não vale investir nisso agora, certo? Logo sobraria Unity para esse fim?

    Veja que não estou focado em fazer exatamente aqui ou ali, mas sim atingir um mercado com uma linguagem que me agrade e possa ver resultado do meu trabalho, através de pessoas jogando. E nesse aspecto fico MUITO tentado em atingir a WEB (por isso o fascínio pelo AS3). Neste sentido gostaria de sua opinião sobre jogos em Unity3D que rodam com plugin no browser... Isso vai adiante? Já que o grande problema do AS3 é aparentemente o plugin?
    Tenho interesse (e muito) em iOS e gostaria de ter um MAC para desbravar o Objective-C (mas no momento não é opção). E falando disso fiquei com um pé atrás com cometários de que Unity não é muito bom para iOS (trava, bug, etc... verdade?).

    De qualquer forma depois de sua resposta estou inclinado a estudar C++ e/ou Unity3D. C++ por adorar a linguagem e do poder que ela tem, e Unity3D por parecer ser uma excelente opção que atinge qualquer tipo de mercado de games no momento, correto? Existem jogos para iPad, PC e WEB. Porém quanto a WEB fica a questão do plugin e iPad a qualidade.

    Bem, agradeço demais sua atenção e vou amadurecer o meu foco estudando estas ferramentas. Mas o fato é que desejo muito saber que agradei alguém através de um jogo e ter futuro profissional nessa área. Logo, não me importa muito se o jogo vai ser somente em PC ou iPad, harcore ou casual, pois gosto de todos desde que bons jogos. Sei que parece meio vago demais, mas não penso em qual jogo quero fazer agora, e sim que quero dominar uma ferramenta de fazer jogos, desde puzzle até jogos de estratégia.

    Obrigado! Ajudou muito!
    Abraço!

    PS: Desculpe qualquer redundância, controvérsia, confusão, chatice ou excesso de texto :).

  • Vinícius Godoy de Mendonça
    avatar

    A Unity é para o mercado hardcore brasileiro (dê uma olhada em games como o Toren e o Legend Alive). O internacional fica por conta do C++ mesmo.

    Em web, eu acredito bastante no html5.

  • Vinícius Godoy de Mendonça
    avatar

    Para jogos web, eu seguiria estudando o AS3 e o HTML5 mesmo. No caso do HTML5 é difícil saber se o que vai vingar é o canvas ou o webgl. Mas ambos são ótimos e devem substituir o flash no futuro.

  • Rhuan  - Parabéns
    avatar

    Parabéns Vinícius. Eu já seguia vários posts seus que sempre me ajudaram muito no GUJ. Não sabia que você era desenvolvedor de games mas estou honrado com a sua ajuda no mundo binário. Muito obrigado por disponibilizar os códigos, estudo na UFG e juntei um grupo com mais dois amigos para que possamos desenvolver jogos, para meio de estudo. Estamos criando vários em HTML5 e futuramente estaremos fazendo também para Android.

  • Lucas
    avatar

    Nossa cara, parabéns.
    Vendo esses jogos que você criou só me da mais vontade
    de programar, principalmente em java.
    Eu por enquanto só criei um jogo da forca e um
    jogo da velha kk, mas vou me esforçar e tirar minhas dúvidas no GUJ.
    Abraço! ;)

  • Natalia Alves  - Parabens
    avatar

    Cara muito bom , os artigos , os jogos , tudo .Parabens!
    Voice teria video-aulas ?
    pois precisamos fazer algo de multimidia que envolva educacao , gostaria que fosse um joguinho educativo.
    como comecar?
    que software voce recomenda?

  • Ramon Lobo  - Linguagens de Programação Utilizadas
    avatar

    Ola , estou com um projeto meio complexo em relação a desenvolvimento de games , voce sabe em qual linguagem os jogos atuais sao programados ? Eu estou Mexendo com o Crysis 3 . Eu precisaria Mecher na engine e na dinamica dos mapas . Agradeço desde Já

  • Alex Ferreira  - Game em C
    avatar

    Olá Vinicius,
    estou começando a programar em C e estou tendo todas dificuldades possiveis, kkk.
    voce tem algum exemplo em C somente de algum game educativo que eu possa ver ou ter como referencia?

    e parabéns, pelo trabalho, esta ajudando muitas pessoas.

  • Vinicius Godoy
    avatar

    Siga os tutoriais do lazyfoo, são bem didáticos: http://lazyfoo.net/SDL_tutorials/

  • Anônimo  - Qual plataforma devo desenvolver jogos para web
    avatar

    Olá Vinicius, estou com um projeto, onde vou criar um site com disponibilidade de jogos para ser jogado na própria página.

    Porém, esses jogos terá ranking, consequentemente precisarei do máximo de segurança.

    Qual linguagem você me indicaria? Futuramente desenvolverei para o Mobile também.

  • raghy  - nao abriu aqui
    avatar

    Microsoft Windows XP [versão 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.

    C:\Documents and Settings\FCEE>cd desktop

    C:\Documents and Settings\FCEE\Desktop>java -jar vikanoid.jar
    Using 800x600 screen resolution
    with 32 bits in bit depth
    and 56 refresh rate.

    Updates per second rate: 56
    java.lang.IllegalArgumentException: Mixer not supported: null
    at javax.sound.sampled.AudioSystem.getMixer(Unknown Source)
    at jgf.sound.SoundManager.getMaxSimultaneousSounds(SoundManager.java:84)< /p>

    at jgf.sound.SoundManager.createThreadPool(SoundManager.java:63)
    at jgf.sound.SoundManager.(SoundManager.java:40)
    at core.GameSettings.(GameSettings.java:112)
    at core.GameSettings.(GameSettings.java:38)
    at core.GameCore.(GameCore.java:39)
    at core.ViKanoid.(ViKanoid.java:29)
    at core.ViKanoid.main(ViKanoid.java:42)

    C:\Documents and Settings\FCEE\Desktop>


    deu este erro, incompatibilidade de som.

  • Vagner Brentan  - Parabéns
    avatar

    Parabéns pelo teu trabalho e obrigado por compartilhar conosco.

    Estou com uma dúvida e não sei se esse é o lugar mais indicado para isso;

    Caso seja inconveniente peço desculpas de ante mão.

    É uma dúvida que creio ser simples para você responder.

    Estou a desenvolver um game de plataforma Estilo Mario Bros.

    Com Background usando Parallax e Scrolling de tela.

    E os itens baseados em Tiles, porém chegou um ponto aonde me perdi na parte de inserir os Inimigos do game.

    Gostaria de uma dica de que forma devo inseri-los?

    Criando um mapa para isso, ou incluindo no mapa principal aonde são inseridos os objetos, bônus, componentes do cenário.

    Ou devo inseri-los pelo código de posicionamento (x,y).


    Muito obrigado e desculpe algum transtorno.
    Abraços.

  • Alan  - Parallax
    avatar

    Vagner, de qual parallax vc está falando? O que foi desenvolvido por Michel Monteiro?

  • Anônimo
    avatar

    Gostaria de implementar o puzzle 15 em c, é difícil??
    pode me dar uma dicas??

  • Guimabrown  - Procurando jogo
    avatar

    Oi, Vinicius! Estou procurando um jogo que jogava há muito tempo e não consigo lembrar nome. Procuro na internet por imagens, fazendo pesquisa por palavras chaves mais não encontro. Será que pode me ajudar?

  • Guimabrown  - procurando jogo 2
    avatar

    Trata - se de um jogo bem simples. provavelmente eu o jogava por volta de 2004/2005... você começava numa ilha com bem poucas ferramentas para construir algumas edificações. Construia aeroportos e fábricas de onde saiam aviões e caminhões que construiam mais coisas. Mas você tinha um tempo pra construir essas coisas antes que invadissem sua ilha e destruíssem tudo com bombardeios. Você devia tentar adquirir uma capacidade tal de produção que te permitia construir coisas que te permitissem se defender e invadir outras ilhas antes que elas também ficassem fortes e te invadissem. Tinha um visual bem simplificado. Não tinha desenhos elaborados como os de hoje... Era um visual de Atari melhorado, acho... Mas jogava - se em pc.

Escrever um comentário
Your Contact Details:
Gravatar enabled
Comentário:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch::(:shock:
:X:side::):P:unsure::woohoo::huh::whistle:;):S:!::?::idea::arrow:
Security
Por favor coloque o código anti-spam que você lê na imagem.
LAST_UPDATED2  

Busca

Linguagens

Twitter