Temas para TCC - Aviso aos navegantes

Um jogo também é uma opção legal.
Pelo menos envolve bastante computação gráfica, uso de som e é algo diferente.

Só não envolve web.
Um jogo multiplayer seria muito complexo, a menos que seja de tabuleiro.

[quote=ViniGodoy]Um jogo também é uma opção legal.
Pelo menos envolve bastante computação gráfica, uso de som e é algo diferente.

Só não envolve web.
[/quote]

E um jogo pra TVDigital? =)

Você sabe quais são as especificações máximas que dá pra fazer, Godoy?

Valeu!

Não sei, ainda não pesquisei sobre isso…
Vou perguntar para alguns colegas lá na empresa, eles devem saber de cór.

Aproveitando que você tocou no assunto, esses dias estava flertando a possibilidade de desenvolver um jogo de tabuleiro multiplayer, com a interface em ajax. O que eu ainda não consegui descobrir é como dois usuários se conectariam a uma mesma partida, e como várias partidas se realizariam simultaneamente. Alguém tem alguma idéia? Até onde isso é viável?

Aproveitando que você tocou no assunto, esses dias estava flertando a possibilidade de desenvolver um jogo de tabuleiro multiplayer, com a interface em ajax. O que eu ainda não consegui descobrir é como dois usuários se conectariam a uma mesma partida, e como várias partidas se realizariam simultaneamente. Alguém tem alguma idéia? Até onde isso é viável?[/quote]

o ajax permite fazer isso…
ele torna a pagina web sincronizada entre 2 usuarios (ou mais)

dah uma pesquisada sobre tutoriais de ajax (geralmente todos são com exemplos em PHP)
não é muito dificil de fazer não…
segue o mesmo modelo de um chat em tempo real…

Alucardeck,

minha dúvida se restringe mais a como implementar isso:

[quote]
O que eu ainda não consegui descobrir é como dois usuários se conectariam a uma mesma partida, e como várias partidas se realizariam simultaneamente[/quote]

Alguém aí já jogou sinuca ou xadrez online? Quero fazer alguma coisa parecida, onde vários jogos possam ocorrer ao mesmo tempo.
O que seria cada partida na minha aplicação, então? Uma thread? E como eu poderia entrar em uma partida ou convidar alguém pra jogar comigo? Se houvesse um jeito de iniciar uma partida nova por uma ‘chave’ ou uma url, eu poderia incorporar um programa de chat ou irc pronto no meu sistema e deixar os usuários se virarem.

É viável isso ou estou viajando na maionese? :stuck_out_tongue:

Olha só que curioso o artigo que saiu hoje nesse blog:

Já joguei xadrez. Mas eu sou muito pato.

Sim, cada partida poderia ser uma thread. Eu poderia te passar um servidor de Pong Multiplayer que eu fiz como exemplo, que suporta 5 partidas simultâneas. Mas eu teria que testa-lo antes. Nunca testei com mais de 1 partida, pq não tenho micros suficientes. :frowning:

Existem programas que são exatamente isso. Chamam-se lobby applications. Eles nada mais são que “chats” espertinhos, onde um jogador pode convidar outro. Também servem para esconder informações que os jogadores não querem se preocupar, como o IP do seu adversário. Além disso, um servidor desses pode também forçar a conexão entre dois peers que estão atrás de um nat, seja através da técnica de hole punching, ou seja servindo de tunel.

Obrigado pela resposta bem completa, ViniGodoy!

Você me esclareceu muita coisa, mas ainda tenho algumas dúvidas.

[quote] dlt wrote:Alguém aí já jogou sinuca ou xadrez online?

Já joguei xadrez. Mas eu sou muito pato.
[/quote]

Eu perguntei sobre esses jogos online, justamente por que eu estava pensando em uma aplicação que funcionasse na web, como o antigo kinuca.com.br, que eu acredito que seja implementado em flash. No lugar do flash eu usaria Java/Javascript.

Adoraria ver seu servidor de Pong, nem precisa testar… :smiley: Não tem como simular mais partidas implementando uns mocks de players?

[quote]
Existem programas que são exatamente isso. Chamam-se lobby applications. Eles nada mais são que “chats” espertinhos, onde um jogador pode convidar outro. Também servem para esconder informações que os jogadores não querem se preocupar, como o IP do seu adversário. Além disso, um servidor desses pode também forçar a conexão entre dois peers que estão atrás de um nat, seja através da técnica de hole punching, ou seja servindo de tunel.[/quote]

O que eu quero é mais ou menos uma lobby application. Na verdade, depois que eu comecei a ler esse artigo sobre hole punching que você me indicou fiquei com algumas dúvidas. Pelo o que eu entendi o hole punching seria mais recomendado se eu fosse fazer uma aplicação cliente-servidor, em que cliente e servidor fossem utilizados via desktop. Aí eu teria que me preocupar as conexões entre os players e o jogo, nat’s, ocultar informações dos ip’s dos players, etc. É isso mesmo ou eu deixei passar alguma coisa?

