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.
Finalmente, vim para meu emprego atual. Estou na Siemens desde 2003, 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.
Entrei na área de jogos há três anos, por interesse pessoal. Desde o início de 2007, curso a pós-graduação de desenvolvimento de jogos da Universidade Positivo. Já criei e publiquei vários jogos um deles em Java, chamado Vikanoid (um remake simples do Arkanoid) e o outro para a pós-graduação, na disciplina de programação em C++, chamado Batalha Estelar e um game 3D simples para a disciplina de Computação Gráfica 1, chamado Campeonato Bola Gelada (estilo Worms 3D). Espero poder escrever novos jogos aqui para esse blog e descrever em detalhes como o processo de criação funciona. Os jogos atuais, com suas descrições e códigos fonte podem ser baixados na página Meus Jogos.
Realmente recomendo o curso do Unicenp. 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 e um pouco de gerência projetos e UML. A faculdade foi muito bem falada na edição 69 de novembro de 2007 da revista Eletronic Games Brasil, principal revista da área. A novidade também é que fui um dos entrevistados da matéria.
Só gostaria de ressaltar que é um curso focado em programação, portanto, se você não se considera um bom programador, procure sanar essa dificuldade antes de se matricular. As aulas são quinzenais, aos sábados, até por isso quem mora mais longe tem a oportunidade de cursar por lá. Tenho colegas de São Paulo, Santa Catarina e do outro lado do Paraná, por exemplo.
Esse ano, também lecionei as aulas de Computação Gráfica, Sistemas Operacionais e Fundamentos de Informática na Universidade Federal do Paraná. Fui contratado como professor temporário, mas já foi uma experiência muito bacana. Conheci ótimas pessoas, tanto colegas quanto alunos, quanto (eu espero) futuros orientadores.
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 Inteligência Artificial e Computação Gráfica e planejo cursar um mestrado sobre esse assunto nos próximos anos. Logicamente, também jogo muitos jogos de computador. Meus gêneros favoritos são RPG – que também jogo na mesa há uns 15 anos, Estratégia e Quebra-Cabeças. O que não significa que não jogue os outros gêneros.
Bem, esse é um pouco do meu currículo, passado a vocês de maneira discursiva. Estou escrevendo esse blog pela minha paixão pela área, por gostar de escrever, de ensinar, e para conhecer outras pessoas interessadas na área. Sintam-se bem-vindos, tanto para ler, comentar ou mandar e-mails informando sobre um ou outro erro de português!
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.
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/
V, meus parabéns por tanto potencial… É realmente muito inteligente…
É a primeira vez que eu entro no seu blog, e espero voltar mais vezes pelo fato do intelecto de suas publicações serem tão ricos e abrangentes… Gostei.
Sou iniciante nesse mundo de programação, mas tenho muita afeição e interesse e espero sinceramente aprender muito com todas essas contribuições que tu deixou aqui no blog.
Eu curso o o quinto período de ciência da computação na Anhanguera Educacional de Anápolis – Goiás, e desde o inicio da vida académica eu parei de jogar, o motivo ao certo eu não sei te explicar, mas eu tinha muito medo de atrapalhar o desempenho da aprendizagem… Na verdade eu nunca gostei muito de jogos, mas eu achava Half Life (todas as edições e derivações) a primeira maravilha do mundo…
Verifiquei em um SS da sua área de trabalho que você tambem gosta do jogo citado ne? Legal…
Bom, eu nunca pensei e nem tive muita inspiração em ser programador de jogos, mas mesmo assim fiz um joguinho bem simples em JAVA, usando apenas os componentes básicos oferecidos pelo JRE mesmo.
Vou postar o link do mesmo aqui, para que tu possa dar uma olhada se for de seu interesse, é algo demasiado simples, mas que me fixou uns conceitos bem legais…
LINK:
http://rapidshare.com/files/169039972/JogoDasSenhas2.jar
No jogo tem uma materiazinha explicando com funciona!
:}
Ate logo!
Muito sucesso!
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….