Ir ao conteúdo

Como fazer um video game?


Sr. Fumaça

Posts recomendados

Postado

Esse microcontrolador é de 8 bits!!! não tem como ele emular um megadrive... ja esse CLPD do anuncio é pequeno para construir um megadrive... talves de para construir um ATARI... a ideia de usar um FPGA para construir um megadrive ja foi usada no megadrive 3 que usando as portas restantes implementou uma JVM (Java Virtual Machine) para alguns rodar jogos de celular, como o The sims2...

Para trabalhar com um FPGA voce tera que, inicialmente projetar todo o hardware a nivel de portas logicas e em seguida descreve-lo em VHDL, Verilog ou outra linguagem de descrição de hardware... eu estava lendo alguns livros de eletronica digital, que tem uma introdução ao VHDL... nesse exemplo esta o codigo necessario para construir um somador de 4 bits:


LIBRARY ieee;
USE iee.std_logic_1164.all;
USE iee.std_logic_unsigned.all;

ENTITY bin_fulladd_4 IS
PORT(
a,b:IN STD_LOGIC_VECTOR ( 3 DOWNTO 0);
sum:OUT STD_LOGIC_VECTOR ( 3 DOWNTO 0);
Cin:IN STD_LOGIC;
Cout:OUT STD_LOGIC);
END bin_fulladd_4;
ARCHITETURE a OF bin_fulladd_4 IS
SIGNAL intsum:STD_LOGIC_VECTOR(4 DOWNTO 0);
BEGIN
intsum<= ('0' & a ) + b + Cin;
Cout <= intsum(4);
sum <+ intsum(3 DOWNTO 0);
END a;

Postado

eu estou aprendendo Assembly, linguagem baixa, mais acho qeu nao serve, mais assim do jeito com fpga nao ficaria mais complicado em termos de programações?

Postado

Para que plataforma voce esta aprendendo assembly? se for x86 esquece, pois não vale a pena... a menos que voce queira hackear programas...

Como voce deve ter percebido quando programamos um microcontrolador nos apenas mandamos-lhe fazer alguma coisa, tipo somar,subitrair,mover um registro... ja se voce for fazer o mesmo em um CLPD/FPGA voce tera que "construir" um circuito somador/subtractor, construir o hardware de controle... se por um lado isso da liberdade para o projetista, por outro torna necessario saber projetar um circuito digital que execute a função desejada... CLPDs são ideais para ser usados como circuito de apoio para um prototipo usando microcontrolador, eles podem substituir varios componentes das series 74xx de CI dedicados

Se a ideia for apenas construir algo, voce pode procurar esses projetos que emulam um megadrive/super nintendo via FPGA, muitos ate disponibilizam o codigo fonte em VHDL... so não espere encontrar muita coisa em portugues...

Postado

entendi, então no caso qual a linguagem teria que aprender? ou apenas um software especifico para o FPGA ja seria o suficiente??

Postado

FPGA é basicamente um chip programável.

Você vai programar nele com uma linguagem "próxima" do pascal e criar seu hardware através de uma linguagem de programação.

Vai escrever quais as entradas, quais as saídas, e qual processo que cada sinal vai receber no seu hardware.(vai precisar de um software que faça a tradução do seu código para a FPGA, e um outro para realizar as simulações)

Fazer isso não é nada trivial e exige um certo conhecimento(eu por exemplo aprendi isso no meu sétimo período de faculdade de engenharia elétrica)

A grande vantagem da FPGA é que você pode criar todo seu hardware no seu computador, simular ele antes de colocar na placa. Allém disso com as instruções do hardware pronta, você também pode "mandar fazer" um chip com aquelas informações que você quer.

Uma coisa bem básica que eu fiz como projeto de uma disciplina da faculdade foi o jogo Pong(aquele da bolinha de tênis quadrada com a raquete) numa FPGA programada via VHDL. Usando os botões e entrada de vídeo da própria Spartan3(placa da FPGA). Me lembro que demorei umas duas semanas pra fazer um dos jogos mais simples. Agora imagina alguma coisa mais complexa, sak?

Acho que o ideal é você conseguir criar uma placa-mãe que faça a interface que você quer:

Jogo(I/O 0) - VGA - CPU - Memória- Controle(I/O 1) - Vídeo(I/O 2)

Isso bem básico.

A partir do momento que você tem as especificações de comunicação dessas interfaces no seu game, você vai ter montado ele, e aí vai precisar criar os jogos baseados nessa tecnologia que você desenvolveu. Mas pra isso você vai precisar de conhecimento de Microprocessadores.

Espero ter ajudado. Quem sabe num futuro você não tá trabalhando na Tec Toy e aparece na criação do Zeebo2, né? Aí lembra da galera do fórum.

Postado

liguagem C é um bom começo, permite programar para quase todas as familias de microporcessadores atuais e caso necessario, permite programar trechos criticos do codigo diretamente em em assembly... o primeiro passo para projetar um console é escolher uma CPU, em seguida determinar as necessidades de memoria, e circuitos de apoio, para facilitar geralmente os projetistas trabalham com niveis de abstração para reduzir a complexidade inicial e permitir que as ideias surjam..

O nivel de abstração mais alto é o nivel de diagramas de blocos, onde cpu, ram e adaptador de video são tratados como blocos, normalmente é onde se definem os requisitos a serem cumpridos e os recursos que serão necessario, assim com são estipulados os custos do projeto e resolvido problemas de interface; determinação de circuitos de apoio que serão necessarios...

em seguida temos o nivel da porta logica, onde são verificados e corrigidos problemas

e projetados os circuitos das interfaces, e dependendo do circuito montado o diagrama do circuito...

por ultimo temos o nivel dos transistores onde engenheiros eletricos tentarão fazer "A Bagaça" funcionar, ao invés de simplesmente pegar fogo :lol:

Postado

eheh, se eu virar um mito no zeebo2 nao esquecerei de ninguem pode deixar, mais ai a linguagem C eu possuo um conhecimento de um nivel bom, so que quais programas eu usaria para simular o hardware no Pc alguem tem uma dica ai??

Postado
Olá a todos! sou novo no forum e no ramo...

Montei a pouco tempo um laboratório pessoal com o objetivo de criar meu próprio video game. porém entendo muito pouco de eletronica, e menos ainda de video game-_-...

Até então eu só trabalhava com a area externa hehe. Eu programo jogos a 3 anos e sempre quis ter minha própria plataforma.

Sei que muitos devem estar pensando que é babaquise já que para fazer um video game leva chão e muitos profissionais... sem contar no $$$$.:(

Mais devo esclarecer de que não pretendo fazer um play3 da noite pro dia... e nem de um milenio para o outro hehe.:lol:

Quero fazer um video game simples, que rode jogos 2D ainda mais simples como o pong etc... Sei que até eles é difícil de se fazer, mais estou decidido, não importa o tempo.B)

Bom para quem estiver disposto a me ajudar... eu preciso esclarecer uma coisa, quais as diferencias entre:

ARCADE - CONSOLE - VIDEO GAME

Eu já aprendi que um video game é semelhante a um computador:

Tem seu Sistema operacional, RAM dispositivos de entrada e saida e tal, mais é destinado apenas a graficos interativos e audio. O que o torna bem mais simples do que um PC.

Alguem sabe se esses componentes trabalham como os do PC?:confused:

Eu consegui na net uma imagem de um mega drive aberto, alguem sabe quais os componentes principais para que eu possa estuda-los?

1.jpg

Agradeço a quem responder e quiser discutir o assunto. Ainda que ai não tenha nenhum louco como eu querendo fazer um video game, sei que deve ter muitos tecnicos que irão querer entender melhor sobre o interior dos VG o que é um dos objetivos do tópico.

Aguardo respostas!

Até Breve...

bom cara andei olhando o que você escreveu aqui e eu to de saco cheio tambem de querer uma coisa e nao conseguir e ser você quiser agente tenta criar um video game juntos você faz o seu modelo e em quanto eu tento monta um mais realista como um xbox e sim a maiorias das coisas é do computador

Postado
eheh, se eu virar um mito no zeebo2 nao esquecerei de ninguem pode deixar, mais ai a linguagem C eu possuo um conhecimento de um nivel bom, so que quais programas eu usaria para simular o hardware no Pc alguem tem uma dica ai??

Pode simular usando o qemu, isso se a plataforma for ARM.

Se você quiser montar algo simples, só para entender como funciona um sistema, eu sugiro este aqui:

http://www.rickard.gunee.com/projects/video/pic/tetris.php

É um tetris rodando em microcontrolador simples, mas já é possível ter uma ideia de como é díficil gerar o sinal de video, ler os controles, tudo isso sem ultrapassar o tempo. ;)

Postado

desculpa a intromissão

mas porque você nao se dedica a desenvolver jogos em vez de console? vai investir muito melhor seu tempo e dinheiro, e pode ficar rico se desnvolver alguma coisa tipo o angry birds, console nao há mercado nenhum, é dominado por gigantes internacionais e fabriquetas chinesas para as linhas mais baratas.

hoje o futuro é conteudo e não meio

Postado

pois é , é porque vou trabalhar nelas futuramente, gosto de fazer jogos , mais gosto muito mais de hardware ^^) , baixarei esse qemu ai e tentarei, hhehee.

  • 3 semanas depois...
Postado

tente fazer assim:

monte um pc sem sistema pode ser um pc antigo

crie um emulador de nintendinho em dos

crie um disco de boot dele

insira um diskete com o jogo

e está pronto

ai é so aperfeiçoar

  • 4 semanas depois...
  • 2 semanas depois...
Postado

heim gostaria de saber one encontro desse FPGA ai que esta nos video, ele aprenta ter tipo entradas de audio, e microfone, as cores verdes, vermelhas, e azul...ou onde encontro ou qual o modelo. desde ja agradeço.

  • 3 semanas depois...
Postado

Cara... é duro fazer um console. Primeiro, você precisa fazer uma BIOS como é num pc. Ela vai dar os comandos que o console precisa para:

-Ligar o console e procurar um "boot por cd" (no caso iniciar o jogo)

-Exibir telas tanto do jogo quanto caso se o jogo não funcione

-Salvar o jogo (não é comando só do sistema do jogo, a BIOS do console precisa assumir caso o jogo trave)

Depois, você precisa ver os processadores se reconhecem a bios.

Depois desenvolver versões de teste.

E mais um monte de procedimentos.

Aconselho a seguir mas, antes de tudo, construa um emulador do que você quer.

  • 2 meses depois...
Postado

Para isso é preciso ter conhecimento de engenharia eletronica ou pelo menos assembler, uma plataforma com um processador arm acho que vira, mas é algo muito trabalhoso.

Postado

Como um atrevimento vou perguntar...

Para construir um hardware no nivel de uma AMD 6990 + 1 GF GTX 590 tem como ou teria que mandar construir uma placa?

Daria certo reunir pessoas para programarem a BIOS e outras para montar o melhor hardware?

Tem como fazer a BIOS o OS e o hardware responderem a uma biblioteca DX11 ou openGL?(tem direitos autorais nisso?)

Tipo o software se executa com o OS ou com o jogo?

Estou pensando mas tipo tem muita comunicação hoje em dia e porque ainda não surgiu um videogame feito por todos de toda parte do planeta?Nao precisa ser VG pode ser qualquer coisa com todo mundo junto igual a enterprise naquele jogo que esqueci o nome.

Postado
Como um atrevimento vou perguntar...

Para construir um hardware no nivel de uma AMD 6990 + 1 GF GTX 590 tem como ou teria que mandar construir uma placa?

Daria certo reunir pessoas para programarem a BIOS e outras para montar o melhor hardware?

Tem como fazer a BIOS o OS e o hardware responderem a uma biblioteca DX11 ou openGL?(tem direitos autorais nisso?)

Tipo o software se executa com o OS ou com o jogo?

Estou pensando mas tipo tem muita comunicação hoje em dia e porque ainda não surgiu um videogame feito por todos de toda parte do planeta?Nao precisa ser VG pode ser qualquer coisa com todo mundo junto igual a enterprise naquele jogo que esqueci o nome.

Sinceramente, nem em seu sonho mais louco :D

Um video game sempre será mais eficiente que um PC, pois ele não tem que manter retrocompatibilidade com uma plataforma de 20 anos atrás.

Então você pode criar canais mais rápidos de comunicação entre a GPU/CPU, pode até criar um core específico para jogos, já que ninguém vai querer rodar office nele, ou compactar arquivos por exemplo. Toda a estrutura é voltada para jogos.

Partir da estrutura de um PC, para montar um video game, seria perder toda esta otimização, que é possível para jogos. A sim, nem preciso dizer que isto é trabalho, para uma equipe de engenheiros altamente capacitados e não para meros mortais.

É mais fácil criar seus jogos em um Engine, pronto para PC e pronto :P

Postado
Sinceramente, nem em seu sonho mais louco :D

Um video game sempre será mais eficiente que um PC, pois ele não tem que manter retrocompatibilidade com uma plataforma de 20 anos atrás.

Então você pode criar canais mais rápidos de comunicação entre a GPU/CPU, pode até criar um core específico para jogos, já que ninguém vai querer rodar office nele, ou compactar arquivos por exemplo. Toda a estrutura é voltada para jogos.

Partir da estrutura de um PC, para montar um video game, seria perder toda esta otimização, que é possível para jogos. A sim, nem preciso dizer que isto é trabalho, para uma equipe de engenheiros altamente capacitados e não para meros mortais.

É mais fácil criar seus jogos em um Engine, pronto para PC e pronto :P

Especifico para jogos= Isso é obvio.(mas quando não tem como fazer uma placa especifica para VG surgir de arvores.)

OpenGL e DX11= Li que openGL e DirectX pioram muito o desempenho por fazer a adaptação para vários hardwares e programas.

Meros mortais= Não é pra tanto.

Engine=Concordo.

HUM tudo ao seu tempo...

Postado

concordo que não é para meros mortais.

Muito mais fácil programas jogos para as plataformas já existentes, isso por si só, já é difícil.

A menos que seja unica e exclusivamente para fins academicos, para praticar, exercitar o aprendizado, nesse ponto eu concordo.

Existem projetos independentes, como por exemplo uma versão amadora de golden axe, o golden axe myth, o M.A.M.E.

Produzir um video game seria coisa para doutores em informática, diversas áreas da informatica, como de fato é assim que é feito, varios milhoes em pesquisa e pessoal extremamente capacitado.

Estou no 3º semestre de sistemas de informação, para fins academicos até me interesso pela empreitada, mas comercialmente é inviavel. O negocio é fazer, aprender muito no processo, achar bonitinho , ficar orgulhoso e depois esquecer que existe.

Postado
Especifico para jogos= Isso é obvio.(mas quando não tem como fazer uma placa especifica para VG surgir de arvores.)

OpenGL e DX11= Li que openGL e DirectX pioram muito o desempenho por fazer a adaptação para vários hardwares e programas.

Meros mortais= Não é pra tanto.

Engine=Concordo.

HUM tudo ao seu tempo...

OpenGL e DX11, rodam sobre o sistema operacional, já que este não foi criado com a finalidade de rodar jogos. É a vantagem que um video game tem, ele só roda o jogo direto, sem lidar com outras tarefas do sistema operacional.

Sim, "meros mortais". Se você não tem formação em Engenheria Elétrica/Computação, vai tudo ficar no sonho mesmo, é bem mais complexo que você imagina. Ainda mais na frequência que tudo teria que rodar, para atender as exigências do consumidor atual. :P

Na teoria, qualquer engenheiro poderia criar uma plataforma, alguns até criam CPUs como projeto de fim de curso, usando fpgas. Mas a realidade é outra, um projeto para decolar, precisa ter apoio de softhouses, ninguém comprar um Vídeo-Game sem que haja bons jogos, ou pelo menos títulos atraentes. É o mesmo que criar um instrumento musical novo e esperar que músicos de renome comecem a usar :D

Se não me engano o Zeebo, é uma parceria de várias empresas, tem até a TecToy aqui no Brasil.

Só para finalizar, criar hardware não dá lucro, como muitos imaginam, principalmente quando se fala em vídeo-games. É muito díficil criar uma plataforma que o mercado aceite e ainda mais convencer softhouses a produzir jogos para ela. O lucro está nos jogos, no software, sem muito investimento, é possível criar jogos em casa e ter um belo retorno.

Você quer criar jogos? Comece com Java ou até mesmo, com programação em Android, acredito que está plataforma vai dominar o mercado de Tablets/Celulares bem mais rápido que muitos otimistas acham :D

Postado

Eu não disse que queria lucrar, se no caso é só criar uma plataforma especifica para jogos só para ver ate quando nos MEROS MORTAIS não precisamos empresas gigantes igual apple, microsoft, nintendo e sony.(sendo que ter a comodidade de comprar um console e colocar jogos é mais fácil do que criar um e ate saber como os jogos funcionam.)

OpenGL e DX11, rodam sobre o sistema operacional, já que este não foi criado com a finalidade de rodar jogos. É a vantagem que um vídeo game tem, ele só roda o jogo direto, sem lidar com outras tarefas do sistema operacional.

é so isso? e aquele negocio de latência, caminhos o tal de direct iron(acho que errei me corrija)

Postado
Eu não disse que queria lucrar, se no caso é só criar uma plataforma especifica para jogos só para ver ate quando nos MEROS MORTAIS não precisamos empresas gigantes igual apple, microsoft, Nintendo e sony.(sendo que ter a comodidade de comprar um console e colocar jogos é mais fácil do que criar um e ate saber como os jogos funcionam.)

OpenGL e DX11, rodam sobre o sistema operacional, já que este não foi criado com a finalidade de rodar jogos. É a vantagem que um vídeo game tem, ele só roda o jogo direto, sem lidar com outras tarefas do sistema operacional.

é so isso? e aquele negocio de latência, caminhos o tal de direct iron(acho que errei me corrija)

Nós poderiamos digitar centenas de posts que ainda assim seria difícil pra você entender, não que eu esteja dizendo que você não consiga, mas até que tá cursando na área pena.

Se você gostaria de se aprofundar sugiro o livro do gabriel torres, hardware avancado e Organização estruturada de computadores -tanembaum.

  • 2 meses depois...
Postado

Você poderia quebrar quase que todo o serviço de criar um console de uma forma:Você sugeriu que o console deveria ser simples e claro com jogos da mesma qualidade,você conhece o dynavision,polystation e outros?Então...Eles são clones que usam o chip do famicom como base.Você deveria ingressar ai,obviamente você quer que tenha jogos próprios,Então acho que você deveria programar um cartucho,com uma determinada quantias de jogos mas é claro não passando do limite do hardware.Jogos em 8 bits.Ai você pluga essa cartucho na entrada(no caso você está usando um famiclone).E depois faz um casemod que empeça que retirem o cartucho,ou melhor você deveria programar tudo isso na memória do famiclone.Bom a linha de raciocínio é essa que além de ficar algo barato pode ser um sucesso se lançá-lo comercialmente.

Postado
Você poderia quebrar quase que todo o serviço de criar um console de uma forma:Você sugeriu que o console deveria ser simples e claro com jogos da mesma qualidade,você conhece o dynavision,polystation e outros?Então...Eles são clones que usam o chip do famicom como base.Você deveria ingressar ai,obviamente você quer que tenha jogos próprios,Então acho que você deveria programar um cartucho,com uma determinada quantias de jogos mas é claro não passando do limite do hardware.Jogos em 8 bits.Ai você pluga essa cartucho na entrada(no caso você está usando um famiclone).E depois faz um casemod que empeça que retirem o cartucho,ou melhor você deveria programar tudo isso na memória do famiclone.Bom a linha de raciocínio é essa que além de ficar algo barato pode ser um sucesso se lançá-lo comercialmente.

Sucesso não vai ser, vide o que foi (ou não foi) o Zeebo. Muito difícil entrar dentro dessa linha, mas se for um hobby então você pode fazer.

Se eu não me engano tinha um grupo que fez um computador portátil que podia emular vários consoles antigos e isso acho que é o mais próximo que

se pode chegar sem ser uma grande empresa. Infelizmente eu esqueci o nome ou os links...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...