Can a Game be non-algorithmic

Started by
25 comments, last by playlightgames 1 year, 8 months ago

Thaumaturge said:
I wouldn't call an unstructured “if-else” tree a “set of rules”--to my mind that implies more structure, an underlying logic. A “process”? Maybe. But then, as you say, all programs must be algorithms, to a degree that I feel stretches the term a bit beyond its spirit.

What makes it an algorithm isn't that a process happened, it's that the process was rule-based. An if-else tree is a set of rules that govern what functionality is reached given some inputs, so it is an algorithm. Just because the operation is O(1) and doesn't involve a loop does not mean it is not an algorithm. Array indexing is O(1) and also an algorithm, albeit an extremely simple one. Generating the next pseudorandom number in a sequence can be O(1) and is also an algorithm. Labelling them as such does not stretch the definition of algorithm, even if we don't have a whole lot to say about them from an algorithmic analysis perspective.

If you perform a series of steps that appear random and patternless (ie. an RNG applied to dance steps), but actually follow rules, then you are “performing an algorithm.” You could describe that algorithm to someone else and they could recreate your steps if they followed those rules.

Advertisement

Honestly, at this point, I'm inclined to ask whether you're willing to simply agree to disagree. (For part, at least. You do make some good points above, although I'm not convinced of the whole.) Another time I might have kept up the discussion, perhaps, but it's becoming a little too energy-intensive for me right now.

For what it's worth, we've each said our pieces, and so others in the thread can hopefully make up their own minds between them. (Where called for.)

MWAHAHAHAHAHAHA!!!

My Twitter Account: @EbornIan

=@Oberon_Command Algorithm is well defined in books and non-algorithmic possibly will be opposite of that. Lets say if a piece of code is very scattered and having a lot of mix, roughly speaking, perhaps its not readable or not able to humanely understand, maybe that can algorithm is non-algorithmic. I remember the term “spaghetti code” which is used to say very poorly written code.

However what can be the definition or description of a non-algorithmic code.

Got a Game? Get Reviews and Links.Free and Honest Publicity never Hurts!ITnauts.com

Saurabh Torne said:
However what can be the definition or description of a non-algorithmic code.

Does not work for a general definition. If code is hard to read or understand, it's eventually bad code, but it still uses badly written algorithms to implement its function.
Maybe, if there is no function, we could generally agree there is no working algorithm. But no function - no game. Games must have a function, e.g. translating player inputs to make a sprite move, or to make choices and show consequences, or do whatever makes a game interactive.

Maybe we get a step further if we look at a language like HTML. This can only generate documents to read, with links pointing to other documents.
I would agree we can not implement algorithms in this language (which is not a programming language).
But even this is enough to implement a CYOA game. The reader can make choices if we present them as multiple links, leading to different branches of the story.

Now, personally i do not accept CYOA to be a computer game, because it's minimal logic is executed by the player, not the computer, but that's just me and arguable as well.
CYOA games in book form were extended with pen and paper RPG logic for example, where the user has to note and update stats using given rules and math. That's again algorithms, defined by the game, executed by the player.

If you don't rephrase the question, the answer remains no. All responses you got agree on that.

Saurabh Torne said:
Lets say if a piece of code is very scattered and having a lot of mix, roughly speaking, perhaps its not readable or not able to humanely understand, maybe that can algorithm is non-algorithmic. I remember the term “spaghetti code” which is used to say very poorly written code.

That has nothing to do with “algorithmic”.

An algorithm is a set of procedures or instructions, as all the discussion is about. There is nuance on what “procedures” or “instructions” mean, but overall the intent is clear. Just because a human has difficulty following the instructions does not mean they aren't instructions, nor does it mean it isn't an algorithm. The complexity or simplicity of the instructions doesn't make it not an algorithm. Either they are a process (and therefore algorithm) or not. This was at the core of what Turing machines could do and the theory around computing, and formal definition of what being Turing-complete meant.

If it has been turned into CPU instructions, it is algorithmic at its core. Those instructions are by definition the algorithm, regardless of if humans understand.

Any game with rules that can be codified, and even those with rules that cannot be easily codified but still have rules that exist, by definition the rules are algorithmic at their core. The algorithms are processes, the rules, the basis for the game.

fleabay said:

People who are pedantic about semantics should avoid ill conceived concepts.

The exercise gives better insight into various concets. All the replies are so knowledgeable.

Got a Game? Get Reviews and Links.Free and Honest Publicity never Hurts!ITnauts.com

This topic is closed to new replies.

Advertisement