Dúvidas sobre criar um jogo

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Windows Dúvidas sobre criar um jogo

Mensagem por Lunion4saken em Seg 22 Set 2014, 12:57

Olá é a primeira vez a criar um jogo, eu estive a usar o bacth script até agora, e tenho algumas dúvidas em relação ao programa em si.

Primeiro qual a linguagem que usa e alguem pode me dar tutoriais sobre ela

Todos os jogos que eu vi usando o programa usa so alguns pixeis, qual é o maximo de pixeis que posso usar eu estou a tentar fazer um jogo em que fazes escolhas e no ecra so ira aparecer um fundo com algumas pessoas estaticas.

Depois eu queria saber se existe algumas maneira de fazer o jogo contar o tempo automaticamente tipo sem eu presisar de fazer uma escolha para ele mudar.

Tambem quero um sistema de dinheiro eu pensei em algo assim.

Código:
Dinheiro(variavel)=Dinheiro+x

sendo o x o valor do dinheiro se estiver a vender alguma coisa e se for a compra em vez de + era -.

O sistema de horas tambem podereria ser deste genero.
(vou usar um pouco de batch script para exempleficar não sei se da com a linguagem do gamemaker)
Código:
Horas=Horas+1
if Horas = 24 goto passagem_de_tempo
:passagem_de_tempo
Dia=Dia+1
if dia_semana= Domingo dia_semana=Segunda
if dia_semana= Sábado dia_semana=Domingo
if dia_semana= Sexta dia_semana=Sábado
if dia_semana= Quinta dia_semana=Sexta
if dia_semana= Quarta dia_semana=Quinta
if dia_semana= Terça dia_semana=Quarta
if dia_semana= Segunda dia_semana=Terça

Tambem irei fazer um sistema de de comercio.

Código:
if dia_semana=Segunda goto segunda
:segunda
(qualquer coisa que não me lembro)irandom ]0,10]
if irandom=]0,5] Carvão=Carvão+0
if irandom= ]5,7] Carvão=Carvão+1
if irandom= ]7,9]Carvão=Carvão+2
if irandom= 10 Carvão=Carvão+10
Depois tambem eu podia adicionar Carvão
Código:
if mais_carvão= 1 Carvão=Carvão+1
if mais_carvão= 1 Carvão_guardado=Carvão_guardado-1

So que eles so podem ter uma certa quantida de carvão ele não podem ter por exemplo mais de 10 nem menos de 0.

Depois um dia ia acontecer

Código:
Ferro=Ferro+(Carvão*0.25)+(Minerio_de_ferro*0.5)
Eu tambem quero ter o carvão e o minerio de ferro se arredondado antes de fazer a soma.
O mineiro de ferro seguira o mesmo exemplo do carvão e o ferro será o contrario, cada dia ira diminuir.

Por agora era é o que tenho duvidas.
Por favor respondam a minhas perguntas e digam se os codes estão bem.

Vou ver se consigo fazer um jogo.

Lunion4saken

Número de Mensagens : 19
Data de inscrição : 22/09/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Windows bom pessoal estou com muito Problema!

Mensagem por Dukinhas em Seg 22 Set 2014, 16:49

Bom. Esse é meu Primeiro jogo! Eu fiz um jogo Simples (Porem complicado) vejamos
Eu quero um jogo que Sirva com um ensino bem educativo! É assim: eu tava pensando em fazer um jogo em que envolvesse Um cronometro e uma barrinha avisando o espaço percorrido pelo player! Eu já fiz o Cronometro mais falta fazer O Calculo percorrido pelo player.. Tipo a cada passo que ele for andando vai aumentando os metros percorrido intendem? Aii quem puder me ajuda ficareiii Muito Agradecido! Obg

Dukinhas

Número de Mensagens : 21
Data de inscrição : 19/09/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Windows Re: Dúvidas sobre criar um jogo

Mensagem por saim em Seg 22 Set 2014, 16:52