O jogo que eu estou idealizando seria ‘mais ou menos uma lobby application’ por que, num primeiro momento eu não quero implementar a parte do chat. Minha idéia inicial é ter toda a lógica do jogo num conteiner web. Um player (Fulano) acessaria minha página e criaria uma nova partida, recebendo uma senha ou uma url que daria direito a um segundo player ‘entrar’ na mesma partida. Aí ele entraria no chat e diria: “Ei, Ciclano! Quer jogar comigo? A senha/url da minha partida é ###”. A função do chat se resumiria a troca de convites/credenciais entre os players.

Aí o Ciclano acessaria a url ou digitaria a senha de entrada numa parte da aplicação destinada a esse tipo de coisa e se conectaria na partida do Fulano.

Todo problema sobre conexão, ip’s, etc, ficaria a cargo do container, eu teria que me preocupar apenas se um player ‘tem a senha ou não’.

[]'s

Isso que vc descreveu é exatamente um serviço de lobby.

O Hole Punching é para aplicações peer-to-peer, não cliente servidor.

O servidor vai estar num ambiente configurado para aceitar conexões externas, provavelmente vai ter um IP válido e não vai estar atrás de um NAT (se estiver, será um NAT propriamente configurado).

Agora, o hole punching é para permitir a conexão direta entre dois jogadores que estão atrás de um NAT. Ele permite que o servidor sincronize os clientes de modo que eles furem o bloqueios dos nats e estabeleçam a conexão entre eles, sem a necessidade de configurar IPs ou abrir portas (como fazem os torrents). Depois disso, o servidor sai de cena.

Para entender o porque da técnica, você tem que lembrar que:

  1. O endereço interno do cliente não existe na internet (e isso vale para ambos os clientes, de ambos os lados).
  2. O nat não permite que uma aplicação da web inicie a comunicação com o cliente, sem que esse tenha se comunicado previamente (note que não é possível nem mesmo acessar o endereço do nat, pq sem o cliente ter se comunicado, o NAT não terá mapeado um endereço de porta para um IP interno da rede).

Dada essas duas condições, como vc faria para iniciar uma conversa direta entre duas aplicações que estão atrás de um NAT?
A resposta está no hole punching.

Estamos com um problema de comunicacao serio aqui. :smiley:

Nao vou precisar de conexao direta entre cliente e servidor, nao. Ate onde eu consigo imaginar, apenas requests e responses HTTP pra la e pra ca.

