Game Logic Notation?

Started by
7 comments, last by Tutorial Doctor 9 years, 3 months ago

For a while, I have been interested in notations:

At one point, I tried to create notations for helping display how to model a 3D model. One of the first art forms I got introduced to was origami. They had a serious of notations that signified which actions to perform for each step. I didn't understand notation enough to finish it though.

Now that I know a little about programming, I am wondering if anyone has seen anything remotely similar to a sort of game logic notation. I mean, you have notations for schematic diagrams on the electronic side, so it would seem (if even for a simple game) there would be some format for game logic notation.

Anyone know of sort of system for a game logic schematic diagram?

I am currently browsing google for notations related to game, and I get the "Numeric annotation system" and information about notations for chess. I get musical score notation also.

Basically, I would like to map out the gameplay or the game logic as a sort of schematic diagram with a potentially standard notation system for my games.

Lately, my ideas have been rather extraneous, but I am going somewhere with this. Believe me. haha

Any ideas?

I would prefer the notation without schematic diagrams (written as if writing a paragraph prefarably).

They call me the Tutorial Doctor.

Advertisement

I guess Daniel Cook's "skill chain diagrams" are vaguely along that line, but not really exactly what you're looking for -- and it's more akin to a flow-chart of schematic than prose.

In my opinion, games differ too much for there to be a single general purpose notation of the sort you're after; there could be notations for more specific subsets of games (first-person shooter notation, etc.), but it would be really difficult if not impossible to produce a general notation that could elegantly and accurately express a first-person shooter, chess, match-3, and the many other types of games that exist.

- Jason Astle-Adams

Specifically, do you mean notation of actions the players can take (chess moves for example), or notation for the rules of the game (the program itself)?

Notation for actions the player can take is feasible. "Move X1,Y1 -> X2,Y2", "Turn left at next junction", "Shoot enemy in head", "Use item: Health Potion". You can come up with a more formal set of symbols/icons if you want.

Notation for the program... is just source code.


Fundamentally, notation is just symbols. Symbols are placeholders for a thorough description. Dealing with symbols means that in many cases, you don't have to reprocess the full description every time you evaluate it; you can memoize some (or all) of the process so you can skip the bulk of the processing in the future.

http://en.wikipedia.org/wiki/Memoization
http://en.wikipedia.org/wiki/Hashlife
Something that came up was the notation that LaTex uses for the formatting of a document. A lot of them could be used (I don't know laTex to well, but it seems pretty easy).

There is a notation for chess though.

There was even a notation created for swipe gestures, that people now use when figuring out how to make touch based games.

I am getting close to something. Right now it is looking like a node system. Inputs and outputs.

They call me the Tutorial Doctor.


... how to model a 3D model ... map out the gameplay or the game logic ... [along the lines of] notations for schematic diagrams on the electronic side ... notations for chess ... musical score notation ...

Nypyren touched on it (though I would change his comment to "notation of actions the players can will take or did take (chess moves for example), or notation for the rules of the game (the program itself)?"

That is, you may be having difficulty because you haven't clearly defined what you want to document. The purpose for the notation concepts you mention all differ from one another. In particular, game play and logic imply decision-making based on input. Arguably, chess notation and musical scores do not provide for decision making.

Do you want to describe the behavior of your program, or reflect the code implementation ("rules") of your program?

Flow diagrams, similar to where you're likely heading with nodes, provide for I/O, decision-making, etc., if you want to describe behavior, rather than the fine details of implementation. A flow diagram could go into detailed implementation, but, as Nypyren mentions, that just becomes code itself.

- A schematic diagram documents the implementation of a design assuming defined components, including variables for tuning or operation. E.g., variable resistors/capacitors can be used for required tuning, or as user input such as a volume control. Pseudo-decision-making that changes the behavior.

- Chess notations document behavior, decisions that have been made, using a specific design and set of rules (which are not documented, but assumed.) N.B., the notation allows "illegal moves" - e.g., a pawn moving more than 1 square, or a bishop moving to a square not on its diagonal, in violation of the rules.

- A musical score is a text/graphical representation of a design under specified rules (key, tempo, glissandos, dc al coda, etc.) No decision-making.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

I've the found the beginning of a way to describe both the behavior and rules. It really does look like nodes.

An object is drawn as a rectangle with input nodes on its left and right. The left side receives input and that input is mapped to one or more output nodes on the right side.

A key event is wired into a left node and mapped to one or more actions (play animation, add upward force, play soind).

Logical AND, OR, XOR, gates can control data or action flow.

I do currently fiddle with a game engine that uses visual programming, and now that i think of it, it is the best way to represent a game "visually."

I will set up a full game, and post a photo.

We often find ourselves trying to make notations for the node system (when telling someone how to set up the nodes) but doing so textually is rather hard, or at least not considered yet.

They call me the Tutorial Doctor.

Suggestion: if you have Excel, you may want to look into its flowchart capabilities. There are quite a few templates available online. Or, for unique shapes for your nodes, you can create your own templates. Overall, if you use commonly used flow chart shapes and patterns, the look and feel will be more intuitive to viewers.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

There are no end of systems for drawing out code flow diagrammatically. I think most of us feel it's easier to lay things out with code to be honest, and it's not really caught on.

What are you trying to achieve, some kind of visual programming system? As we have said many times, these have been shown again and again to fail for any non trivial logic.
I don't want the visual programming system, but I know now that I could use such a system to create a notation for game logic (visual or textual).

I've attached a photo of a visual programming engine I use. It is basically a schematic diagram if you look at it. But I am looking for a notation system for even text based programs.

Just as number data can be represented symbolically(notations) , textually(description), numerically(formula), graphically(tables,charts), etc with various notations (symbols) I'd like to notate game logic.

I'm not thinking of anything too original. Chances are I will use notations from various sciences, maths, and arts.

They call me the Tutorial Doctor.

This topic is closed to new replies.

Advertisement