• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

2eve

[xadrez] Como fazer

26 mensagens neste tópico

Oi!!!

Gostaria de desenvolver um jogo 3d que funcionasse como o xadrez, mas em vez das peças habituais fossem soldados, etc...;

No entanto não tenho a minima ideia como isso se faz, a única coisa que percebo é um pouco de C!!!!!

Penso k vou ter de usar um programa para fazer a modelagem, mas e o resto??????????????

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agora é aprenderes bem uma linguagem de programação. Podes aprofundar C ou C++ por exemplo. Depois tens que aprender a usar uma biblioteca gráfica que suporte 3D para usares. Open GL ou DirectX por exemplo.

Apartir daí podes começar a programar o teu jogo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A ser um jogo provavelmente terá alguma componente de computação gráfica (CG) sendo para um único jogador, então isso vai ter inteligência artificial (IA).

Antes de fazeres o que quer que seja, é necessário teres algum conhecimento de IA, e de CG.

Aconselho-te a dares uma olhadela ao Prolog, que pode ser o teu motor de IA e que liga facilmente com C/C++ e creio que com Java e VB. Quanto a CG, não faltam por ai motores e livros que podem dar um bom kick off nessa área.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

será que posso começar primeiro pela modelagem 3d???????

Humm... Não acoselho isso.

O primeiro passo é escrever as especificações/requisitos, ou seja, o que o jogo deve e não deve fazer.

Depois defines o caminho, ou seja, como o jogo deve funcionar, funcionalmente, e como deve ser implementado.

Quando tiveres o modelo a funcionar, então ai sim, podes começar a preocupar-te com a beleza da coisa. A não ser que haja mais pessoas envolvidas e então podes paralelizar algumas tarefas.

Para saberes mais sobre o processo de desenvolvimento de um produto, lê este artigo: Gestão, Ferramentas, Sistemas e Ambientes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

será que me podiam dizer o nome de alguns programas a utilizar na vertente 3d (o 3d stuio max 8) dá????

E já agora no resto o que eu tou a usar é só o blosheed dev c++.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para modelagem 3D tens:

3D Studio Max

Maya

Lightwave 3D

grátis:

Blender (muito bom)

Wings 3D

Milkshape 3D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

só mais uma pergunta nesta ideia que tenho era melhor construir o campode xadrez sozinho e depois o resto (tipo se quiser por árvores à volta) ou construir o campo e os elementos cénicos tudo no mesmo ficheiro???????

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tal como já foi sugerido, o melhor talvez fosse começares pela parte do código, e limitares-te a ter um "P" de peão a passear pelo tabuleiro e depois mais tarde uma textura a sério, do que ir já para esse tipo de problemas.

Disseste no inicio que tens conhecimentos de C, embora poucos.

Talvez o mais fácil para ti seja aprender DarkBasic

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tal como já foi sugerido, o melhor talvez fosse começares pela parte do código, e limitares-te a ter um "P" de peão a passear pelo tabuleiro e depois mais tarde uma textura a sério, do que ir já para esse tipo de problemas.

Disseste no inicio que tens conhecimentos de C, embora poucos.

Talvez o mais fácil para ti seja aprender DarkBasic

Desconhecia e achei isto engraçado.

Até que ponto isto é mesmo bom, ou seja, se alguém quizer fazer um jogo "a sério" para comercializar, usar isto é viável ou isto serve apenas para se fazer umas brincadeiras?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desconhecia e achei isto engraçado.

Até que ponto isto é mesmo bom, ou seja, se alguém quizer fazer um jogo "a sério" para comercializar, usar isto é viável ou isto serve apenas para se fazer umas brincadeiras?

Também estou interessado nessa resposta!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não faço ideia, visto nunca ter usado.

Simplesmente ouvi falar há uns tempos, passeei pelos foruns deles, fiz alguns downloads dos teoricamente "melhores jogos" e achei que, para quem isto não passa de um hobie, pode ser uma ferramenta útil e um bom passatempo.

Para comercializar.. já se sabe que os gráficos não vão ser soberbos, não vão brilhar pela inteligência artificial dos adversários (se existirem) nem provavelmente pela originalidade, visto estarem limitados..

FPS Creator

The 3D Game Maker

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Da pouca experiencia que tenho de DarkBasic posso dizer que é uma linguagem mt boa para fazer

grandes cenários e quem sabe uns screensavers jeitosos

deixa a desejar quando entramos para a parte de fazer um jogo propriamente dito

isto porque a não ser que queiras fazer um fps tipo dukenukem ou um jogo de aventuras (em que andas a passear o boneco á procura de pistas)

torna-se muito dificil

DarkBasic como nome indica é um Basic .. mt semelhante ao Qbasic

a diferença é que tem todas as bibliotecas de gráficos 2d e 3d já instaladas e funções mt boas para as implementar

uma grande + valia é poderes fazer grandes efeitos sem mt código

para criar 200 planetas com força gravitica seria necessário um código deste estilo:

`Creates 200 planets with their own mass and velocity.
`Each one effects every other one and can some times orbit each other
`in a frictionless enviorment. As they collide they grow in mass
`(and gravitational pull). The force of inpact DOES NOT effect any
`velocity. Put the mouse near any dot/circle to see its mass!


`---------------------------------------------------
`HOLD THE MOUSE near any of the dots to see its mass

`CLICK THE MOUSE to restart the dots

`It will randomly place dots every time they are all destroyed
`-------------------------------------------------------------

set text font "Arial"
set text size 16

set display mode 1024,768,32

type DotInfo
   Xpos#
   Ypos#
   Xspeed#
   Yspeed#
   Mass#
   Used
endtype

dim Dots(200) as DotInfo

input "Speed? (1) ",Speed#
input "Gravitational constant? (0.2) ",GravConst#

