The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
I created a calculator only using the scripting commands in the video game Counter-Strike, bind (for input) echo (for output) and alias (for the logic). Bind is to connect keys to a command or string of specified commands, echo is to output text to the console, and alias is a command that allows you to create a new command out of a string of specified commands. Basically, I can do math without using math. This is pure connectionism, where there are no values, no logic operators and no measurements in the logic. It is purely making, breaking and using connections and nothing else.
The first few paragraphs from my paper that I am working on:
How To Compute Without Variables, Logic Operators or Measurements
Work in progress
I have come up with what I believe is a new type of logic, it is mechanical in nature, but because I could maybe see it done on the quantum level it could be far more complex than any mechanical machine has ever been, in ways not seen in physical mechanical devices.
This logic is pure connectionism, only using connections and nothing else. I look at it as a geometry of logic. My system performs the logic only using one command without numeric variables, without logic operators, and without measurements. This is neither digital nor analog logic.
This is not theory, I have built a working model using this logic that demonstrates if-then, do-while, a randomizer, a relational database and other logic, including a rudimentary calculator that adds/subtracts/multiplies/divides. In the working model I only use one command for hooking in the input, a few commands for output, but all the logic in between is one command that does nothing but link commands together.
The logic demonstrated in this model uses the command “alias”, which is used in a FPS video game called Counter-Strike, which is a modification for a video game made by Valve called Half-Life, which is based on id Software's QuakeWorld engine. This command is used to link various commands together creating a new command that executes a command string, to provide a way for customizing the interface of the game. This logic requires input and output provided in the game - which, no doubt, uses Boolean logic to perform, but the logic itself is contained to using the one command “alias” and does not use Boolean logic.
A readable-online version of the paper (no download, unless you want a Word copy) https://app.box.com/s/4plplfbrhwr9qflosp8tir00r0pf1467
You can also find the paper here, but you have to download it to read it: https://github.com/johnvlilley/Stateless-Computer
I suggest you start with the simple version of the calculator that does just add and subtract: https://github.com/johnvlilley/Stateless-Computer/blob/master/calculator_simple.cfg
And the complex calculator has much better inline commenting: https://github.com/johnvlilley/Stateless-Computer/blob/master/calculator_complex.cfg
I am interested in taking some of the logic, perhaps the most complicated part - the grenade throwing script, and visually re-creating it in Minecraft. This part of the logic performs the permutations of a math question I came up with and was answered by using the ancient Chinese Pascal's Triangle in a new way. It is similar to the question of how many combinations of 4 hats on 4 pegs you can have, and I just had to count the pegs as part of the permutation where they did not.
Here is the question:
"You have a combination padlock with four dials on it. Each dial has the numbers 0 through 4 on them. The lock can have as many 0s as dials, and is set to 0000 by default. The lock does not allow you to use any number between 1 and 4 two or more times in the combination. The following combinations are valid: 0123 1234 0103 0010 4031. The following combinations are invalid: 0113 4014 0202 4444. How many possible combinations are there?"
The solution to this word problem is here, notice that it is a new use for Pascal’s Triangle, because it values nothing as something:
I also desperately need help writing the paper, it is obvious I never have written one before. I can't offer any money, because I plan to put this in the public domain. I will certainly give credit where credit is due, though. Please contact me at [DELETED]@hotmail.com or the more reliable [DELETED]@gmail.com
1) Never post your email address in any forum, unless you really like spam! If anyone replies to you, you will receive an email to let you know.
2) This is probably the wrong place for this: Collaboration / Beta Testing Discussion Boards[^] is more appropriate.
Sent from my Amstrad PC 1640 Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
1.) He’s not going to get spam from this post
2.) Because it’s not an OTD? This forum used to be full of interesting posts like this - that would often spark pages and pages of interesting debate and replies.
Sorry, I am struggling to understand, what exactly do you think you have come up with? I haven't read the link, so maybe I am missing something, but it sounds like you are just talking about some sort of dictionary lookup?
a little more then @musefan suggested, it's a table
input = 1, next input is +1: return 2
input = 1, next input is -1 return 0
input = 1, next input is +2 return 3
input = 1, next input is -2 return -1
input = 10, next input is is +10 return 20
....or at very most 1 step of a finite state machine.
one thing it's not is "logic"
... it's 100% mechanical the same way a mechanical calendar looks like it's "doing logic" to handle different length months.
a better design was the mechanical calculator: it had a very elegant way to handle carries
i.e. 7 (+ 6) lands on 3 + 1 carry to next significant digit, 7 X 3 -> 7 (+ 2 rotations of 7) resulting in landing on 1 with 2 carries happening (note how it discounts the multiplier by 1 to not need to 'reset' the starting point or use a 'register'). Division was really complicated (start by looking how the Z80 types did it) and cost a lot extra, decimals were just a fixed point in the wheel set.
I skimmed the doc but I don't really get it. As far as the randomiser though, you might want to look at how randomisation works in Doom. Then realise that you can't really patent ideas that have been around since 1993