Mostrando postagens com marcador Faculdade. Mostrar todas as postagens
Mostrando postagens com marcador Faculdade. Mostrar todas as postagens

domingo, janeiro 18, 2009

Evento de jogos no UNIFESO


Em março irá acontecer o II WIA (II Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis) na minha, agora ex, faculdade, o UNIFESO (com apoio da SBC).

O evento terá palestras sobre desenvolvimento de jogos, com professores convidados, além da apresentação de trabalhos de alunos, ex-alunos e profissionais da área. Todos estão convidados a participar.

A submissão dos trabalhos irá até o próximo dia 30, e pode ser efetuada diretamente no site do evento. Os modelos do artigo e da apresentação já podem ser baixados.

Paralelamente, também ocorrerá o I COMSAU (Workshop de Computação e Saúde da Região Serrana do Estado do Rio de Janeiro), com as mesmas datas e arquivos para apresentação.

Os tópicos de interesse dos dois Workshops, são os seguintes:


  • Computação Gráfica


  • Desenvolvimento de Conteúdo para TV Digital


  • Desenvolvimento de Jogos Eletrônicos


  • Desenvolvimento de Hardware


  • Dispositivos Móveis


  • Engenharia de Software


  • Informática Aplicada à Educação


  • Informática Aplicada à Saúde


  • Inteligência Computacional e Artificial


  • Métodos Numéricos em Finanças


  • Métodos Numéricos para Engenharia


  • Mineração de Dados


  • Nanotecnologia Aplicada


  • Neurociências


  • Processamento de Imagens Digitais


  • Processamento de Sinais


  • Programação Paralela


  • Sistemas de Computação


  • Sistemas de Apoio à Decisão


  • Sistemas de Informações Geográficas


  • Sistemas Especialistas


  • Tecnologia da Informação


  • A programação preliminar pode ser vista em http://www.feso.br/comsau/programacao.html. Por hora, as seguintes palestras estão programadas:

    Palestra 1: Computação e Neurociências.
    Palestrante: Prof. D.Sc. Rodrigo Siqueira Batista (UNIFESO)

    Palestra 2: Tomografia Computadorizada - Aspectos Matemáticos.
    Palestrante: Prof. M.Sc. José Américo Rodrigues Araújo Filho (UEZO e FEUDUC)

    Palestra 3: Nanotecnologia Computacional Aplicada à Área Biológica.
    Palestrante: M.Sc. Omar Paranaíba Vilela Neto (ICA / PUC-Rio)

    Palestra 4: Desenvolvimento de Jogos 3D.
    Palestrante: Prof. D.Sc. Esteban Walter Gonzalez Clua (UFF)

    Palestra 5: Computação e Saúde.
    Palestrante: Prof. D.Sc. Heleno Pinto de Moraes (UNIFESO)

    Seguem uns cartazes com mais detalhes sobre (clique para ampliar):





    Eu devo participar com uma apresentação resumida do meu TCC. Fica o convite pra quem puder (e quiser) participar, seja com um trabalho inscrito ou somente para ver as apresentações.

    Mais detalhes: http://www.feso.br/comsau/.

    quinta-feira, janeiro 01, 2009

    Meu Trabalho de Conclusão de Curso

    Enfim, depois de mais de um mês sem postar, estou de volta.

    Não que eu esteja reclamando, mas estes últimos meses foram bem puxados. Encontrar tempo pra terminar o TCC enquanto trabalho, faço provas e trabalhos de outras matérias não é uma tarefa simples. Mas no fim deu tudo certo, meu trabalho foi bastante elogiado, aprovado com nota máxima e tal. E agora eu estou em um misto de alívio e felicidade por ter terminado a faculdade, e ainda uma pontinha de saudades que a turma vai deixar.

    Para a apresentação do trabalho, eu ainda consegui (graças ao meu orientador, Júlio César da Silva) a participação do professor Esteban Walter Gonzalez Clua, do Instituto de Computação da UFF, na minha banca de avaliação. Pra quem não conhece, ele é membro da ABRAGAMES e um dos responsáveis pela criação do SBGames. A participação dele foi muito importante, pois não só meu trabalho foi avaliado e aprovado por alguém que manja muito do assunto jogos, mas também pode me ajudar com minhas pretensões futuras (mas eu volto a falar disso outra hora).

    Além do Esteban, participaram da minha banca outros dois os professores: Eugênio da Silva, que foi meu professor em algumas disciplinas da faculdade (pegou pesado nesse último período, heim professor!) e Carlos Vitor de Alencar Carvalho, da Universidade Severino Sombra.

    Apesar de poder ser meio bobo fazer isso aqui no blog, agradeço muito a estes quatro pela força com o TCC (e claro, pela minha nota 10 ;P).

    Voltando ao trabalho e ao verdadeiro motivo deste post, estou disponibilizando um PDF pra quem tiver interesse em ler minha monografia. O texto completo tem 75 páginas e não é nenhum monstro em termos de tamanho (ainda mais se se levar em consideração que parte destas páginas são ocupadas por dois anexos).

    A monografia, pra quem não sabe (que feio, não leu minhas postagens antigas) é sobre um sistema para criação de jogos visualmente, uma espécie de game maker. No texto eu faço um apanhado sobre a situação da indústria de jogos e os jogos no meio acadêmico, além de tratar de conceitos envolvidos na geração deste tipo de ferramentas e das tecnologias utilizadas no projeto. Por fim, é falado das partes que compõem o projeto em si: um wrapper para a biblioteca gráfica Allegro, um framework para criação de jogos, um ambiente visual e um gerador de código.

    O software proposto no trabalho está em um estado funcional, já sendo possível criar jogos simples com ele. Toda a parte de carregar imagens e efeitos sonoros, criar entidades e atribuir eventos e ações já funciona, além disso o código-fonte já é gerado automaticamente e depois compilado, utilizando o MSBuild. Em breve eu posto aqui um link pra quem quiser testar.

    Para baixar o arquivo da monografia, clique na imagem abaixo ou aqui. Boa leitura!


    segunda-feira, setembro 01, 2008

    Artigo sobre Sockets

    No semestre passado, o David e eu escrevemos um artigo sobre Sockets para a disciplina de Sistemas Distribuídos na faculdade. O artigo basicamente descreve um rápido histórico e as principais funções para se trabalhar com Sockets no ambiente Windows (usando WinSock).

    Para cada função descrita, entre elas criação e destruição de Sockets, conexão, envio e recepção de mensagens, um trecho de código é apresentado em conjunto, exemplificando seu funcionamento.

    Apesar de não ser algo muito complexo, o texto pode ajudar quem quer começar a trabalhar com Sockets, seja para a criação de jogos em rede ou não. Quem se interessar, pode baixar o PDF aqui.

    Até a próxima.

    domingo, julho 06, 2008

    Jogo da Velha

    Conforme eu comentei anteriormente, eu estava fazendo um jogo da velha para a disciplina de Sistemas Distribuídos na faculdade. O período acabou e o jogo ficou quase pronto.

    Ele está funcionando bem, porém algumas vezes acontecem uns bugs que eu ainda não consegui solucionar. O mais comum (mas não tão comum assim) é um jogador vencer e o jogo dizer que deu empate. Uma outra coisa que está faltando é implementar a desconexão de um jogador do servidor, por enquanto quando isso acontece o servidor pode ficar instável e enviar mensagens erradas (além de "prender" o outro jogador no jogo).

    Apesar disso, o jogo já está praticamente pronto e eu estou disponibilizando os binários pra quem quiser testar. O código-fonte, conforme combinado com o professor da disciplina, estará disponível em breve, assim que eu tiver um tempo para incluir uns comentários e deixá-lo mais legível.

    Pra jogar, basta rodar o servidor.exe e depois dois ou mais cliente.exe. Um novo jogo é criado sempre que dois clientes se conectam, então se um número ímpar de clientes estiverem conectados, o último a entrar fica aguardando numa fila.

    O jogo funciona localmente (com o IP loop back 127.0.0.1) ou em rede, bastando mudar o endereço no arquivo ip.txt (coloque o endereço da máquina onde o servidor está rodando). Se for jogar em rede, recomendo que desligue o seu Firewall caso o jogo apresente algum problema de conexão.

    Por fim, o jogo foi desenvolvido no Visual C++ 2008 Express Edition (com Allegro e WinSocket) e pode ser necessário instalar o pacote de redistribuição do VC++ para jogar. Se for o caso, o instalador (de 1.7MB) pode ser encontrado aqui.

    Para fazer o download e testar o jogo da velha, basta clicar aqui. Qualquer dúvida ou sugestão, falem nos comentários. Se encontrarem algum bug (além dos já comentados) não deixem de falar também.

    P.S.: O carnaval da tela de jogo é culpa do David.
    P.S.2: Agradecimentos à galera, tanto da faculdade quanto do MSN, que me ajudou a testar e encontrar os bugs no jogo.

    domingo, junho 15, 2008

    Sistemas Distribuídos

    O sonho de muita gente por aí é criar um MMO revolucionário, mas antes de fazer um jogo para desbancar World of Warcraft, que tal aprender um pouco sobre transmissão de dados em rede?

    Para a matéria de Sistemas Distribuídos na faculdade, minha turma tem que fazer uma série de pequenos aplicativos utilizando Sockets e deixá-los disponíveis num site. Aí está uma boa oportunidade de ver essa biblioteca funcionando na prática e adquirir um pouco de conhecimento antes de partir para algo mais complexo.

    Alguns estão sendo feitos com base em um chat cliente/servidor que eu e o David fizemos em um outro trabalho desta mesma matéria (confira os fontes e os executáveis aqui). Depois eu vou exportar esse trabalho em PDF e publicar aqui.

    A minha parte do trabalho, como não podia deixar de ser, envolve jogos: eu tenho que fazer um jogo da velha em rede, onde um servidor controla multiplos clientes. O trabalho já está bem avançado e tem que ser entregue até o dia 23/06. Quando estiver pronto eu posto por aqui.

    Para mais detalhes sobre este e os outros projetos, veja a página da disciplina: Sistemas Distribuídos - UNIFESO.

    domingo, maio 04, 2008

    Visual Game Framework - Pong


    Fiz um pequeno Pong usando meu Visual Game Framework pra testar suas funcionalidades.

    Estou liberando o jogo compilado (bem simples, com partidas sem fim) e o código-fonte (que serve para demonstrar como os jogos com o Framework são feitos). Acompanha o download todas as Dlls necessárias para rodar e compilar o projeto, ou seja, com o arquivo VisualGameFramework.dll já é possível desenvolver jogos, porém em breve eu devo fazer um lançamento oficial, com documentação e tal.

    Quem olhar o código vai ver que nem tudo é feito de forma a se obter o melhor desempenho (por exemplo, testes que poderiam ser unidos em um só usando um operador binário aparecem como Ifs aninhados). Obviamente este código pode ser melhorado, mas ele foi escrito de uma forma que poderia ser gerado automaticamente por um programa (meu projeto de TCC deve gerar código de acordo com as escolhas do usuário). Claro que se alguém se interessar em desenvolver usando o Framework, será possível escrever código otimizado sem problemas.

    É isso. Testem o Framework e deixem seus comentários. Certamente eles vão me ajudar.

    Download: aqui.

    PS.: Pong rubro-negro em homenagem ao Mengão!!!

    domingo, abril 27, 2008

    Estatísticas de código do Visual Game Framework

    Bem, o Visual Game Framework finalmente chegou num estágio pronto para ser usado. Obviamente sempre há mais coisas a serem feitas e eu tenho muitas idéias pra adicionar ao Framework, mas eu decidi fechá-lo agora pra poder liberar a versão 1.0, senão o desenvolvimento não termina nunca.

    No momento eu não pretendo mais mexer no código, então resolvi dar uma olhada nas estatísticas do projeto, ou seja, quantidade de linhas de código, comentários, etc.

    Pra contar as linhas eu usei um plugin do Code::Blocks, que é ótimo mas pouco prático pra quem trabalha com C# (alguém conhece alguma forma melhor, especialmente pro .Net?). Abaixo, o resultado:

    Como podem ver, são cerca de 6,5 mil linhas de código, sendo metade delas código propriamente dito, e quase 40% desse total é preenchido por comentários. Os comentários já são bastante completos, porém mais pra frente eu pretendo adicionar exemplos de utilização dos métodos também, o que irá aumentar ainda mais essa proporção.

    São 30 arquivos .cs, divididos em 25 classes e 5 tipos enumerados.

    Correção: dos trinta arquivos, são 22 classes, 7 enumerados e 1 arquivo gerado automaticamente pelo Visual C# para tratar as strings do arquivo de recursos. Destes, o maior arquivo é Jogo.cs, que controla a lógica central do jogo e conta com pouco mais de 1300 linhas (cerca de 20% do projeto).

    Agora chega de informação inútil. Em breve, mais novidades.

    Até a próxima.

    quarta-feira, fevereiro 27, 2008

    Um pouco do que eu ando fazendo

    Já se foram duas semanas de aula e por enquanto as coisas ainda estão tranquilas na faculdade. Com isso, eu estou tendo bastante tempo pra trabalhar no meu TCC e no AllegroNet, e resolvi falar um pouco sobre o que eu estou fazendo no momento:

  • Estou quase terminando a documentação em XML do AllegroNet, usando como base o manual do Allegro e adicionando detalhes da implementação no C#. Quando concluir a documentação, eu pretendo publicar o projeto no SourceForge.


  • Acho que não tinha comentado aqui, mas eu não estava conseguindo implementar as funções de callback do Allegro no .Net. Esse problema foi resolvido usando delegates.


  • Outro problema que eu tinha no wrapper do Allegro era que, por algum motivo estranho, as funções que usam o tipo fixed (que nada mais é que um alias para long) não estavam funcionando dentro do .Net. Para resolver isso, eu reproduzi essas funções numa DLL nativa, sendo que agora eu passo o parâmetro como int e o valor é convertido para fixed nesta DLL.


  • Como as fontes de bitmap do Allegro não suportam caracteres especiais (como acentos) eu estava atrás de uma forma de contornar isso e resolvi usar o AlFont. Em função disso, também estou fazendo um wrapper do AlFont para .Net e as funções principais (como textprinf, textout, text_lenght e text_height) já estão funcionando.


  • Mudando um pouco de assunto, eu revisei o tutorial sobre temporizadores no J2ME e adicionei syntax highlight com o Prettify. Agora os códigos estão coloridos e bem mais agradáveis de ler.


  • That's all folks.

    sexta-feira, dezembro 28, 2007

    Um pouco sobre meu TCC

    Bem, eu estou de férias na faculdade e a maioria das pessoas que estão na mesma situação não querem saber de estudos até o ano que vem. Mas eu não sou assim. Depois de começar meu Trabalho de Conclusão de Curso com um grande atraso nesse semestre, eu estou aproveitando as férias pra dar uma boa adiantada nele e ficar tranquilo quando as aulas voltarem no próximo ano (e com elas o caminhão de trabalhos que os professores costumam passar).

    Já faz um tempo que eu venho querendo comentar sobre meu TCC aqui, mas sempre batia uma preguiça na hora de escrever um post grande. Agora, eu respeito aos meus três ou quatro visitantes diários, resolvi que já era hora de falar sobre ele.

    Alguns já sabem, mas não custa repetir, meu trabalho é um Ambiente Visual para a Criação de Jogos. Trata-se de um game maker, com características próprias, como o acesso ao código-fonte do jogo criado (o que permite usar meu projeto para criar o esqueleto do jogo e depois editar o código-fonte para fazer ajustes, se necesário).

    O trabalho se divide em duas partes principais: o Ambiente Visual e um Framework.

    O Ambiente Visual será a Interface Gráfica em si, onde o usuário irá desenvolver o jogo. Este ambiente irá oferecer maneiras de se carregar e configurar recursos utilizados no jogo (imagens, sons, fontes...) e definir os eventos e ações que cada Entidade irá desempenhar no jogo (como mover-se, checar mouse e teclado, instanciar e destruir outras entidades...). Depois de tudo editado usando a interface, o código-fonte do jogo será gerado automaticamente e compilado.

    O Framework deverá conter diversas funções para criação e controle de jogos (como funções de desenho, acesso a dispositivos de entrada, armazenamento...), funções de controle das Entidades (mover, atualizar, desenhar...), e estruturas de dados (listas de imagens, sons, fontes, entidades e outros que são gerenciados internamente pelo framework). A idéia do framework é abstrair a biblioteca sobre a qual o jogo rodará (mais sobre isso abaixo), e facilitar e diminuir o código gerado pela interface gráfica. O framework pode (e deve) ser utilizado independente da interface, sendo uma opção rápida para o desenvolvimento de jogos.

    Atualmente eu tenho trabalhado no desenvolvimento do framework, que tem o nome provisório de VisualGame Framework (se alguém tiver uma idéia de nome melhor, me avise :)). Eu havia iniciado o desenvolvimento usando o Managed DirectX, mas tive alguns problemas e resolvi mudar. Testei várias opções (XNA, SDL.NET, GDI+ e Irrlicht) e por hora me decidi pelo IrrlichtCP, mas isso ainda pode mudar.

    Como vocês devem ter reparado, os testes foram todos feitos com bibliotecas gerenciadas pelo .Net. Isso foi uma decisão minha porque eu pretendo usar o compilador do .Net na hora de gerar o executável do jogo (testes foram feitos com sucesso com o CSC e o MSBuild). Como a interface será feita no Visual C# Express, o desenvolvedor já terá que ter o .Net Framework instalado para usá-la e este será o único requisito. Caso eu escolhesse uma biblioteca Win32, o desenvolvedor teria que instalar também um compilador (como o gcc), o que não me agrada muito no ponte de vista de usuário (diz aí, você gosta quando tem que instalar um monte de coisa pra usar um programa?).

    No entanto, essa também não é uma decisão final. A versão final desse trabalho só será apresentada no final de 2008 e até lá algumas coisas podem mudar. De acordo como está estruturado o framework hoje, não é muito complicado trocar de biblioteca (cada conversão entre as bibliotecas que eu citei acima demorou um ou dois dias apenas), mas trocar de linguagem certamente daria um trabalho um pouco maior. Eu citei 'trocar de linguagem' porque ainda existe a possibilidade de o programa ser voltado para criar jogos em Java para celular (o que justificaria bastante o produto, como uma ferramenta para gerar jogos casuais e advergames de forma rápida e descomplicada).

    Muito bem, chegamos ao fim deste post que eu espero que seja o primeiro de muitos sobre o assunto. Futuramente eu quero falar um pouco mais sobre sobre os testes com as bibliotecas e quais os problemas com os quais eu me deparei, além de apresentar melhor o framework, mostrá-lo em funcionamento (estou desenvolvendo um joguinho como teste) e disponibilizá-lo caso alguém se interesse em testá-lo. Se alguém tiver alguma sugestão ou crítica, solte a língua nos comentários.

    E é isso aí. Feliz ano novo e sucesso nos seus projetos. Até a próxima.

    domingo, outubro 21, 2007

    E de volta do INIC...

    Estou de volta a Teresópolis e aí vai uma foto da galera toda que foi comigo ao INIC. Conseguem ver algo de estranho?

    quinta-feira, outubro 18, 2007

    XI INIC

    Nesta quinta e sexta-feira (dias 18 e 19) eu estarei em São José dos Campos para a apresentação do meu trabalho FUNDAMENTOS DO DESENVOLVIMENTO DE JOGOS PARA DISPOSITIVOS MÓVEIS E SUA APLICAÇÃO NA PUBLICIDADE no XI INIC (Encontro Latino Americano de Iniciação Científica).

    Meu trabalho, como já deve ter dado pra presumir, trata de advergames pra celulares como uma saída viável de desenvolvimento no Brasil, já que a maioria das empresas não têm condições de competir no mercado tradicional de jogos pra PC. Na volta do congresso eu devo postar o artigo aqui no blog, então fiquem de olho.

    Minha apresentação vai ser no formato de poster, que ficará exposto na sexta-feira, no Pavilhão de Eventos, entre as 19:00h e 21:00h. Se algum leitor do blog for ao encontro, passa lá pra dar uma olhada no meu trabalho.

    Pra quem quiser saber mais sobre o INIC, visitem o site oficial.

    domingo, agosto 26, 2007

    Dica: Hospedagem gratuita MySQL

    Se você é um desenvolvedor que usa MySQL e precisa hospedar um banco online, o FreeSQL é o que você está procurando. O site oferece uma base de dados gratuita e te dá liberdade de usá-la quase como quiser, apenas não abuse (e não use a base para fóruns).

    Gostou? Clique aqui, preencha um rápido cadastro e tenha um banco de dados novinho pronto pra usar.

    quarta-feira, fevereiro 07, 2007

    A "Inteligência" dos tradutores online

    Na aula de Introdução aos Sistemas Inteligentes o professor estava falando sobre Pocessamento de Linguagem Natural e comentou sobre uma falha comum nos tradutores online que você pode conferir na imagem abaixo.


    Clique para ampliar
    Diz aí, não dá vontade de jogar no lixo e nunca mais abrir um tradutor depois de ver uma coisa dessas?