O autor

Olá,

facebook2Se você entrou aqui é porque deve estar se perguntando quem escreve esses artigos. Meu nome é Vinícius Godoy de Mendonça. Nasci em 1980 e trabalho profissionalmente com informática desde 1996, embora brinque com programação desde a infância. Moro na cidade de Curitiba/PR e me formei UTFPR como tecnológo em informática, mas já era antes disso técnico pela ET/UFPR.

Como quase todos, iniciei minha carreira em sistemas tradicionais de cadastro e relatório. No curso técnico, fiz um sistema em Delphi para auxílio a escolas que permitia a criação de aulas e um banco de questões chamado “Assitente de Classe”. O sistema foi premiado na Mostratec, da Fundação Liberato, em primeiro lugar.

Na faculdade, trabalhei como estagiário na Datran, uma empresa de consultoria em UML. A experiência retirada dessa empresa se mostrou muito mais valiosa do que eu poderia supor na época. De lá, parti para desenvolvimento web numa empresa chamada TWIC, terceira do HSBC, onde desenvolvi um sistema de planejamento de capacidade de agências e centros de custos chamado Capacity Plan.

Meu interesse por coisas diferentes me direcionaram para uma empresa chamada Sysmart, terceira da VISA, onde desenvolvemos um sistema de controle de frotas que usava, entre outras coisas, C++, sistemas distribuídos – para processamento das transações de crédito – e tecnologia SmartCard. Fui resposável pelo desenvolvimento integral do sistema, desde a análise até a programação.

Estive na Siemens de 2003 até 2009, trabalhando com sistemas de testes de centrais telefônicas. Usamos bastante Java, Groovy, threads, padrões de projeto, implementação de protocolos e aplicações orientadas a plugins. Existem diferentes tipos de centrais (analógicas, digitais, IP) que se comunicam com o micro de diferentes formas (serial, IP, SSH, telnet) e isso nos força a criar sistemas muito flexíveis. Há também bastantes cenários de testes, até por isso o nosso sistema permite que os usuários descrevam esses cenários em scripts Groovy, que podem rodar tanto sequencialmente, quanto em paralelo, verificando milhares de possíveis situações de falha, vendo como a central se comporta em carga ou mesmo realizando testes de regressão para garantir que o que antes funcionava continua funcionando. Tive de desenvolver uma biblioteca de simulação de telefones também na Alemanha, na cidade de Paderborn, num projeto de 3 meses.

Também fui coordenador técnico de um grupo de programadores na Positivo Informática, na área de Novos Produtos. Desenvolvemos sistemas ligados à area educacional usando tecnologia de ponta, como aplicações com realidade aumentada para educação infantil, mesas multi-toque, uso de SMS na educação, etc. Nesta época, também coordenei o desenvolvimento da edição de 100 anos do dicionário aurélio eletrônico, em parceria com a Editora Positivo. O aplicativo foi lançado para todas as plataformas, inclusive o “novíssimo” Windows 8.

Após a Positivo, atuei como gerente de TI na Sinax. Tratava-se de uma empresa de gestão documental e BPMs. Desenvolvemos por lá uma solução própria, chamada PGD.

De lá decidi me tornar professor de vez, vindo para a PUCPR em tempo integral e participando do projeto Apple Developer Academy.

Entrei na área de jogos há vários anos, por interesse pessoal. Em 2007, cursei a pós-graduação de desenvolvimento de jogos da Universidade Positivo. Hoje sou mestre em computação gráfica e professor de cursos na área.

Realmente recomendo a graduação de jogos, que agora está na PUC/PR. Todos os nossos professores estão ligados a área de jogos, seja trabalhando na indústria diretamente, seja atuando como pesquisadores da área. São abordados temas das modernas tecnologias de jogos, game design, arte e sonorização. Sem falar que a PUC é considerada a terceira melhor faculdade do país pelo MEC. Os cursos de Tecnologia incluem trilhas para artistas e programadores, e a PUC também oferta um Bacharelado – para quem quiser ir realmente a fundo na programação e pesquisa na área de games.

Sou autor também de diversos livros introdutórios de informática, a maioria publicado pelo IESDE. Na área de visão computacional, também publiquei o livro Learn OpenCV 4 By Building Projects, pela Packt Publishing.

Finalmente, gostaria de dizer que sou leitor compulsivo. Leio diversos livros, sejam romances de aventura ou ficção científica, sejam livros técnicos como Effective Java ou Effective C++ e livros na área de jogos. Interesso-me muito pela área de Computação Gráfica, e pretendo continuar os estudos até o doutorado

Abraços a todos e bons estudos!