[]`s

Thingol…faço Informática com Ênfase em BD, na verdade iniciei a ênfase esta semana 5º Semestre e preciso elaborar um projeto para ser apresentado até o final deste e no 6º semestre apresentar para banca e concluir de fato a graduação. Tenho um sério problema, não faço a minima idéia de qual assunto abordar…
De acordo com o que vc escreveu, digo a vc que gosto muito da idéia de saber administrar um banco de dados,porém não sei quase nada ainda, como disse estou iniciando agora, mas é o que chama mais a minha atenção, contudo, preciso de um tema…

Se puder ajudar!!!

Valeu.

Bom dia galera!
Estou confusa sobre o que fazer de TCC. Até um certo tempo eu pensei em fazer uma aplicação wap, mas eu não sei como ficará o único prof. que pode ser orientador sobre isso :roll:
Bom, vamos lá…
Faço Ciências da Computação na Unisantos;
Bom, em relação a ênfase eu não sei muito bem, pois CC aborada de tudo neh :?
Eu gosto muito de aplicações web, nada de computação gráfica e gostaria de aprender alguma coisa de celular, também curto bastante bd;
Meu trabalho é para o ano que vem, uma parte no fim do primeiro semestre e o restante no fim do segundo…

Se alguém tiver alguma idéia ai :wink:

Valeu :thumbup:

[quote=tatianefernanda]Bom dia galera!
Estou confusa sobre o que fazer de TCC. Até um certo tempo eu pensei em fazer uma aplicação wap, mas eu não sei como ficará o único prof. que pode ser orientador sobre isso :roll:
Bom, vamos lá…
Faço Ciências da Computação na Unisantos;
Bom, em relação a ênfase eu não sei muito bem, pois CC aborada de tudo neh :?
Eu gosto muito de aplicações web, nada de computação gráfica e gostaria de aprender alguma coisa de celular, também curto bastante bd;
Meu trabalho é para o ano que vem, uma parte no fim do primeiro semestre e o restante no fim do segundo…

Se alguém tiver alguma idéia ai :wink:

Valeu :thumbup:
[/quote]

Bom…se vc disse que “gostaria de aprender alguma coisa de celular”…esqueça fazer aplicações pra celular…

Pq vc teria que aprender sobre isso pra depois pensar no que é possível fazer com isso…talvez fosse demorado demais…

Pq vc não tenta fazer um browser apenas com Java?

Nem sei se isso é “possível”…mas seria um ótimo TCC…

Espero ter ajudado…

Olá pessoal, eu faço Informática com ênfase em gestão de negócios na Fatec, e adivinhem só??n sei q tema escolher pro meu TCC hehe, eu queria um tema na área de informática, preferencialmente na área de T.I, o meu orientador me deu uma sugestão de um tema sobre “Recuperação de Informação” eu queria saber oq vcs acham sobre esse tema e se podem me sugerir outros menos complexos e tal pq eu tenho somente 3 meses para fazê-lo.

Agradeço desde já

[quote=thiago348]Olá pessoal, eu faço Informática com ênfase em gestão de negócios na Fatec, e adivinhem só??n sei q tema escolher pro meu TCC hehe, eu queria um tema na área de informática, preferencialmente na área de T.I, o meu orientador me deu uma sugestão de um tema sobre “Recuperação de Informação” eu queria saber oq vcs acham sobre esse tema e se podem me sugerir outros menos complexos e tal pq eu tenho somente 3 meses para fazê-lo.

Agradeço desde já[/quote]

Bom…vamos com calma…

1º: Como seria esse projeto que seu orientador dugeriu? Se vc explicar melhor a gente podia te ajudar…

2º: Um projeto de TCC pra ser feito em 3 meses…vejamos…faça uma calculadora!
Projeto de TCC tem que ser planejado e decidido com NO MÍNIMO uns 9 meses…a não ser que vc tenha experiência com programação…ai td bem…vc consegue fazer algo bem rápido…mas de preferência 9 meses…
Mas o pessoal te dá umas dicas legais aqui…

3º: Do que vc gosta? Redes? BD? Jogos? IA?
Dependendo do que vc gostar o pessoal te da algumas sugestões EXCELENTES…

Bom…eu acho que é só…eu estou sem idéias agora…então fica difícil de eu te ajudar agora…mas eu acho que por esses pontos já da pra considerar isso como sendo uma ajuda!

=)

Abraço e boa sorte!

[quote=claudneto][quote=thiago348]Olá pessoal, eu faço Informática com ênfase em gestão de negócios na Fatec, e adivinhem só??n sei q tema escolher pro meu TCC hehe, eu queria um tema na área de informática, preferencialmente na área de T.I, o meu orientador me deu uma sugestão de um tema sobre “Recuperação de Informação” eu queria saber oq vcs acham sobre esse tema e se podem me sugerir outros menos complexos e tal pq eu tenho somente 3 meses para fazê-lo.

Agradeço desde já[/quote]

Bom…vamos com calma…

1º: Como seria esse projeto que seu orientador dugeriu? Se vc explicar melhor a gente podia te ajudar…

2º: Um projeto de TCC pra ser feito em 3 meses…vejamos…faça uma calculadora!
Projeto de TCC tem que ser planejado e decidido com NO MÍNIMO uns 9 meses…a não ser que vc tenha experiência com programação…ai td bem…vc consegue fazer algo bem rápido…mas de preferência 9 meses…
Mas o pessoal te dá umas dicas legais aqui…

3º: Do que vc gosta? Redes? BD? Jogos? IA?
Dependendo do que vc gostar o pessoal te da algumas sugestões EXCELENTES…

Bom…eu acho que é só…eu estou sem idéias agora…então fica difícil de eu te ajudar agora…mas eu acho que por esses pontos já da pra considerar isso como sendo uma ajuda!

=)

Abraço e boa sorte![/quote]

Bom eu estou bastante interessado em IA, e meu orientador me disse q a 'Recuperação de Informação abrange IA tb, mas como vc disse pode ser mto pequeno o prazo então eu poderia começar a fazer esse semestre e apresentar em junho do ano q vem.

Tá ficando doido? Calculadora como TCC? Eu mataria um aluno desses.

Uma coisa que voce pode tentar pensar se tiver um departamento de biomedicina ou de neurociencia na sua universidade é como pegar os sinais do EEG de uma pessoa e transformar em ações. Tem muita coisa assim em Java.

[]'s!

Desde que seja o software de uma hp48gx, até dá para pensar no assunto…

Eu quis dizer pelo prazo de apenas 3 meses…eu sei que TCC tem que ser planejado e feito com calma…como eu disse, uns 9 meses já da pra se fazer algo decente…3 meses é praticamente impossível!

gostaria de ver algumas proposta de temas
para tcc na area de computacao grafica ou microcontroladores/
sistemas embarcados
vlw