Lunion4saken escreveu:Primeiro qual a linguagem que usa e alguem pode me dar tutoriais sobre ela
A linguagem é uma desenvolvida especialmente para o programa, chamada "GML". Há dúzias de tutoriais pelo fórum e no próprio programa (não sei exatamente o caminho, mas logo na iniciação você pode abrir uma aba que te direciona a exemplos práticos.
Mas você não precisa exatamente de um tutorial, mas de se habituar com as variáveis e funções built-in. Você vai ver que GML aceita quase todas as formas de expressão, então é muito difícil cometer algum erro de expressão.
Lunion4saken escreveu:qual é o maximo de pixeis que posso usar eu estou a tentar fazer um jogo em que fazes escolhas e no ecra so ira aparecer um fundo com algumas pessoas estaticas.
Embora exista um limite, ele não é documentado. Tente usar as maiores imagens que seu processador conseguir suportar. Quando a imagem aparecer toda quebrada, você alcançou o limite.

Lunion4saken escreveu:Depois eu queria saber se existe algumas maneira de fazer o jogo contar o tempo automaticamente tipo sem eu presisar de fazer uma escolha para ele mudar.
Alarms. São eventos especificamente desenvolvidos pra esse tipo de coisa. Veja a documentação do manual a respeito de alarms, não vai gastar 2 minutos do seu tempo. Você pode definir alarms pra qualquer quantidade de tempo.

Lunion4saken escreveu:Tambem quero um sistema de dinheiro eu pensei em algo assim.

Código:
Dinheiro(variavel)=Dinheiro+x

sendo o x o valor do dinheiro se estiver a vender alguma coisa e se for a compra em vez de + era -.
Funciona, sem problemas. Desde que você omita o parêntese. Não sei se colocou ele só pra esclarecer ou se isso é usado em batch, então deixo claro que em GML você NÃO deve usar os parênteses do seu código.
Cabe a primeira dica de GML: você poderia escrever o mesmo código assim:
Código:
Dinheiro += x;
Ah, e em GML não precisa declarar a variável, já pode ir direto dando um valor pra ela. O programa já entende que ela está sendo declarada na primeira atribuição de valor. O que não pode é usar ela em operações antes de dar algum valor.



Lunion4saken escreveu:O sistema de horas tambem podereria ser deste genero.
(vou usar um pouco de batch script para exempleficar não sei se da com a linguagem do gamemaker)
Código:
Horas=Horas+1
if Horas = 24 goto passagem_de_tempo
:passagem_de_tempo
Dia=Dia+1
if dia_semana= Domingo dia_semana=Segunda
if dia_semana= Sábado dia_semana=Domingo
if dia_semana= Sexta dia_semana=Sábado
if dia_semana= Quinta dia_semana=Sexta
if dia_semana= Quarta dia_semana=Quinta
if dia_semana= Terça dia_semana=Quarta
if dia_semana= Segunda dia_semana=Terça
Ok, temos uma diferença aqui. Nunca vi usarem "goto" em GML (não sei se é possível usar, só nunca vi). O que eu faria seria gravar o código de "passagem_de_tempo" num script e mandar executar o script. Pra mandar executar um script, basta digitar o nome dele com parênteses no final, como se fosse um comando nativo.
Assim:
Chamando o script:
Código:
Horas=Horas+1
if Horas = 24
passagem_de_tempo()
e, dentro do script "passagem_de_tempo", o mesmo código que você mostrou acima.

Lunion4saken escreveu:Tambem irei fazer um sistema de de comercio.

Código:
if dia_semana=Segunda goto segunda
:segunda
(qualquer coisa que não me lembro)irandom ]0,10]
if irandom=]0,5] Carvão=Carvão+0
if irandom= ]5,7] Carvão=Carvão+1
if irandom= ]7,9]Carvão=Carvão+2
if irandom= 10 Carvão=Carvão+10
Depois tambem eu podia adicionar Carvão
Código:
if mais_carvão= 1 Carvão=Carvão+1
if mais_carvão= 1 Carvão_guardado=Carvão_guardado-1

So que eles so podem ter uma certa quantida de carvão ele não podem ter por exemplo mais de 10 nem menos de 0.

Depois um dia ia acontecer

Código:
Ferro=Ferro+(Carvão*0.25)+(Minerio_de_ferro*0.5)
Eu tambem quero ter o carvão e o minerio de ferro se arredondado antes de fazer a soma.
O mineiro de ferro seguira o mesmo exemplo do carvão e o ferro será o contrario, cada dia ira diminuir.[/code]
Aí o problema já é de lógica simples, não de linguagem. Isso se resolve com um if.
Código:
if carvao < 0
carvao = 0
etc, etc
Esse código pode ser melhor elaborado pra não permitir pegar mais_carvao quando carvao for igual a 10, por exemplo, mas é a mesma lógica: um "if" e você define se a equação será executada ou não.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Windows Re: Dúvidas sobre criar um jogo

Mensagem por DieBoy em Seg 22 Set 2014, 17:09

Caramba são muitas perguntas. O.O

Vamos 1 de cada vez:

Primeiro qual a linguagem que usa e alguem pode me dar tutoriais sobre ela.

A linguagem do Game Maker, é uma linguagem própria do programa(ou seja, você só vai encontra-la no mesmo). E o nome dela é GML(Game Maker Language)
Aqui mesmo no fórum há vários tutoriais sobre a mesma. Confira alguns aqui: http://gmbr.forumeiros.com/f36-tutoriais

Todos os jogos que eu vi usando o programa usa so alguns pixeis, qual é o maximo de pixeis que posso usar.