107 respostas para O autor

  1. Andressa disse:

    AMIGO! Parabéns! adore!!!
    Beijos

  2. AlineEA disse:

    Muito legal 😀
    “Torne seu trabalho uma diversão e não trabalhará um dia sequer” (esq. o autor) 😀

  3. Márcio Oliveira disse:

    Cara, pelo que vejo de você no GUJ, acho que vai longe. Parabéns pelos jogos.

    Márcio Oliveira – Santri Sistemas

  4. Leonardo Pupak disse:

    Ola Vinicius, sou aluno de agrimensura do Centro federal de Tecnologia de Goias CEFET _GO, estou fazendo uma pesquisa sobre GPS e palm top, aquisição de dados brutos do gps tendo como coletor o palm top e processando esses dados. Lendo umas materias sua, fiquei sabendo que voce criou um programa para palm top e fez essa comunicação. Gostaria de saber se tem como ter acesso a esse programa, como faço, ou se vc indica outra pessoa para me auxiliar nessa pesquisa. entre em contato, obrigado.

  5. vinigodoy disse:

    Oi Leonardo. Já enviei as informações em seu e-mail! 😉

  6. Leandro de Godoy disse:

    Como o amigo acima tbm estou trabalhando em uma pesquisa sobre gps e palm ficaria mto grato se vc pudesse me indicar algum material ou por onde comecar caso vc puder me ajudar com alguma dica desde jámto obrigado.

  7. puxa vida disse:

    Fui ate o site da unicenp e infelizmente nao encontrei nada sobre Pós em desenvolvimento de jogos

  8. Anderson disse:

    Olá Vinícius.
    Sou gerente técnico em uma empresa de telecom e preciso apresentar a minha diretoria a solução para um problema que estamos passando. Trabalhamos com centrais telefônicas em diversos condominios e essas centrais já não são fabricadas desde 95. Sua arquitetura é baseada na informática, utiliza-se uma placa MMU (Mass Memory Unit) em um slot PCI de uma motherboard. Ocorre que já não encontramos mais componentes eletrônicos para que possamos repará-las. Tive a ideia de fazer um novo sistema utilizando um cartão CompactFlash via IDE com o programa original. Gostaria que me indica-se algum profissional interessado nesse desafio.
    Grande abraço e parabéns pelo site.

  9. Jeferson disse:

    Caro Vinícius,

    Encontrei o seu contato no fórum Unidev.
    Tenho 13 vagas para Analistas Programadores, mais precisamente nas linguagens de programação C/C++ e Phyton, disponíveis em nossa empresa na cidade de Volta Redonda/RJ.
    Área de atuação: Segurança da Informação.
    Se você interessar ou quizer indicar alguém, fica aberto o convite.

    OBS.: A pessoa que vier trabalhar conosco terá a oportunidade de desenvolver um nível técnico de programação extremamente avançado, pois só temos féras aqui (a maioria o que podemos chamar de nerds).

    Os currículos devem ser enviados para o e-mail: jeferson-azevedo arroba hotmail ponto com

    Abs,

    Jeferson Azevedo

  10. ossiris do nascimento disse:

    puxa…parabéns vc tem um grande potencial.
    preciso de sua ajuda. Tenho que desenvolver um jogo qualquer,como jogo da velha ,memória,campo minado para trabalho de faculdade em c++.O copilador que estou usando é o DEV c++4.9.9.2.
    Que dica vc daria?

  11. vinigodoy disse:

    Olá.

    A primeira dica que eu dou é: pare de usar o DevCpp.

    Além de não ter atualização desde 2005, o DevCpp omite parte das mensagens de erro, não identa o código direito e tem uma péssima integração com o depurador. No lugar, use o Code::Blocks Nightly Build. Tem este artigo aqui no blog que ensina a configura-lo.

    O DevCpp (assim como o Code::Blocks) não são compiladores. São só editores de código (IDEs). O compilador de ambos é o MinGW, que é o compilador GNU para Windows.

  12. Opa, bem bacana esse seu espaço, Vinicius.
    A blogsfera realmente é carente de bons blogs como o seu, com profissionais e textos sapientes.

    Abraços!

  13. vinigodoy disse:

    Valeu, Lucas! Adicionei o blog de vocês na minha lista, os textos por lá são realmente originais. E não só citam o jogos como procuram analisar algum aspecto interessante deles.

    Achei o do Mário interessantíssimo!

  14. duzao7667 disse:

    Aew vini!
    Muito rox o blog! Vê se num para nunca de upar xD

    Flw!

  15. Bruno Márcio disse:

    Cara, eu gostaria de saber qual IDE você usa para programar Java, pois você sempre tem as melhores dicas. Se puder, manda um e-mail. Valeu!

  16. vinigodoy disse:

    Oi. Eu utilizava o Eclipse.

    Como as aplicações que desenvolvo são na maioria frameworks, eu não tinha tanta necessidade assim dos recursos visuais que o Netbeans oferecia. O editor de código do Eclipse sempre foi muito mais poderoso, e era o que eu mais precisava na hora de programar.

    Mas apesar de ótima, a IDE perdeu um dos seus principais plugins, o Visual Editor. Além do Matisse, o Netbeans ainda integrou ao seu conjunto de ferramentas padrão um profiler, que é simplesmente sensacional. Agora, na versão 6.1, o seu editor de códigos finalmente se equiparou ao do Eclipse: ficando não só mais poderoso, mas também muito mais rápido.

    Por isso, estou mudando do Eclipse para o Netbeans. O Netbeans pode ser baixado aqui: http://www.netbeans.org/

  17. André disse:

    Gostaria de saber se você da aulas particulares de C++ e OpenGL?
    Eu atuo na area de 3D a 14 anos e estou querendo aprender para desenvolver ferramentas personalizadas.
    Se tiver interesse ou conhecer alguém bom que tenha interesse fico muito grato.

  18. Rodrigo Pereira disse:

    Olá, Vinicius
    primeiramente parabéns pelo excelente blog…
    eu estou tentando desenvolver um jogo de sudoku em OpenGl…, já fiz algumas coisas da parte gráfica mas me deparei no problema de como capturar os dados digitados pelo usuario, e como mostralos na posição correta na tela, tb to com prolema de que tipo de fonte usar, entre outros…vc poderia me ajudar de alguma forma a esclarecer essas dúvidas?

  19. Thiago disse:

    Olá Vinicius!
    Estava navegando pelo forum do PDJ e vi uma postagem sua interessante sobre técnicas multiplayers.
    Por essa postagem descobri o seu blog, que por sinal, está muito bem feito. Com matérias bem interessantes, parabéns.
    Voltando ao assunto, eu gostaria de fazer um pedido. Faça um artigo sobre as técnicas de multiplayer. O pouco que você falou sobre na postagem que eu citei acima já esclareceu algumas coisas. Mas o assunto infelizmente não é muito discutido, e uma opinião de um programador experiente seria ótimo.
    Abraços!

  20. Adolfo Rodrigues disse:

    Fala Vini,
    Li o seu currículo e gostaria de saber se você tem algum livro a respeito de desenvolvimento de aplicações orientadas a plugin pra indicar.

    PS1 – Parabéns pelo blog e pelas participações no GUJ. Você nos ensina muita coisa!!
    PS2 – Tem um erro de digitação na parte “para processamento das trasações” (transações)

    Parabéns e obrigado, meu caro!!!

  21. vinigodoy disse:

    Oi! Obrigado pela correção, já apliquei ali em cima.

    Pior que não tenho nenhum livro específico. No caso do Java, basta aprender a trabalhar bem com interfaces (em especial os padrões de inversão de controle, dependency injection e observer). Por isso, seria uma boa você revisar o seu conhecimento em padrões de projeto e reflexão (a menos que vc use um framework de DI, como o Spring).

  22. felipeseixas disse:

    Opa, fala Vinicíus,
    há pouco tempo tenho acompanhado seu blog e voltei a frequentar a Unidev tem 2 semanas.
    Trabalho com programação há 6 anos mas já brincava na infância, e um dos meus sonhos é desenvolver um jogo completo, apesar de já ter começado e parado diversas vezes =P

    Estou seguindo o seu blog, tentando pegar umas lição sempre que tenho tempo livre e compilando no g++ do linux Ubuntu (o qual estou aprendendo).

    Sou muito curioso tb e adoro essa parte de computação gráfica, adquiri a pouco tempo o livro 3D Math Primer e estou curtindo mesmo sabendo já todos esses conceitos básicos de Álgebra Linear.

    Bom, só queria dar parabéns aí a suas publicações e vou continuar acompanhando! Estou criando um blog para colocar o meu progresso e desafio durante a concepção dos meus jogos (felipeseixas.wordpress.com)

    Abraços e vamo que vamo =D

  23. Parabéns pelos artigos Vinícius, excelente !!!
    Abraço

    ps : Testei o CodeBlock, leve e rápido ! pensei usar o GTK+ no NetBeans, mas, resolvi deixar o arroz e feijão separado. 😉

    Abraço

  24. eduardonunesp disse:

    Cara excelente Blog, bastante informação interessante, vou almoçar seu Blog hoje hauhauha. Estou voltando a me divertir com Gamedev então vou passar bastante aqui no seu Blog.

    []’s

  25. Rodrigo disse:

    Estou fazendo trabalho sobre centrais privadas PABX , PBX etc .Você tem algum material que especifica um projeto de instalação, dimensiona equipamentos etc ?

    Muito grato .

  26. Fernando disse:

    Cara….achei d+ tudo q tem aqui……/
    tenho 24 anos…..ano q vem vou tentar fazer o curso de ciências da computação….mas com 24 anos…acho q estou muitíssimo atrasado, num conheço nenhuma liguangem ainda…..to muito afim de aprender C++ quero me dedicar muito à essa linguagem……cara…..se a gente puder conversar melhor….serei muito grato……CARA…PARABÉNS pelo blog…..

  27. vinigodoy disse:

    Oi.

    Não desanime, com 24 anos você ainda tem salvação. =D

    Concentre-se em aprender bem a teoria e não despreze matérias que as vezes parecem menos importantes. Você nunca sabe quando irá realmente usa-las.

    Se você ainda quer entrar no mercado de jogos, algumas matérias mais teóricas assumirão muito mais importância: Inteligência Artificial e Computação Gráfica, para citar duas delas. Porém, não despreze disciplinas como Estruturas de Dados, Bancos de Dados, ou mesmo disciplinas focadas em web.

    Nunca se sabe o dia de amanhã, e é sempre bom conseguir ganhar o pão de cada dia antes de entrar numa grande desenvolvedora de jogos. 🙂

    Por isso, estude bem, leve o curso com dedicação, faça muitos exercícios e programe muuuuiito. Vamos conversar mais sim e, no futuro, trocar idéias técnicas também.

  28. Carlos ou Amazona disse:

    oie Vinicius

  29. Guilherme disse:

    Olá

    Estou interessado em desenvolver um jogo de futebol de botão em Java SE.
    Gostaria de alguma dica.
    Algum livro que eu possa comprar, sei lá.

    Obrigado
    Guilherme

  30. diomedes disse:

    Olá Vinícius,
    Parabéns pelo Blog e parabéns também por sua iniciativa em compartilhar conhecimentos nessa área fascinante!
    Comecei o curso a distãncia de WEB DESIGN na UNISUL e estou estudando o livro “C++ HOW TO PROGRAM 5ª EDITION” dos Deitel. Estou tentando baixar a 5ª edição em português dessa obra, pois em algumas passagens do texto original o inglês fica meio obscuro. Alguns sites oferecem o link para o download do livro em português (que está em RTF); no entanto, o link está sempre quebrado, fora do ar ou com a postagem retirada. Conhece um link válido que eu possa utilizar para baixar o livro?
    Obrigado!

  31. Bruno Sousa disse:

    Olá Vini, tudo bem?

    Sou aluno de design pela UNESP e estou desenvolvendo pesquisa científica sobre jogos eletronicos educativos, estre projeto também será meu trabalho de conclusão de curso. No meu relatório que enviarei à Fapesp eu estou trabalhando com alguns de seus textos sobre classificação de generos de jogos. Gostaria de saber como citá-lo no texto, e gostaria de saber também se vc tem algum artigo científico para que eu possa ler e adicionar em minha bibliografia.

    Se quiser saber algo mais sobre minha pesquisa é só entrar em contato pelo email que explico melhor.

    é isso… =]

    Desde ja agradeço,
    Abraço.

  32. JJ disse:

    Olá, primeiramente parabéns não só pelo blog mas também pela sua carreira.
    Eu sou aluno do segundo período de ciência da computação e gostaria de saber que dicas você daria, por exemplo quais linguagens e tecnologias deve ter prioridade nos estudos além do que se ensina na faculdade, pois esses, por conceito já são obrigatórios.
    Gostaria também que dissesse sinceramente se o estudo através de apostilas poderia ser tão eficaz quanto por livros, pois atualmente esse é o método que eu utilizo por realmente não dispor de poder aquisitivo para comprar livros.
    Por hora é só, aguardo resposta

    • vinigodoy disse:

      Obrigado.

      Primeiro, concentre-se realmente nas matérias fundamentais da faculdade: estruturas de dados, algoritmos, banco de dados, análise de sistemas, etc. Apesar de serem obrigatórias por definição, muitos alunos saem com deficiências sérias em matérias que eles julgam serem “menos importantes” justamente por serem mais teóricas.

      Aí, escolhe uma área que gosta e aprofunde-se nela. Naturalmente, virão conteúdos extra-faculdade. Gostou de computação gráfica? Veja as formulas básicas na facul e complemente-se posteriormente com shaders, matemática, física de partículas, etc. Gostou de IA? Veja os algoritmos básicos na facul, e estude versões otimizadas desses algoritmos e técnicas novas, depois de se formar.

      Concentre-se em aprender bem os conceitos. E a faculdade é mestre em ensina-los.

      Quanto a apostilas e livros. Bem… apostilas são feitas para serem material complementar. Isto é, não tem o interesse de fazer com que você aprenda só através delas. Assumem que existe um professor ministrando a matéria e você só a utilizará para reforçar esse aprendizado. O livro, pelo contrário, tem o objetivo de te ensinar do zero, mesmo que você não tenha um professor.

      Por isso, prefiro livro à apostilas. Se a grana está curta, pense em parcelar o livro e escolher títulos realmente relevantes. Você não precisa ler mais do que 2 livros técnicos de peso por ano para se tornar bom (e, para ser sincero, duvido muito que você a maior parte dos mortais sequer consiga ler material técnico e absorve-lo num ritmo muito mais veloz do que esse). Novamente, foque em livros de conceitos, não em uma linguagem ou tecnologia específica.

      Certifique-se de saber: Algoritmos clássicos, Estruturas de dados, Design Patterns e Refatoração. Você não precisa saber cada uma das técnicas de cór e salteado, mas precisa entender para que cada uma serve, que problema resolve e onde procurar pela implementação quando o problema surgir. E lógico, mais para o final da faculdade, escolha uma linguagem e especialize-se nela.

  33. JJ disse:

    Valeu.
    O que muitas vezes me deixa aflito é a quantidade de conhecimentos exigidos na grande maioria das oportunidades de emprege e até de estágio. O último que susgiu na faculdade por exemplo exigia conhecimentos em PHP, Tableless, Asp, Jquery, Ajax, Java Script, Access e SQL. Um outro exigia XML, Xquery, SQL, UML, Webservices e Java. Com as oportunidades sempre pedindo conhecimentos nas tecnologias em si (e tecnologias no plural) muitas ficamos temerosos quanto a como ingressar no mercado de trabalho. Você que já é um profissional experiente teria alguma orientação quanto a isso?
    Valeu cara, aguardo resposta

  34. JJ disse:

    Posso programar em C no Code::Blocks também? ou apenas C++?
    Na faculdade estamos aprendendo C e usando o DevCpp.

    • vinigodoy disse:

      Pode sim. O compilador do Code::Blocks é exatamente o mesmo compilador do DevCpp (chamado MinGW), com uma diferença, está atualizado.

      A menos que você queira perder horas debugando um problema e depois descobrir que é uma falha não no seu código, mas no editor de códigos, não use o DevCpp. Ele é um editor muito antigo e seu desenvolvimento ficou estacionado. Não acompanha boas modificações na SDL.

      Ah sim, e se quiser ver boas referências de livros para C++, consulte o RoadMap que postei nesse mesmo blog. Um dos livros lá, inclusive, é em português e gratuito. Certamente cabe no seu orçamento. 😉

  35. JJ disse:

    É, eu sempre achei o devcpp decepcionante no que se trata de identação de código, acho que esse é o maior defeito dele, também várias vezes percebi alguns erros estranhos ainda depois de ter chegado meu código por várias vezes, mas como na faculdade ele é a IDE adotada e eu não conhecia outra boa e gratuita, continuei usando. Por enquanto só tenho estudado C, mas eu baixei o livro que você indicou de C++ é bom e em português (aliás esse é outro problema quanto aos livros, a maioria dos bons em computação é em inglês, e meu inglês ainda é bem básico).
    Valeu aê, inté

  36. Telma disse:

    Ei Vinicius, gostaria de dizer que seus artigos são muito interessantes e bem explicados, gostaria de agradeçer por todo o ensinamento passado.
    Bom, estou com algumas dúvidas no OPENGL acredito que são interessante e talvez bem fáceis pra vc.
    Gostaria de conversar com vc é possível? vc tem msn ou skype? será que pode me ajudar??
    agradeço muito.
    abraços

  37. maria disse:

    ola vinicius…primeiramente parabens pelos jogos!!

    bom, tenho que fazer o sudoku em delphi..
    vi q voce tva fazendo ele em openGl..
    se voce tiver alguma coisa do codigo fonte pra me ajudar…serei grata..obrigadaa

  38. Bruno disse:

    ae parabéns pelo seu site.

    Então eu estou no quinto periodo da minha faculdade.

    E estou em um dilema. Mecho com java, sei programar.

    Mas estou a quase 1 ano mexendo com C/C++ no estágio. Não sou expert mas já tenho um bom conhecimento adquirido (eu acho).

    Bom se eu continuar com C/C++ eu gostaria muito de desenvolver jogos, e caso eu não continue com esta mesmo assim quero desenvolver jogos.

    Baixei um código fonte seu e vou dar uma olhada e estuda-lo. A questão é o que eu preciso para começar a mexer com openGL ?

    Que conhecimentos eu preciso ter provenientes da faculdade para que eu me de bem desenvolvendo jogos ?

    • vinigodoy disse:

      Bom, você não precisa de nenhuma API especial para mexer com OpenGL. Elas já vem instaladas com o SO ou com a placa de vídeo.

      Você programa em C ou em C++? Certamente, sua experiência é em apenas uma delas, e não nas duas.
      As duas são muito diferentes para serem referenciadas como se fossem uma coisa só. Em todo caso, para o mercado de jogos, dê mais enfase ao C++ (jogos hardcore), para o Java (jogos para celular) ou para o ActionScript em Flash (para jogos em browser).

      No caso do C++, aprenda a SDL e use também a boost. Se nunca ouviu falar desses dois caras, é pq você ainda nem começou a arranhar o C++ e não pode se considerar alguém com experiência.

      Da faculdade, você precisa de praticamente tudo para se dar bem com jogos. Estruturas de dados, IA, computação gráfica, orientação a objetos, matemática, física, etc. Você pode complementar sua faculdade com uma pós, como a que tem aqui em Curitiba.

  39. bruno disse:

    Então eu sou de curitiba. E estudo na utfpr, faço tecnologia em informática la, o atual extinto Sistemas para internet, que atraves dos tempos foi vários nomes…

    Bom eu tenho experiencia de 1 ano com C/C++, me referi a somente C++ pois sei que é muito utilizado em jogos, e os empregos que vi só pedem C++ nem em se eles se referem.

    Bom quanto a isso eu to quase 1 ano desenvolvendo, não sou um cara com muita experiencia visto que é somente 4 horas por dia no estágio mais em casa.

    Com relação a boost eu já li sobre ela conheço o site já usei alguma coisa, e sei que muitas coisas dela serão inseridas na próxima STL do C++, mas acabei não utilizando no trabalho, desenvolvo um software para Linux, que usa bastante a rede. Acabei desenvolvendo minhas próprias classes para desenvolver.

    O que me da uma experiencia com C pois muitas system calls em é C, mas tenho uma boa noção de OO, diria que bem boa (Resaltaria ela a minha parte mais forte de programação) e sempre que possivel faço minhas classes, encapsulando as funções em C dentro dos meus métodos, já fiz algumas coisinhas, mas sou somente estágiario, iniciante.

    Bom eu gostaria de saber em que nivel eu me encaixo, pois não tenho a minima idéia, para ler um de seus livros, o do deitel eu já dei uma lida nele, mas não li todo.

    Utilizo uma boa quantia de coisas da STL, e já bati muita a cabeça com as DLL e suas versões, e memórias…

    Eu gostaria de começar a estudar essa parte de 2D primeiro e me aplicar com matemática. Hoje eu tenho um pouco mais de XP do que eu tinha a um tempo atras, então resolvi começar a estudar essa parte agora.

    E a SDL não ouvi falar vou dar uma pesquisada nela. Eu comecei a olhar a allegroGL.
    Para a faculdade eu uma vez fiz um caça minas, mas em modo texto. Bom irrei começar com esses joguinhos e melhora-los.

    Pretendo ainda trabalhar na Blizzard, o que eu quero estudar e mexer é baseado nos jobs do site deles, como pré requisitos para entrar la.

  40. Rafael disse:

    Olá!
    Descobri seu blog a pouco tempo e encontrei coisas muito interessantes!

    Estou no ultimo ano de Ciencia da Computação e o meu trabalho de graduação é baseado em Algoritmos Evolutivos. Gostei bastante da idéia do jogo de Caça à Bandeira e resolvi dar uma olhada, tentar fazer com que os scripts de estratégia sejam gerados a partir de algoritmos evolutivos.
    Para entender melhor o jogo, baixei os fontes e abri no Eclipse (basicamente eu queria alterar o angulo e o raio de visão dos personagens pra ver o que acontecia..) mas na hora de compilar, ocorre um erro do ‘Java Game Framework’ (erro de path).
    Gostaria de saber onde posso encontrar esse Java Game Framework e como utilizá-lo.

    Agradeço desde já e continue o bom trabalho 🙂

    • vinigodoy disse:

      O Java Game Framework está no mesmo zip. Você deve montar os dois projetos no eclipse e configurar o seu build path para que o caça a bandeira veja o JGF.

      Se você gosta de algoritmos evolutivos, talvez fosse uma boa você conferir o meu outro blog, o SofiaIA. Graças a ele, eu montei um artigo na SBGames 2008 intitulado “A Framework for Genetic Algorithms in Games”.

  41. Kleber Andrade disse:

    Ola Vini tudo bem ?
    Sou estudante de mestrado da USP de São Carlos na área de Robótica Móvel e por Hobby estudo jogos. Gostaria de tirar umas dúvidas com você sobre o diagrama de classes para um jogo simples utilizando C++ e OpenGL. Se possível me mande um email.

    Abraços t+

  42. Robson disse:

    Ola Vinicius,

    Gostaria de parabeniza-lo e agradecer por compartilhar seu conhecimento com a comunidade entusiasta em programação e jogos. Gostaria de pedir sua permisssão para usar um código seu, o Genius for Dummies http://www.programadoresdejogos.com/osgames/genius.zip, em meu TCC, embora o tema do trabalho seja a tecnologia touch screen, vi no seu código uma forma de demonstrar como era a tecnologia nos primordios, usando led´s em uma moldura e uma placa com um microcontrolador, fizemos uma ‘tela’ que permite que se jogue o genius com o ‘toque’ sendo que ao mover o dedo para o posição de um botão, ocorre um corte nos led´s e com isso sabemos onde foi o ‘toque’ e qual botão deve ser acionado.

    Desde já agradeço.

  43. vinigodoy disse:

    Sinta-se à vontade, desde que você cite as referências em seu trabalho, claro.

    Seria legal depois disponibilizar o pdf dele para a comunidade também. 😉

  44. Débora disse:

    Oi Vini, tudo bem??
    Olha so, te conheci pelo GUJ, vc foi o único a comentar uma dúvida minha…assim, estou me formando final do ano em Análise e Desenvolvimento de SIstemas e agora estou fazendo meu tcc em Java, só que to penando muito, até pq meu orientador (por motivos de falta de professores na área) não tem grande conhecimento em java. Estou lendo alguns livros pra aprender +, mas isso ta me deixando aguniada, pq em Dezembro tenho q fazer a entrega, e não tenho quasi nada.Gostaria de saber umas dicas suas e quais os melhores livros que falam de sistemas MDI em JAva. O que estou lendo (Aprenda em 21 dias Java 2) não fala sobre isso.
    Valew Vini!

    E parabéns pelo teu trabalho e por vc se interessar em ajudar os outros!!
    grande abraço!

  45. Bruno disse:

    Olá Vinicius, tudo bem.

    Primeiramente parabéns pelo seu blog. As lições são muito bem elaboradas.
    Com certeza já é referência sobre OpenGL no nosso país. Espero em breve poder contribuir também.

    Bom, estou fazendo meu TCC de Ciência da Computação sobre técnicas de interpolação aplicadas a animação, abordando especificamente três técnicas: Linear, Splines e B-splines. Nossa intenção (Professor orientador e eu) é criar os quadros intermediários com base em imagens, não em modelos. A implementação está sendo feita com Java e OpenGL (biblioteca JOGL) e estamos utilizando texturas para cada quadro chave da animação.
    No primeiro momento, dois quadros chave consecutivos são usados para gerar quadros intermediários. Para isso precisamos movimentar os pixels de tal forma que haja uma transição de posição entre o quadro chave inicial e o final.
    A idéia então é selecionar os pixels que sofrem alteração de posição com relação a estes dois quadros e aplicar transformações geométricas que resultarão em quadros intermediários. Seria um espécie de função crop existente em aplicações de tratamento de imagens, ou seja, selecionar um retângulo ou figura semelhante bastando determinar alguns vétices. Existe algum comando ou um conjunto de comandos que realizam esta tarefa em OpenGL? Há outra forma mais fácil de resolver o problema? E quanto ao uso de texturas; é recomendado usá-las para esta finalidade?

    Espero ter sido claro.

    E como faço para ter um canal de comunicação mais direto com você?

    Obrigado pela atenção.

  46. Flávio Dias disse:

    vc pode me fornecer o seu contato de email, pois quero trocar uma idéias com vc, principalmente sobre jogos em JAVA….

  47. Ricardo disse:

    Olá, Vinícius.
    Sou estudante de computação e pesquisador na área de IA.
    Gostaria, se possível, de ter acesso aos fontes do jogo caça a bandeiras. Não consegui baixar pelo link.
    Agradeço desde já!

  48. Rebeca disse:

    Somente uma observação: excelente conteúdo 😉
    Parabéns.
    Beijos,

  49. Lucas Adriano disse:

    Olá viny, vi que atualmente você trabalha na Positivo, na área de desnvolvimento de softwares educacionais usando tecnologia de ponta, mas e parte de engenharia da computação, a montagem dos componentes, você já chegou a ver como funciona ?, pois a Positivo é uma empresa popular, mais ao mesmo tempo criticada devido à suposição de seus “PC’s” serem inferiores.
    E a positivo é uma boa empresa para se trabalhar tanto como engenheiro da computação como desnvolvedor?

    Obrigado

    • vinigodoy disse:

      Sinceramente eu não sei. A nossa área de novos produtos e tecnologia educacional, vai abrir um setor de hardware, onde vai ter bastante coisa legal.
      Mas a fábrica em si eu não conheço, nem o desenvolvimento de hardware que eles possam ter por lá.

  50. Grande Vinicius!!
    Estava procurando pelo seu nome no google pra ver se acho uns livros de c++ que você havia indicado no seu blog de jogos, quando trabalhei contigo na Siemens, e me deparei com seu site.
    Parabéns pelo novo trabalho, acredito ser de fato o que você buscava como realização pessoal, pdoer atuar com jogos e em uma ótima empresa.
    Eu me mudei pra São Paulo, estou aqui na LG Electronics e ralando atrás de conteúdos pra aumentar meu conhecimento porque não tem como estagnar.
    Bom, se puder me passar o link do site que vc disponibilizava uma visão geral sobre alguns livros ou se existem algumas novas boas indicações, eu agradeço.
    Abraços e me manda teu contato se puder!!

  51. Bom dia!

    Não encontro seu contato em lugar algum, portanto escrevo nos comentários:

    Meu nome é Gabriel Duarte, sou bacharel em Música Popular pela Unicamp, sou produtor musical e sonoplasta.

    Estou a procura de jogos para os quais eu possa desenvolver a trilha e o som (sound design). Gostaria de abrir essa porta de comunicação com vc e com conhecidos que precisam do serviço.

    Estou disposto a estabelecer parcerias de trabalho e gostaria de me colocar a sua disposição.

    Para conhecer um pouco do meu trabalho, acesse http://www.vimeo.com/gabrieltrilha

    Obrigado!
    Gabriel Duarte

  52. kamila J. disse:

    olá Vini,

    lí um tópico seu no guj sobre como enviar imagens via socket e fiquei com dúvidas de como armazenar um outputStream em um array de bytes .Preciso disso para um trabalho de redes aqui na facul e gostaria de poder contar com a sua experiência.

    espero que possa ajudar.

  53. bruna disse:

    oiii…Vini achei mto legal o seu blog, interessante mesmo, eu to fazendo eng. da computação e estou começando a programar em java net beans, o meu prof da facul pediu para programar um jogo como o jogo do genius, (aquele q temos que decorar as sequencia de cores) porém não sei como fazer isso, vc pode me ajudar. Eu to começando a programar agora e não sei como começar isso.

    abraços, bruna.

  54. Felipe Pinto da Silva disse:

    Dae Vini, bele?
    Então, já venho acompanhando teus passos tanto aqui, quanto no GUJ e no pontoV, sempre em busca de dicas para desenvolvimento de jogos.
    Estou desenvolvendo um jogo como projeto da faculdade, pretendo faze-lo semelhante ao Super Mário (um cenário principal com várias fases – onde cada fase é um desafio lógico). Estou utilizando o JavaGame para auxiliar, consigo até construir o cenário e a locomoção do personagem com Sprite, mas não faço idéia de como fazer com que consiga entrar em cada “fase”. Tu tens algum exemplo, livro, openSource para me indicar??

  55. Douglas Peixoto disse:

    Olá,
    Cara achei muito legal um artigo que liga sobre Algoritmos Genéticos que você escreveu num texto sobre IA, estou começando a aprender a programar em JAVA, vi que você escreveu em C++ o trabalho de encontrar uma placa em uma imagem, fiz um trabalho sobre maximização de função utilizando AG´s usando o Excel pensa o trabalho que deu …. Queria saber se você já utilizou o JAVA para resolução de problemas com AG´s, ouvi dizer que AG´s estão ficando para trás, começei a estudar sobre isso a pouco tempo então gostaria de uma opinião sua se possivel, coloquei meu email queria saber se você pode me enviar algo sobre AG´s. Desde já agradeço

  56. lui4s@gmail.com disse:

    por favor poste tudo no http://www.4shared.com,o navegador da faculdade bloqueia quae tudo

  57. Rafael Romualdo Wandresen disse:

    Prezado Vinícius:
    Parabéns pelo seu curriculum e por usas contribuições, com blogs, artigos, comentários em listas de discussão para a comunidade de desenvolvedores.
    Atualmente sou professor da UFPR no SEPT (antiga escola técnica), e dou aula para o Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas.
    Sou Engenheiro de de Computação e tenho 12 anos de experiência no desenvolvimento de aplicações, principalmente com a plataforma JAVA. Trabalhei em empresas de pequeno e grande porte, como Visionnaire e GVT.
    Decidi abraçar a carreira acadêmica no ano passado, e iniciei este ano o doutorado.
    Decidi fazer meu doutorado em outra área (não ciência da computação) que me permitisse fazer pesquisa com informática aplicada. Estou cursando o doutorado em Engenharia Florestar na UFPR.
    Escrevo tudo isso, pois nesta área (Engenharia Florestal) pretendo desenvolver uma pesquisa com realidade virtual, recriando e modelando uma floresta virtual para uma disciplina específica da Engenharia Florestal. Mais especificamente, pretendo trabalhar com a criação de um jogo em 3 dimensões para este fim. Não tenho nenhuma experiência prévia com desenvolvimento de jogos. Por isso gostaria de entrar em contato contigo para alguma orientação. Penso na possibilidade de cursar alguma disciplina da pós-graduação em jogos da PUC-PR.
    Pelo que eu andei lendo e estudando, acredito que esta é uma área muito promissora e também pouco explorada no Brasil. Aliar jogos eletrônicos, realidade virtual à educação e treinamento me despertou muito interesse.
    Ficaria agradecido se pudesse entrar em contato para conversarmos.

  58. Pingback: Montando um ambiente de desenvolvimento C e GTK com CodeBlocks no Windows | hamiltonsena.net

  59. Alessandra disse:

    Vinicius,
    estou precisando de uma consultoria de IOS e OpenGL, você pode me ajudar?

  60. André monjardim disse:

    So novo em java…
    Estou tentando cria uma tela de espera, para que enquanto conecta ao banco de dados, fique nessa tela…
    Poderia meda uma força ??

  61. Hermano Pereira disse:

    Olá ViniGodoy!
    Parabéns pelo seu blog e que bom que eu o achei!
    Sou iniciante neste mundo java e como todo iniciante, dou cabeçadas grandes em pequenos problemas.
    Suas respostas que encontrei no fórum tem sido de grande ajuda pra mim.
    Deparei com um problema relacionado a “Foco” nos componentes que ainda não consegui achar a solução através dos fóruns.
    Gostaria que você me explicasse o porquê e a solução para essa confusão.
    No sistema que estou desenvolvendo à aqueles JTextFilds em que seus conteúdos precisam ser verificados ao perder o foco.
    Criei uma classe que obtém de forma geral o nome dos componentes que recebem ou perdem o foco.
    Dessa forma de acordo com o nome, eu trato aqueles que necessitam uma atenção especial.
    Num JFrame eu tenho dois JFormattedTextField e um JTexteFild um após outro. Cada um desses tem o seu conteúdo avaliado e exibem mensagem senão estiver de acordo, retornando o foco para o objeto.
    O problema é que, após eu pressionar a tecla Tab para saltar para outro campo, ele exibe a mensagem deste próximo campo sem ao menos eu ter inserido algum dado e pressionado Tab. Clico no ok da mensagem, e nesse instante é que o sistema exibe a mensagem do campo anterior.
    O foco está indo para o campo seguinte, exibindo a mensagem desse campo e em seguida voltando para o campo anterior onde deveria estar.
    Gostaria que vc me explicasse o porque do problema e me ajudasse a encontrar a solução.

    Agradeço desde já.

  62. Bom dia Vinicius, estou numa turma que pretende desenvolver reconhecimento pela iris rodando no Android, temos umas rotinas em C com OpenCV que fazem reconhecimento e extração da iris na fotografia, tem que desenvolver o restante. Sobre ferramental, me ocorreu de utilizar QT com OpenCV 2, ver se aproveita ou reescreve a rotina existente e desenvolver o restante: Interface, captura, normalização, processamento. Acha que seria a melhor escolha? Agradeço seu parecer, abs

    • vinigodoy disse:

      Eu sou meio suspeito para falar pois sou um grande fã de QT. Estou usando atualmente a opencv 2, e acho ela beeeem mais fácil de usar que a 1. É difícil comparar a performance das duas, pois ambas tem pontos fortes e fracos, mas o fato é que os grandes esforços da opencv de hoje em dia se concentram na segunda versão. Acho que compensa pela facilidade de uso: os códigos ficam 50% menores e 100% mais claros.

      • O QT que vc se refere é o da Nokia né? Que versão vc utiliza? Vi que tem QT Creator e QT Developer, trata-se da mesma coisa ou tem QT´s diferentes do mesmo ou diversos fabricantes?

      • vinigodoy disse:

        Sim, é do KT da Digia, que antes era da Nokia, que estou me referindo.
        O QT Creator é a IDE. O QT Developer Kit é o SDK. E o QT Platform é a união dos dois.

      • Uma coisa que não tinha lembrado, BD, o que usa no Android? existe MySql, Oracle, Postgres e tal? O que é mais leve e enfim melhor?

        Sobre o QT, no download da 5.0(acredito seja a útlima) tem opção MinGW e VS, qual mais interessante? MinGW roda em ambiente próprio e VS é tipo um plugin? A VS funciona com a versão Express? Agradeço e se estiver perguntado demais avise que paro, hehe

      • vinigodoy disse:

        Muita coisa em dispositivo móvel eu salvo diretamente em arquivo. Muitas aplicações não exigem persistência complexa, nem consultas com JOINs. As poucas vezes que precisei disso, o SQLite me atendeu.

        Você pode pedir para o QT Creator usar o Visual Studio (VS) para compilar seus programas. Ele usa apenas o compilador Microsoft. Isso é útil pois algumas APIs (como a própria OpenNI), só rodam em Visual Studio. Agora, quando possível, eu uso MinGW mesmo. No caso do Android, o MinGW é uma boa opção também porque é o compilador usado no NDK do Android.

  63. Adilio disse:

    experiência dos sonhos heheh..

    olá Vini Godoy. desejo desenvolver uma aplicação de venda e stock (java + mysql) e quero que ele funcione em varias maquinas (cliente/servidor), e seja pluguinavel, e q permita update a partir de um servidor na lan, a duvida esta em como distribuir a aplicação pela rede, uso o metodo normal de por o ip do servidor no jdbc do cliente e acessar a bd?, ou uso socket com envio de objectos pela rede? ou talvez rmi?

    tb gostaria de dicas possiveis sobre a aplicação completa como implementar os modulos por plugin, distribuir pela rede, e serviço de update pela rede, deixei o meu e-mail, agradeceria a resposta ja girei muito a procura de solução…

  64. William Okano disse:

    Olá Vinicius, tudo bem? Vi na internet um projeto de mestrado utilizando o kinect onde o orientando tinha seu nome, então, pensei, pode ser que seja ele hehehe.

    Estou começando a trabalhar com o sensor leap motion e estou com uma dúvida básica, qual algorítmo você utilizou no seu trabalho (se é que é você mesmo, caso não seja, me desculpe) para realizar o reconhecimento de gestos?

    Não achei muito sobre o assunto (ou não estou sabendo o procurar direito ou como procurar).

    De antemão agradeço pela atenção.

  65. André disse:

    Oi Vini,
    se não tiver saco pra ler, pula lá para pergunta. Obrigado e parabéns pela sua trajetória de sucesso!

    Sou aluno de Ciência da Computação, completei agora o 2ºsemestre, enfim, acompanho o seu portal pontov onde você é um dos fundadores, busco aprender c++ e tudo mais, acho muito legal programação pra jogos, definitivamente o trabalho que eu queria pra minha vida, mas, tenho medo de não prosperar então comecei a estudar a Win32 API por dizerem ser mais próxima do sistema operacional, logo, mais rápida e em sistemas sérios seria o mais interessante, na faculdade aprendo apenas framework .NET com c# e um pouco de SQL.

    -> PERGUNTA: Vale a pena aprender Win32 API? tenho que largar o C++ pra aprender C nesse caso? tenho alternativa?

    Abraço

    • vinigodoy disse:

      Hoje em dia, não acho que valha a pena. Há boas APIs que abstraem para você o sistema operacional, e tem excelente performance. No caso de jogos, você só precisa do básico da WinAPI, pois o resto do trabalho é feito pelo próprio DirectX.

      Além de tudo isso, a API WinRT, do Windows 8, já mudou muita coisa e é a tendência para o futuro. Ela pode ser programada em C#, que é uma excelente linguagem. Nem no caso da WinAPI valeria a pena voltar do C para o C++. O C hoje é mais recomendado para trabalhos em firmware.

  66. André disse:

    Obrigado Vini,
    vou terminar o livro do Petzold lá da minha facul… me disseram que ele apesar de grande só cobre o básico, depois compro algum na amazon que eu encontrar dessa API WinRT, minha facul não tem livros muito novos. Não falei no outro post pra não ficar muito extenso… através da pergunta de outro usuário no GUJ você respondeu minha dúvida sobre bitwise vlw pelas 2 ajudas.
    Abraço

  67. Pingback: HamiltonSena.NET » Montando um ambiente de desenvolvimento C e GTK com CodeBlocks no Windows

  68. marcio disse:

    Olá Vinícius Godoy tudo bem, estava tentando resolver umas questões no seu livro “Programação orientada a objetos I, porém tem questões q eu não consigo resolver, existe algum link com as respostas

Deixar mensagem para vinigodoy Cancelar resposta