Olá,
Se 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!
AMIGO! Parabéns! adore!!!
Beijos
Muito legal 😀
“Torne seu trabalho uma diversão e não trabalhará um dia sequer” (esq. o autor) 😀
Cara, pelo que vejo de você no GUJ, acho que vai longe. Parabéns pelos jogos.
Márcio Oliveira – Santri Sistemas
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.
Oi Leonardo. Já enviei as informações em seu e-mail! 😉
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.
Fui ate o site da unicenp e infelizmente nao encontrei nada sobre Pós em desenvolvimento de jogos
É só acessar aqui:
http://www.posunicenp.edu.br/curso.asp?id=19
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.
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
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?
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.
Oi Vinicius
O que me levou até vc. foi o nome (Vinicius Godoy também é o nome do meu filho ele tem 13 anos nas também é kiuco por games).
Tenho um projeto de quadrinhos socioambientais que adoraria transformar em jogos, aliando assim lazer a conscientização ambiental.
Tenho um site do projeto ainda em construção mas dá pra dar uma ideia da qualidade do roteiro e das personagens.
Posso te mandar tbem. uma apresentação em power point.
Queria saber informações deste mercado e como fazer este game.
Deixo com vc. meus contatos
annafrota@antenaverde.org.br
http://www.antenaverde.org.br (site da instituição que presido)
http://www.universoantenaverde.org.br
BJS
Anna Frota (que também é Godoy)
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!
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!
Aew vini!
Muito rox o blog! Vê se num para nunca de upar xD
Flw!
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!
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/
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.
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?
Para dúvidas como essa, visite o site:
http://www.programadoresdejogos.com.br
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!
Sugestão anotada!
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!!!
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).
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
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
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
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 .
Não tenho esse material, não.
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…..
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.
oie Vinicius
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
Oi,
O livro mais indicado é o Programming Games in Java, do Dave Brackeen.
Um, com versão gratuita, muito bom é o Killer Game Programming in Java. Eu ainda prefiro o do Brackeen, mas como é de graça, vale a pena indicar:
http://fivedots.coe.psu.ac.th/~ad/jg/
Existem ótimos materiais da Sun, que servem de complemento para a leitura:
Alguns ótimos guias são esses aqui:
http://java.sun.com/docs/books/tutorial/2d/TOC.html
http://java.sun.com/j2se/1.5.0/docs/guide/2d/spec/j2d-bookTOC.html
http://java.sun.com/products/jfc/tsc/articles/painting/index.html#swing
Um excelente tutorial onde realmente vale a pena começar é esse aqui:
Coke and Code, Space Invaders Tutorial – http://www.cokeandcode.com/spaceinvaderstutorial
Finalmente, você também pode estudar o código do Genius Para Dummies, que postei na PDJ:
http://www.programadoresdejogos.com/osgames/
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!
Oi. Não pirateie, compre o livro.
Ou então, baixe o livro que deixei ali no meu road-map, que além de muito bom, é totalmente gratuito e em português.
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.
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
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.
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
É por isso que eu falo para você focar em aprender a programar bem, ou seja, em saber bem o fundamento, como funcionam as coisas. Sabendo isso, aprender uma (ou várias) tecnologias é só uma questão de tempo.
Posso programar em C no Code::Blocks também? ou apenas C++?
Na faculdade estamos aprendendo C e usando o DevCpp.
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. 😉
É, 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é
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
Oi, te mandei um e-mail. 😉
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
Como você leu nos posts, eu não programo em Delphi há muito tempo.
Você pode seguir os tutoriais do Undercode:
http://undercode.wordpress.com/2008/06/17/criando-jogos-em-delphi-parte-i/
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 ?
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.
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.
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 🙂
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”.
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+
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.
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. 😉
Muito obrigado! Assim que estiver concluido, irei disponibiliza-lo, e pode deixar, seu nome estará nas referências 🙂 Valeu!!
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!
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.
vc pode me fornecer o seu contato de email, pois quero trocar uma idéias com vc, principalmente sobre jogos em JAVA….
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á!
Oi Ricardo. É possível sim.
Somente uma observação: excelente conteúdo 😉
Parabéns.
Beijos,
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
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á.
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!!
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
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.
Olá. Poste a dúvida no GUJ, me envie o link.
Estou começando a cursar ciência da computação, vou transferir da engenharia elétrica para essa área.Gostaria de saber se tem como você me passar alguns tópicos em c++ para criação de games utilizando vetores.Já li o seu tópico “O uso de vetores nos jogos” e gostaria de saber se você conheçe mais.Eu sei somente o básico de c++ as estruturas de dados simples mas se puder me ajudar agradeço!
Você pode dar uma olhada no trabalho do Reynolds: “Steering Behaviors for Autonomous Characters”:
http://www.red3d.com/cwr/steer/
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.
Oi Bruna, dê uma olhada no jogo “Genius For Dummies” que postei na PDJ.
http://www.programadoresdejogos.com/osgames/genius.zip
Leia também os tutoriais de java do Ponto V!
http://www.pontov.com.br/site
Recomendo também que frequente o GUJ, lá você poderá tirar suas dúvidas:
http://www.guj.com.br
oiiii….muito obrigada pela ajuda, acho que agora irei conseguir fazer este trabalho…
obrigada mesmo!
abraços, Bruna.
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??
Dê uma olhada no projeto “JMario”, do David Buzatto (moderador lá do GUJ também):
http://sourceforge.net/projects/jmario/
Não conheço a API Java Game, só de nome. Eu geralmente uso o Java2D puro mesmo.
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
Sim. Eu fiz esse AG para Java, e então utilizei ele para calcular o menor caminho entre os bosses do PW.
Inclusive postei o framework no GUJ:
http://www.guj.com.br/posts/list/223911.java#1149673
Funciona muito bem.
por favor poste tudo no http://www.4shared.com,o navegador da faculdade bloqueia quae tudo
Os 4shared apaga os arquivos depois de um tempo, e tem limites de espaço, uso um servidor próprio.
E acho que existem mais faculdades que bloqueiam o 4shared do que as que liberam.
Infelizmente, não posso nivelar por aí.
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.
Pingback: Montando um ambiente de desenvolvimento C e GTK com CodeBlocks no Windows | hamiltonsena.net
Vinicius,
estou precisando de uma consultoria de IOS e OpenGL, você pode me ajudar?
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 ??
Por favor, poste sua dúvida no GUJ.
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á.
Olá. Não se deve usar eventos de foco para fazer validações. No lugar, use a classe InputVerifier.
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
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?
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
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.
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…
Você precisa “só disso”? heheheheh…
Eu sugiro que você comece a fazer, elabora melhor suas dúvidas e poste-as no GUJ. Eu sou um dos moderadores de lá e, além de mim, muitos outros membros poderão te ajudar.
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.
Oi. Sou eu mesmo. Eu usei os modelos escondidos de Markov (HMM) para fazer a detecção do gesto.
Os vetores de características eu quantizei usando o knn. Veja aqui um artigo que pode te esclarecer um pouco:
http://www.creativedistraction.com/demos/gesture-recognition-kinect-with-hidden-markov-models-hmms/
Olá amigo, muito obrigado, o material será bem apreciado.
Agora sendo “apenas” um pouco folgado, qual seria a possibilidade de me fornecer o teu artigo final do mestrado pra eu dar uma olhada nele?
Claro que ele será referenciado nas literaturas utilizadas em meu TCC.
Assim que eu terminar, o artigo será publicamente disponibilizado no site da PUCPR. Mas estou fazendo a revisão final ainda.
Ahhh, OK.
Já me ajudaste bastante 🙂
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
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.
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
Pingback: HamiltonSena.NET » Montando um ambiente de desenvolvimento C e GTK com CodeBlocks no Windows
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
Olá Márcio. As respostas encontram-se no final do livro!