1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. Consulta o Portal de Jogos da ZWAME. Notícias, Artwork, Vídeos, Análises e muito mais.

    Remover anúncio

Ballin' - Jogo programado por mim, em desenvolvimento

Discussão em 'Jogos - Discussão Geral' iniciada por eyeliner, 15 de Julho de 2012. (Respostas: 31; Visualizações: 4177)

  1. eyeliner

    eyeliner Power Member

    Boa tarde,

    Indico um projeto que estou a desenvolver há uns meses, embora esteja em fase conceptual há mais tempo. Vários acontecimentos vieram atrasar o desenvolvimento do jogo, alguma frustração fez-me desistir, mas há uns meses a esta parte, com regularidade tenho trabalhado nele e estou motivado para o levar ao fim. Pois bem, preparem-se para uma experiência visual horripilante (clicai para aumentar as imagens e aumentar o perigo de problemas oculares):

    [​IMG] [​IMG] [​IMG] [​IMG]

    Tudo isto é a versão atual, que passo a explicar em que consiste:
    Jogo onde se controla uma esfera, com recurso a física (Physix)
    Jogo para um jogador apenas (pelo menos, por agora)
    Gravação de tempos de conclusão dos níveis numa base de dados
    Possível jogar com teclado (WASD+Espaço) ou Joystick + Botão A/1 (testado com comando XBOX 360 e um da Game)

    Motor utilizado: DXStudio (gratuito, podeis usá-lo sem limitações)

    Falta:
    Embelezar o jogo e dar mais variedade de níveis, som e música.

    O jogo será obviamente em português na sua totalidade, mas tenho que implementar um sistema multilingue que ainda não decidi em como vai ser. Esta é uma versão preliminar, onde apenas interessa o controlo da esfera e gravação dos dados, nomeadamente, e apenas, o tempo de conclusão dos níveis e que níveis estão completados, logo graficamente o jogo está feio.

    De momento, há apenas 6 níveis disponíveis, mas isso mudará facilmente. Agora quero tornar o controlo da esfera e acesso à base de dados e funções relacionadas no melhor possível, com futura adição de perfis de jogadores ou até tabelas de pontuação on-line, caso dê para isso.

    Build mais recente: aqui.
    Descompactem os dois ficheiros para uma pasta, mantendo os dois ficheiros no mesmo diretório.
    Ao lançar o jogo, vão ver um pedido de permissão de admin, aceitem-no, pois será copiado para a diretoria de sistema uma pasta de nome WorldWeaver que contém o player. Caso já o tenham instalado, não há problema e o jogo começa (logo que não seja 3.3.4 tudo correrá bem, pois essa beta é meio maluca). Ao terminar o jogo com a tecla ESC ou fechando-o, um novo diálogo aparece para apagar a pasta que foi criada, não serão criados registos no sistema.

    Digam coisas se o experimentarem.

    Obrigado.
     
    Última edição: 17 de Julho de 2012
  2. El_Crist

    El_Crist Banido

    Muito bom , continua !
     
  3. Geedunk

    Geedunk Power Member

    Parabéns, é de louvar... :)

    Também ando a desenvolver alguns jogos mas para outras plataformas que não PC e também num outro motor.
    Se quiseres podemos trocar ideias.


    Abraço,


    PS. Depois das férias experimento o jogo, aqui a net é muito limitada e péssima... :)
     
  4. rena

    rena What is folding?

    Continua e vai postando updates.
    Controlar a esfera não é fácil nem muito intuitivo. É um aspecto importante como já referiste.
    Em relação ao resto...
    Como já disseste, embelezar o ambiente...
    Uma ideia...que tal a possibilidade de ganhar mais esferas consoante os scores (por exemplo)? E essas esferas serem diferentes a nível estético a nível das capacidades (saltar mais alto, melhor aderência, mais rápida etc).
    Um bom soundtrack é sempre um ponto positivo.

    Pode ser que daqui a uns tempos tenhamos a possibilidade de comprar o Ballin' num Indie Bundle nas Summer Sales da Steam ;)
     
  5. chicken

    chicken Power Member

    Na minha opinião:


    -o salto está muito lento, a altura está boa mas o salto em si demora muito. Também não parece que a bola muda de velocidade durante o salto, geralmente o salto começa com mais velocidade e vai perdendo a mesma até chegar a 0 no seu ponto mais alto, mas isso pode ser uma imposição do motor e nesta parte estou só a ser picuinhas lol




    -é preciso controlar a bola durante o salto, em quase todos os jogos de plataformas se fores a ver dá para controlar o salto, ainda por cima com este tipo de perspectiva, esse controlo durante o salto não precisa de ter uma velocidade igual ao controlo no chão, podes meter metade disso ou até menos que assim dás a hipótese ao jogador de fazer um "fine tunning" do seu salto e sempre mantém alguma dificuldade. O jogador tem sempre de controlar a bola, se achas que ele controlando a bola durante o salto torna o jogo mais fácil faz níveis mais complicados




    -quando saltas e voltas para o chão a bola faz sempre a animação de "bounce", durante essa animação é impossível saltar outra vez, e tens níveis onde tens várias plataformas de um quadrado seguidas, isso diz ao jogador que essa zona é mais rápida e que ele tem de estar sempre a saltar, e não saltar, ficar na plataforma, ganhar balanço e saltar novamente, com esta mecânica essas plataformas se tiverem todas 2 quadrados em vez de 1 já te "compra" mais tempo para o jogador aterrar e saltar para a próxima e ele assim não nota




    -a bola tem de ser mais "pesada", isto é, dando o exemplo a um eixo, quando andas para a esquerda e carregas para a direita, ela pára muito depressa, tens de decrementar menos a velocidade e a animação da bola também está muito rápida, a bola ainda está a andar para a esquerda e a bola já está a rodar para a direita, do modo que está parece que a bola está a andar sempre sobre gelo.
    Se calhar se tentares mudar a animação para que ela acompanhe a desaceleração da bola nem seja preciso mudares esses valores da desaceleração, esta é uma situação de ir lá por tentativa e erro e ver como fica melhor
     
    Última edição: 16 de Julho de 2012
  6. eyeliner

    eyeliner Power Member

    Claro!
    Hm... Por acaso, acho o controlo do mais simples que existe, nem sei muito bem o que lhe possa fazer mais, mas explicarei então o que se passa "por detrás das cenas".

    Ora bem, o jogo usa física (mais exatamente, binário) para o controlo da esfera, o movimento da esfera é considerado através dos valores de fricção da esfera e da superfície onde se encontra. Não "empurram" a esfera, mas sim, rodam-na e assim ela se move, por isso é que por certo não gostam muito do movimento da gaja. :)

    Não é um formato de movimento muito usual, é certo, e por isso o usei. Por isso mesmo é que no salto, não a controlam, pois no ar não há fricção e ao rodar, não alteram a trajetória. O salto, é criado através de impulso, por isso a esfera responde ao mesmo de uma forma realista, acho. Claro que se for aspeto de crítica, revejo as equações e redesenho o mesmo, mas fisicamente, os parâmetros estão corretos.

    Aqui tenho um belo berbicacho, pois o meu talento para desenho estagnou nos meus dois anos. Não passou daí.
    Este aspeto está considerado e será implementado. De momento, pode-se considerar o que até agora há como uma prova de conceito, que ainda está muito longe do pretendido. Os níveis têm uma gritante falta de interatividade.
    Vamos a ver, mas música não é fácil de arranjar, ainda para mais, sou só eu a fazer isto.
    Era bom, era...
     
  7. chicken

    chicken Power Member

  8. Wookie

    Wookie Power Member

    Vou-te fazer as minhas críticas ao jogo, que espero serem construtivas.


    Positivo:


    -> Adorei a física da bola. Não acho que devas alterar para um movimento da bola em "empurrão". Assim, com o atrito no chão, é o mais natural e realista.
    -> A fluidez está boa. Não vi a quantos fps corria o jogo, mas deu-me a sensação de correr a uns estáveis 30fps, o que me leva a pensar que a optimização do teu código ingame é razoável.


    Negativo:


    -> Demorou imenso tempo a iniciar na 1ª vez que executei o jogo. Talvez devas considerar melhor o que carregar na primeira execução.
    -> Quando fechei a janela de jogo, recebi um pedido do UAC do windows de um programa penso que com o nome unins001. É alguma coisa a ver com o fecho do jogo?
    -> Como o jogo ainda está numa fase incial, não há muito mais a apontar. Tenho sim é bastantes sugestões, por isso vamos a elas...


    Sugestões:


    -> Melhorar a aparência global. Sei que é uma tarefa dificil, principalmente para um programador (também tenho o mesmo problema que tu). Porque não pedir ajuda a alguém mais dentro do assunto?
    -> Talvez fosse mais fácil controlar a bola com as setas direcionais do teclado, principalmente para os destros.
    -> Na sequência da sugestão anterior, criar um pequeno menu no inicio do jogo onde não só pudesses escolher os níveis, mas também as opções de jogabilidade que possas vir a colocar no futuro.
    -> Tornar o jogo não tão dependente da skill usando por exemplo portais/passagens para resolver puzzles e conseguir chegar aos destinos.
    -> Relevo no terreno. Penso que de todas as sugestões, esta deve ser a mais complicada de executar. Provavelmente tens o tabuleiro disposto numa matriz o que numa primeira abordagem dificulta esta tarefa. Mas se arranjares maneira de o fazer, tornava a jogabilidade mais interessante.


    De uma maneira geral gostei muito do jogo e vejo aqui enorme potencial, principalmente pela sensação de controlo da bola que me parece ser uma mais valia. É um pouco complicado adaptar-se, mas depois é bem divertido. Principalmente ter de calcular muito bem a direção dos saltos.


    Vai aqui colocando mais novidades e novas actualizações do jogo. Vou acompanhar o teu projecto bem de perto.
     
  9. eyeliner

    eyeliner Power Member

    Vou ter que ver isso, mas já lá estive e vi-me um pouco à nora.

    Manda!


    -Ótimo.
    - Aponto para os 60, por acaso, mas terei que colocar um mostrador de FPS para ter a certeza.

    Isso é problema do motor utilizado, que requer que um player (DXPlayer) esteja no sistema, que ao terminar é desinstalado (daí o uninst001). Fiz menção a isso na primeira entrada do tópico. É uma imposição do sistema utilizado que creio ter sido resolvida na última beta, que ainda não adoptei pois faz uma diferença no código, obrigando-me a refactorar algumas coisas. Terei que passar umas horas à volta disso, mas tenho alguma aversão a betas...

    Para resolver isso, bastaria instalar o player, e o início seria quase instantâneo, pois a única coisa que acontece no início é o carregamento do ecrã inicial, composto por uma imagem e umas quantas linhas de texto. Não quero obrigar ninguém a instalar um player que mal se usa e apenas para o meu jogo, logo, esta limitação tem que ser evitada instalando e desinstalado o player sempre que necessário. De novo, isto aparenta ser um ponto em que a empresa que desenvolve o motor quer resolver. Aparentemente, tem a ver com a versão do physiX...


    - Os artistas saem caros, e acima de tudo, ainda está demasiado embrionário. É muito complicado arranjar alguém que dê ou faça arte para estas coisasa troco de "agradecimentos".

    -Tens razão. Mas já implementei o uso de joystick, mas faz falta um menu de configuração. Preocupei-me imenso com o controlo/jogabilidade ao longo destes meses. O controlo vem a seguir, e já devia de ter sido implementado.

    - Certo. Uma vez mais, é um conceito, mas isso já era para ser incluído, pois falta interação. Os níveis estão demasiado vazios.

    - Criar níveis é brutalmente fácil, pois a segunda preocupação, além da jogabilidade+controlo, foi desenhar um sistema de carregamento de níveis dinâmico. A dificuldade vem através do raycasting quando a esfera está numa rampa, pois de momento, só há raycasting para baixo. Ainda não consegui arranjar uma solução aceitável para este dilema, pois a bola só salta diretamente para cima, e numa rampa, teria que ter em consideração a inclinação do terreno.

    A pedido de alguns jogadores, se calhar a bola desliza demais, mas talvez torne esse parâmetro mais restrito, fazendo com que a bola deslize menos, facilitando o controlo, ou até personalizável.

    E segue à vontade... :)

    MAIS!
     
  10. eyeliner

    eyeliner Power Member

    Bem, entrada seguida, mas pode ser que se justifique:

    Andei embrenhado na criação da interface e componentes da base de dados, onde se guardam os tempos, perfis, níveis concluídos, etc.
    Aqui fica uma amostra do que será o menu inicial:

    [​IMG]
    Falta a moldura que indicará a opção escolhida, mas como é ainda um modelo, por agora serve. O fundo obviamente será diferente, até animado. É relativamente fácil de fazer, por isso ainda não dediquei tempo a isso, pois coisas mais importantes estavam a ser desenvolvidas.

    [​IMG]
    Menu de opções, tenho que reorganizar os menus, onde está escrito "0123456789" é uma lista que apresenta os jogadores na base de dados.

    [​IMG]
    Menu de seleção de nível com um perfil.

    [​IMG]
    Menu de seleção de nível com outro perfil. Notam a diferença? :)

    Bem, de volta à carga. Xau aí.
     
  11. underfox

    underfox Power Member

    gostei muito do gameplay, a bola desliza sim, mas eu acho que é um ponto positivo do teu jogo pois aumenta a dificuldade do mesmo: Assim podes brincar com este parámetro para diferentes modes de dificuldade.
    A coisa que eu gostaria de fazer é bunny jumping, ou seja mal toco o chão com o bola posso mandar outro salto logo de seguida, por enquanto parece que o salto tem um cooldown de 1 segundo e meio.

    já agora aproveito para te dizer qual foi o nivel que mais gostei foi o nivel 6, um só caminho, deu me essa impressão de estar a jogar um jogo de plataforma sem armadilhas a não ser cair das plataformas. Quem sabe, podes num futuro incrementar este tipo de coisas ;)

    força com isso que pareçe me ser uma boa base inicial para um jogo bem viciante .
     
  12. eyeliner

    eyeliner Power Member

    Boas,

    Não existe cooldown no salto, a bola apenas salta quando está em contacto com o chão. É calculado através de um raycasting muito restrito, pois quando em testes implementei o sistema, os saltos da bola eram erráticos na altura, sendo bem maiores no segundo. Se jogam Mario, lembram-se da mesma situação: salto 1, normal, salto 2 em sucessão, mais alto. Os resultados não estavam a ser os pretendidos, por isso ficou assim. Com comando, retirei a facilidade de "turbo" por causa disso mas posso implementá-la se assim for desejado, mas terei que ver as implicações de tal coisa.

    Se tiverem uns excelentes reflexos e coordenação olho/mão, poderão talvez conseguir saltar em sucessão, mas eu nunca consegui. Mais tarde irei refinar o controlo e com a nova implementação do PhysiX 3.2 as coisas talvez fiquem melhores.

    Os níveis até agora apresentados de forma nenhuma representam o produto final. Apenas são testes.

    Obrigado a todos os que deram feedback e testaram o jogo.

    Alguma pergunta em específico, estejam à vontade.
     
  13. Miguel_Domingos

    Miguel_Domingos Power Member

    Parabéns pelo projecto.
    Parece-me estar no bom caminho! Força! :)
     
  14. eyeliner

    eyeliner Power Member

    [​IMG]

    Um elemento de jogabilidade que estou a explorar, para possíveis áreas secretas ou até puzzles.

    Além de planear uma edição de níveis mais simples para tornar o jogo infinitamente expansível através de contributos dos jogadores. Este último, no entanto ainda não entrou em fase desenvolvimento.
     
  15. manelis

    manelis Power Member

    Parabéns, também tenho andado a fazer as minhas experiencias, só que em 2D.

    Se quiseres um bom exemplo de movimento de uma bola experimenta o hamsterball, é muito semelhante e está bem feito nesse aspecto. Já agora, o executável que deste é assinalado como um trojan pelo avira, tenta ver isso.

    Devo também dizer que desconhecia o motor. Isto é tudo sobre programação ou tem interface gráfica? Eu tenho tado a usar o XNA do C#.
     
  16. eyeliner

    eyeliner Power Member

    Obrigado.
    Se o Avira acusa, deve ser ou por causa do acesso à base de dados ou do executável que é copiado para o program files e depois é eliminado. Espero que seja resolvido numa posterior versão do motor. Mas podes descansar que é falso positivo. Infelizmente a versão do Physix que uso requer privilégios administrativos para ser instalado e ser usado. A nova versão, que está a ser implementada, evitará esse grande inconveniente.

    Em relação a inspiração, tenho duas: Marble Blast e Ballance, embora nestes a física não seja muito a meu gosto. Falta a inércia, que optei por incluir e torná-la num elemento importante de jogo.

    O motor tem interface gráfica. É quase um Unity 3D, mas é quase tudo feito à unha. No meu caso, tudo o que se vê é aplicado e criado por mim, sem recurso a seleções do motor, ou seja, as opções e propriedades são feitas através de código.

    Experimentei o XNA e irei para lá depois deste projeto. Se tiveres algo, manda, que a gente quer é ver isso!
     
    Última edição: 23 de Agosto de 2012
  17. manelis

    manelis Power Member

    Infelizmente não tenho nada de palpável além de umas 4 ou 5 centenas de linha de código para fazer integração do Farseer (motor de física) e do Gleed2D (desenho de mapas em XML). Tenho tado com uma enorme perguiça pa avançar, portanto deve demorar meses até ter alguma coisa, se é que realmente irei ter. Mas obviamente que mostro se essa altura chegar.

    Eu escolhi o XNA porque prefiro estar a programar coisas mais abaixo para aprender, já que ponho como hipótese este ser o meu futuro, e parece-me mais didáctico. Além que já vou tendo algumas bases de programação do meu curso.
     
  18. eyeliner

    eyeliner Power Member

    Boas escolhas, eu tenho ideia de ir para o XNA/C# pois neste momento, a equipa do DX Studio não parece muito virada para ele. São uma empresa de software à medida e parecem estar bem com isso, e o motor aparenta ser uma tarefa secundária infelizmente.

    Olha, o meu primeiro projeto foi um conjunto de imagens com som e pouco mais. Há que começar com alguma coisa. :D
     
  19. Nada

    Nada Power Member

    Eu gostei do que vi, parabéns ;)
    Já tinha ouvido falar do DXStudio, mas nunca muito, o que achaste dele?
     
  20. Marcelo5

    Marcelo5 Power Member

    Eu gostei do que joguei requer um bocado de consentraçao porque se aceleras muito a bola cai ;)
    Bom jogo
     

Partilhar esta Página