Não entendi muito bem, mas se está falando de Pixel Art(os sprites). No caso da versão paga, o uso é ilimitado. Mas na versão gratuita a o limite de 15 ou 20 sprites.
E caso esteja falando de outra coisa, fora os sprites, objetos, compilações, sons, backgrounds, etc. Não há outras limitações.
E caso não queira limitações e não possa pagar pelo Software. Recomendo que use o GMS: Standard, agora ele é gratuito e não tem limitações
http://gmbr.forumeiros.com/t30095-gm-s-standard-e-gratuito-a-partir-de-hoje

Depois eu queria saber se existe algumas maneira de fazer o jogo contar o tempo automaticamente.

Caso tenha dúvidas sobre códigos, você pode fazer um tópico pedindo ajuda. Mas ai vai um pequeno exemplo para você entender:

Código:

//Evento create------
tempo = 0; //Inicia a variável

//Evento Step--------
tempo += 1; //Aumenta o valor

//Evento Draw-------
draw_text(50, 50, string(tempo/room_speed) );
// tempo/room_speed seria os segundos

Tambem quero um sistema de dinheiro eu pensei em algo assim.

No GML, para atribuir ou remover valores, você pode usar += ou -=
Veja o exemplo:

Código:

Dinheiro += 250; //Soma 250 ao dinheiro
// ou
Dinheiro -= 250; //Subtrai 250 ao dinheiro

O sistema de horas tambem podereria ser deste genero.
(vou usar um pouco de batch script para exempleficar não sei se da com a linguagem do gamemaker)

Vou transformar esse código para GML, assim você tem uma noção de como funciona:

Código:

Horas += 1;
if (Horas == 24) {
    Dia += 1;
    /* Em GML, strings/textos devem ficar dentro de ""
    * Apenas números devem ficar fora de ""
    */
    if (dia_semana == "Domingo"){ dia_semana = "Segunda"; }
    // O if funciona +/- igual no GML.
    // Mas { } deve ser usado ao invés de ( )
    if (dia_semana == "Sábado"){ dia_semana = "Domingo"; }
    if (dia_semana == "Sexta"){ dia_semana = "Sábado"; }
    if (dia_semana == "Quinta"){ dia_semana = "Sexta"; }
    if (dia_semana == "Quarta"){ dia_semana = "Quinta"; }
    if (dia_semana == "Terça"){ dia_semana = "Quarta"; }
    if (dia_semana = "Segunda"){ dia_semana = "Terça"; }
    // Em GML, você pode usar = ou == para comparação
    // Portanto o método acima também é funcional
    // <-- Seria equivalente ao comando REM ou :: no Batch.
}

Tambem irei fazer um sistema de de comercio.

Outra vez irei transformar o código em GML, para que você entenda melhor:

Código:

if (dia_semana == "Segunda"){
    teste = irandom(3); //Acabei de criar essa variável...
    //Não, não precisa de set..E teste é um valor aleatório de 0 a 3
    // E sim, essas barrinhas podem ser usadas após um comando
    if (teste == 1){
        Carvao += 1;
        //Assento não é aceitado para nome de variáveis
    }
    if (teste == 2){
        Carvao += 2;
    }
    if (teste == 3){
        Carvao += 10;
    }
    //Se o valor da variável teste for 0. Não vai aumentar o valor de Carvao
    //Condição if extra abaixo
    if (Carvao > 10){ Carvao = 10; }
    if (Carvao < 0){ Carvao = 0; }
    //Ele não deixa a pessoa ter mais de 10 carvões. Nem menos de 0
}

Eu tambem quero ter o carvão e o minerio de ferro se arredondado antes de fazer a soma.

Para arredondar valores, você pode usar a função floor().

Código:

Ferro += floor(Carvao*0.25) + floor(Minerio_de_ferro*0.5);
//Outra vez, se acentos.

Caso não saiba oque é uma função. É como se fosse um executável que faz ações quando você o "chama". E você pode adicionar argumentos as funções(Igual aos executáveis...Ou arquivos .bat)

Nas funções, você deve por os argumentos entre os ( ), e separar cada argumento por vírgula.

Se tem mais dúvidas é só falar.

DieBoy

Número de Mensagens : 91
Data de inscrição : 22/08/2014
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Windows Obrigado pelas Dicas

Mensagem por Lunion4saken em Ter 23 Set 2014, 13:46

Obrigados pelas dicas, que me deram.

O meu jogo vai ser feito por escolhas tipo quero ir para a próxima cidade ou ir visitar o ferreiro da cidade que estou.
Queria fazer um background para o maior possível.

Tive a tentar fazer alguma coisa com o a versão free não fiz la grande coisa foi so um spirt e um background so para experimentar e fiz aquilo de criar o jogo e apareceu um installer com o icon do gamemaker dá para mudar isso? e tambem o icon do proprio jogo ou so é para versões pagas?

Lunion4saken

Número de Mensagens : 19
Data de inscrição : 22/09/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Windows Re: Dúvidas sobre criar um jogo

Mensagem por Conteúdo patrocinado Hoje à(s) 08:49


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum