8
\$\begingroup\$

Are there any known libs / frameworks / systems allowing to prototype a game based on a defined "model" of the game mechanics?

Think all those match 3 games, i'm looking for "something" allowing to try out new rule sets in rapid prototypes where dealing with the grafix/updating the screen based on the state and input/output is only secondary and having something running and interactive is most important to validate an idea...

Do such tools exist? What would be your take on this when asked to skip as much coding as possible?

To clarify: nope I am NOT looking for any magic. What I am looking for are tools allowing to concentrate more on the "logic" of a game (atleast for simple games ala match 3) and not having to code all the screen/input/ui stuff, thus the "model driven" naming...

\$\endgroup\$
7
  • 1
    \$\begingroup\$ If you're writing formal game rules, you're coding. You might be coding in a higher level language, but you're coding. If you want any amount of flexibility, that code is going to be "hard" to write, in the sense you will have to make difficult - and probably often wrong - architectural design decisions and game design decisions. Thinking through a design is fundamentally challenging, and there's no avoiding that. There's no silver bullet. \$\endgroup\$
    – user744
    Commented Dec 13, 2010 at 15:19
  • \$\begingroup\$ (-1 and vote to close because this is another request for the magic "make my game" button.) \$\endgroup\$
    – user744
    Commented Dec 13, 2010 at 15:20
  • \$\begingroup\$ To clarify: nope I am NOT looking for any magic. What I am looking for are tools allowing to concentrate more on the "logic" of a game and not having to code all the screen/input/ui stuff thus the "model driven" naming... \$\endgroup\$
    – pointernil
    Commented Dec 13, 2010 at 16:44
  • \$\begingroup\$ @Joe: please observe the restriction to some simple rule sets ala match 3 games... the coding of the rules there for sure is of several levels of complexity LOWER than needed maybe in other game types... \$\endgroup\$
    – pointernil
    Commented Dec 13, 2010 at 16:47
  • 1
    \$\begingroup\$ So what would this API look like? Can it make anything other than Bejeweled? Anything other than Bejeweled with a variable number of colors? Oh, you want some temporal modeling in there too? Suddenly, it's a programming language. There's no part of a high-level language like Python or Lua that you can remove and make such development easier. What you're asking for isn't "not coding", it's asking for someone to have already built an API that abstracts the entire design space for you already - and that's asking for magic. \$\endgroup\$
    – user744
    Commented Dec 13, 2010 at 18:59

6 Answers 6

10
\$\begingroup\$

Short answer is, I don't think that kind of thing exists.

Long answer is, you're on the right track thinking in terms of abstracting out the game rules from the game display. For some ideas, you should even be able to create a text based game, where instead of doing fancy graphics renders, the game simply uses text to describe what is going on. That kind of approach lets you concentrate on the game rules. Once you like the game rules, you can decide what to do about the display.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Several times I've done precisely what you suggest with prototyping in text. If the game is turn-based then it just makes sense to build the logic of the game with console output instead of bothering with "programmer art." \$\endgroup\$
    – jhocking
    Commented Apr 12, 2011 at 22:13
3
\$\begingroup\$

This is probably not the answer you're looking for, but I would recommend trying something like Paper Prototyping to test out these types of rules. For a match-3 it shouldn't be too difficult to craft the different game elements from paper and play things out by hand.

\$\endgroup\$
1
\$\begingroup\$

The closest thing you are going to find to something like that is going to be one of the off the shelf game engines. Game Salad is good for those I don't want to code it situations. There are low coding options like game maker. From there something like unity UDK or Panda3d are going to be your best bet, but they require a good bit of work to get to the point you are talking about.

\$\endgroup\$
2
  • \$\begingroup\$ any similar non apple options? \$\endgroup\$
    – pointernil
    Commented Dec 17, 2010 at 9:01
  • \$\begingroup\$ @pointernil As a programmer I don't really follow the non programming tools space. I mostly know of game salad because a friend of mine is behind it. Since the game you want to make is fairly simple you might consider looking at Google's App inventor. Not strictly game related but one of their first examples is whack a mole. Also seriously give game maker a look it has a drag and drop option as well. \$\endgroup\$
    – stonemetal
    Commented Dec 17, 2010 at 12:32
0
\$\begingroup\$

Basically - You are asking question on how to decompose UI from game logic.

To do that - You must abstract things. Object-oriented programming helps with that. More specifically - MVC pattern is what You are looking for. Combined with rich domain model (Your game mechanics) which is able to interpret so called DSL You could achieve Your aim.

\$\endgroup\$
0
\$\begingroup\$

I would have a look at a framework like GeekGameBoard. Once you figure out how to write your code, you can quickly implement a new board game. The library abstracts a lot of the mechanics, allowing you to simply write the rules for which piece moves where, does it capture, etc. I was able to prototype a brand new board game from start to finish in about an hour (the game wasn't that much fun...).

For other types of games, you would need to do similar up-front work.

\$\endgroup\$
0
\$\begingroup\$

For no-code prototyping I recommend GameMaker on PC and GameSalad on Mac. Don't be fooled into thinking you're making the final result though; the only released game done with those tools that I enjoyed was Spelunky.

\$\endgroup\$
1
  • \$\begingroup\$ HyperLight drifter was made in gamemaker as well :) \$\endgroup\$
    – Charly
    Commented Dec 26, 2021 at 5:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .