Prototipagem de jogos “orientada a modelo”

8

Existem bibliotecas / estruturas / sistemas conhecidos que permitem criar um protótipo de um jogo com base em um "modelo" definido da mecânica do jogo?

Acho que todos esses jogos de combinar 3, estou procurando "algo" que permita experimentar novos conjuntos de regras em protótipos rápidos, onde lidar com o grafix / atualizar a tela com base no estado e na entrada / saída é apenas secundário e ter algo em execução e interativo é mais importante para validar uma ideia ...

Essas ferramentas existem? Qual seria sua opinião sobre isso quando solicitado a ignorar o máximo de codificação possível?

Para esclarecer: não, não estou procurando nenhuma mágica. O que eu estou procurando são ferramentas que permitam se concentrar mais na "lógica" de um jogo (pelo menos para os jogos simples, ala match 3) e não ter que codificar todas as coisas da tela / entrada / interface do usuário, assim, a nomeação "model driven". ..

pointernil
fonte
11
Se você está escrevendo regras formais de jogos, está codificando. Você pode estar codificando em um idioma de nível superior, mas está codificando. Se você quiser uma certa flexibilidade, esse código será "difícil" de escrever, no sentido em que você terá que tomar decisões difíceis - e provavelmente muitas vezes erradas - de design de arquitetura e de design de jogos. Pensar em um design é fundamentalmente desafiador, e não há como evitar isso. Não há bala de prata.
(-1 e vote para fechar, porque este é outro pedido do botão mágico "faça meu jogo".) #
Para esclarecer: não, não estou procurando nenhuma mágica. O que eu estou procurando são ferramentas que permitem concentrar mais na "lógica" de um jogo e não ter que código de toda a tela / input / ui encher assim o "modelo orientado" nomear ...
pointernil
@ Joe: observe a restrição de alguns conjuntos de regras simples, ala 3 - jogos ... a codificação das regras com certeza tem vários níveis de complexidade MAIS BAIXOS do que o necessário talvez em outros tipos de jogos ...
pointernil
11
Então, como seria essa API? Pode fazer algo diferente de Bejeweled? Algo diferente de Bejeweled com um número variável de cores? Ah, você também quer modelagem temporal? De repente, é uma linguagem de programação. Não há parte de uma linguagem de alto nível como Python ou Lua que você possa remover e facilitar esse desenvolvimento. O que você está pedindo não é "não está codificando", é alguém que já criou uma API que abstrai todo o espaço de design para você - e isso é mágica.

Respostas:

10

A resposta curta é: eu não acho que esse tipo de coisa exista.

A resposta longa é que você está no caminho certo, pensando em abstrair as regras do jogo na tela do jogo. Para algumas idéias, você deve até criar um jogo baseado em texto, onde, em vez de renderizar gráficos sofisticados, o jogo simplesmente usa texto para descrever o que está acontecendo. Esse tipo de abordagem permite que você se concentre nas regras do jogo. Depois de gostar das regras do jogo, você pode decidir o que fazer com a tela.

Tim Holt
fonte
11
Várias vezes eu fiz exatamente o que você sugere com a criação de protótipos em texto. Se o jogo for baseado em turnos, faz sentido criar a lógica do jogo com a saída do console, em vez de se preocupar com a "arte do programador".
Jhocking
3

Provavelmente, essa não é a resposta que você está procurando, mas eu recomendaria tentar algo como Prototipagem de papel para testar esses tipos de regras. Para um match-3, não deve ser muito difícil criar os diferentes elementos do jogo em papel e jogar as coisas manualmente.

Alex Schearer
fonte
1

O mais próximo que você encontrará de algo assim será um dos motores de jogo disponíveis no mercado. Game Salad é bom para quem não quer codificar situações. Existem opções de codificação baixa, como criador de jogos. A partir daí, algo como a unidade UDK ou o Panda3d será sua melhor aposta, mas eles exigem um bom trabalho para chegar ao ponto que você está falando.

pedregoso
fonte
quaisquer opções semelhantes não apple?
Pointernil
@pointernil Como programador, eu realmente não sigo o espaço das ferramentas que não são de programação. Conheço principalmente a salada de caça porque um amigo meu está por trás disso. Como o jogo que você deseja criar é bastante simples, você pode considerar o inventor de aplicativos do Google. Não é estritamente relacionado ao jogo, mas um de seus primeiros exemplos é bater uma toupeira. Também dê uma olhada seriamente ao criador de jogos, pois ele também possui uma opção de arrastar e soltar.
precisa
0

Basicamente - você está fazendo uma pergunta sobre como decompor a interface do usuário da lógica do jogo.

Para fazer isso - você deve abstrair as coisas. A programação orientada a objetos ajuda nisso. Mais especificamente - o padrão MVC é o que você está procurando. Combinado com o modelo de domínio avançado (sua mecânica de jogo), capaz de interpretar o chamado DSL, você pode alcançar seu objetivo.

Arnis Lapsa
fonte
0

Eu daria uma olhada em uma estrutura como o GeekGameBoard . Depois de descobrir como escrever seu código, você pode implementar rapidamente um novo jogo de tabuleiro. A biblioteca abstrai muita mecânica, permitindo que você simplesmente escreva as regras para qual peça se move para onde, ela captura, etc. Consegui criar um protótipo de um novo jogo de tabuleiro do início ao fim em cerca de uma hora (o jogo não era muito divertido ...).

Para outros tipos de jogos, você precisaria fazer um trabalho inicial semelhante.

Daniel Blezek
fonte
0

Para prototipagem sem código, recomendo o GameMaker no PC e o GameSalad no Mac. Não se iluda pensando que você está obtendo o resultado final; o único jogo lançado com essas ferramentas que eu gostei foi o Spelunky.

jhocking
fonte