sync on
sync rate 30
set text size 10

do
`make 200 dots all going differnt directions
for DotSlot = 0 to 200
   Dots(DotSlot).Xspeed# = newXvalue(0,DotSlot,Speed#)
   Dots(DotSlot).Yspeed# = newZvalue(0,DotSlot,Speed#)

   Dots(DotSlot).Xpos# = rnd(screen width())
   Dots(DotSlot).Ypos# = rnd(screen height())

   Dots(DotSlot).Mass# = 1

   Dots(DotSlot).Used = 1
next DotSlot

#constant GravConstant = GravConst#

do
for DotSlot = 0 to 200
if Dots(DotSlot).Used = 1
inc DotsExist
   for CircleSlot = 0 to 200
   if Dots(CircleSlot).Used = 1 and CircleSlot <> DotSlot

      `get distance
      Dist# = sqrt((Dots(DotSlot).Xpos#-Dots(CircleSlot).Xpos#)^2 + (Dots(DotSlot).Ypos#-Dots(CircleSlot).Ypos#)^2)

      `if it hits the circle then get rid of it
      if Dist# <= Dots(CircleSlot).Mass#/3 then Dots(DotSlot).Used = 0 : Dots(CircleSlot).Mass# = Dots(CircleSlot).Mass# + Dots(DotSlot).Mass#

      `Get the amount of gravity
      Gravity# = (GravConstant*Dots(DotSlot).Mass#*Dots(CircleSlot).Mass#)/(Dist#^2)
      Gravity# = Gravity#*(Dots(CircleSlot).Mass#/Dots(DotSlot).Mass#)

      `calculate the differnce in speeds (with gravity)
      X# = newXvalue(0,atanfull(Dots(DotSlot).Xpos#-Dots(CircleSlot).Xpos#,Dots(DotSlot).Ypos#-Dots(CircleSlot).Ypos#)+180,Gravity#)
      Y# = newZvalue(0,atanfull(Dots(DotSlot).Xpos#-Dots(CircleSlot).Xpos#,Dots(DotSlot).Ypos#-Dots(CircleSlot).Ypos#)+180,Gravity#)

      Dots(DotSlot).Xspeed# = Dots(DotSlot).Xspeed#+X#
      Dots(DotSlot).Yspeed# = Dots(DotSlot).Yspeed#+Y#
   endif
   next CircleSlot

   `rember old pos and get new pos
   OldXpos# = Dots(DotSlot).Xpos#
   OldYpos# = Dots(DotSlot).Ypos#

   Dots(DotSlot).Xpos# = Dots(DotSlot).Xpos# + Dots(DotSlot).Xspeed#
   Dots(DotSlot).Ypos# = Dots(DotSlot).Ypos# + Dots(DotSlot).Yspeed#

   `make shure the dot still exists
   if Dots(DotSlot).Used = 1
     `draw the dot (and where it was)
     line OldXpos#,OldYpos#,Dots(DotSlot).Xpos#,Dots(DotSlot).Ypos#
     circle Dots(DotSlot).Xpos#,Dots(DotSlot).Ypos#,Dots(DotSlot).Mass#/3

     `if the dot is close to the mouse tell its mass
     Dist# = sqrt((Dots(DotSlot).Xpos#-mouseX())^2 +(Dots(DotSlot).Ypos#-MouseY())^2)
     if Dist# < 25
        line Dots(DotSlot).Xpos#,Dots(DotSlot).Ypos#,Dots(DotSlot).Xpos#-4,Dots(DotSlot).Ypos#-4

        TxtMsg# = int(Dots(DotSlot).Mass#*100)
        text Dots(DotSlot).Xpos#-12,Dots(DotSlot).Ypos#-12,str$(TxtMsg#)
     endif
   endif

   if Dots(DotSlot).Xpos# < 0 or Dots(DotSlot).Xpos# > screen width() or Dots(DotSlot).Ypos# < 0 or Dots(DotSlot).Ypos# > screen height()
      Dots(DotSlot).Used = 0
   endif
endif
next DotSlot

`if all dots have been destroyed then exit (and make new ones)
if DotsExist = 0 then exit
DotsExist = 0

`if the mouse is clicked then restart
if mouseclick() = 1 then exit

sync
cls

loop
loop

pode ser que ainda venha a fazer uns screensavers bonitos km esta aplicação :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para a modelagem 3D aconselho-te o Blender, como já foi referido.

Dependendo do jogo, também podes dar uma vista de olhos no Python & (PyGame e PyOpenGL).

Fica bem! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

essa linguagem é como uma outra qualquer da categoria Basic, tu n trabalhas com aspecto grafico nem nada :P mas sim é mais easy por isso o nome blitzBASIC

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

essa linguagem é como uma outra qualquer da categoria Basic, tu n trabalhas com aspecto grafico nem nada :P mas sim é mais easy por isso o nome blitzBASIC

Exacto, era o que estava a tentar explicar. Essa linguagem já tem metade do trabalho feito, ou seja, não aprendes os aspectos mais básicos de como fazer, e se ele quer progredir depois para jogos mais complicados, então deve apostar no C++.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tipo mas essa linguagem tem mts funcionalidades. foi programada em c e c++ e foi posto os mais aspectos possveis do c e c++ por isso é a melhor :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

claro que da :P e acho muito mais simples :P

quase todos os jogos on-line são feitos a flash, e jogos de xadrez tens a dar cum pau! Agora fácil, tb não é bem assim. Para desenvolver um xadrez soxinho a flash, levas no mínimo 30 dias de trabalho, isto se já tiveres sólidos conhecimentos de AS...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

então aconselhem-me ai uns tutoriais é k eu já tive a ver essa secção mas não encontrei grande coisa!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora