your best bet is an old binary systems that does very very basic functions, the most realistic computer made will more then likly be a non graphic display with limited capabilites, after that maybe just maybe well get duke nukem forever loaded up. (since it will be about that long for a working GUI system UNLESS some major redstone patches get released)
I think it would not be crazy to say that to make even a simple computer, with inputs since it would be way bigger than a chuck or whatever it called. If it is bigger than that, the computer would simply not work since anything outside the chunk you are on won't work. I seem to recall that long distance minecarts have this problem. If the minecart goes far enough, it will stop. I also recall that LCD clock in shown in one of the posts won't work if you go outside the range.
If you mean by computer a simple calculator, then yes, it's actually very easy.
If by computer, you mean a Turing complete, programmable 8 bit-type thing, then no, and if you think it would be easy you are sorely, sorely mistaken. I've been hacking away at a design for a few months though.
Okay... I looked into making Pong. It's not very feasible without stupid-big resolution levels, unless you're okay with a very boring back and forth game because it's hard to change the angle. I can see now, why we didn't have real-time interactive machines until transistors and miniaturized manufacturing techniques, because the 'simplest' way to make something like Pong is to hard wire every possible path the ball could take, and even on a 5x3 board, the smallest I think we could get away with, there's a lot of room for wiggling. This is the simplest because it would be straight-forward, but tedious and time consuming.
On the other hand, if someone would like to collaborate to attempt to manufacture a logic processor unit and give the ball rudimentary reflection physics so that we just have one big processor that covers every pixel on the display, I'd be all for it. This is how I would prefer we find a way to accomplish the feat, as it would allow the game to be scalable, where making a bigger, more impressive screen is just a matter of wiring up the new pixels with relatively little fiddling about on the innards.
But I'm game for making a game, lemme know if anyone else is.
So every time the ball moves in the Y direction it moves sideways 1 in the X direction. When it encounters a wall it moves the other way in X.
You could use some sort of shift register in the display so that it makes the ball move automatically. Don't compute the position of the ball separately from the display.
The problem with that is that you're essentially making a video loop of a ball bouncing around, and all that makes it a game is that it will check if your paddle is somewhere, otherwise it'll restart. That is what I was getting at with the 'hard wire every path' thing. To make it a real game, we'd need some way to alter the reflection angle and have it do more than follow a set path. If every bounce is a 45 degree angle, then the game is hopelessly predictable and boring in a way that Pong shouldn't be.
It requires some crafty method of making a physics processor, or the tedious and time consuming method of wiring in every potential bounce and then we run the risk of making it a video with a few checks instead of a game. In all honesty, the latter option is boring and mundane, the former is harder, but more epic, as among other things, it should allow the display to be scalable. Also, if we do it right, we could make more than a 1 block paddle, and so attempt to introduce a more dynamic reflection system so that it's more interesting than just 45 degree bounces.
If you mean by computer a simple calculator, then yes, it's actually very easy.
If by computer, you mean a Turing complete, programmable 8 bit-type thing, then no, and if you think it would be easy you are sorely, sorely mistaken. I've been hacking away at a design for a few months though.
I've been working on a Turing machine on and off, because the unpredictable nature of redstone sometimes drove me crazy. I shouldn't have made an asynchronous circuit. It's also 2 bit.
Codewarrior already posted a link to a picture, but I'll put it here for emphasis:
Quote from Wikipedia »
A computer is a programmable machine that receives input, stores and manipulates data//information, and provides output in a useful format.
A Turing machine receives input, stores data, and manipulates data, and provides output in a theoretically useful format, since one can theoretically make any programs in a Turing machine.
I could upload it for people to try it out, but I can't get it to continuously run, and the sequencing sometimes fails. Nevertheless, it's a proof of concept of how memory could be read and written.
Rollback Post to RevisionRollBack
My Youtube channel.
Contains Pachebel's Canon made with noteblocks, a working Rubik's cube made with pistons, and the ultimate TNT cannon.
I think it had increased speed not different angles. Also the first pong was analog and displayed to an analog screen. With redstone the screen is digital and all the calculations digital.
I don't know how to do clocked 2 way shift registers, i suppose it could be some sort of clocked flip-flop.
Well, as the first computer was in fact Charles Babbage's Difference Engine in the early1800's, I think it would be best to start there before moving on to software.
It should be possible to make one of these, although I have no idea how you would go about doing so.
I don't think programmable PC's will be possible just using redstone. For one thing, everything would either be red or black. The display would need to be on a *huge* scale for anything to be visible.
It's not a computer, since it's not really programmable. Also, it's in base 10, so yea.
Also, I contemplated on how Tetris could be made.
Rollback Post to RevisionRollBack
My Youtube channel.
Contains Pachebel's Canon made with noteblocks, a working Rubik's cube made with pistons, and the ultimate TNT cannon.
Difference engine is just a calculator. Punch numbers in, get numbers out. It can't run a program. Babbage knew this and thought of a prototype that used punched cards. We didn't get stored program computers until near the end of WWII. Many earlier computers before then were produced. Mostly analogue systems for calculating ballistics.
There are also different stored program computers
[*:34y9d5hq]Where the computer can't manipulate its program code (Harvard Architecture)
[*:34y9d5hq]Where the computer can manipulate its program code (Von Neumann Architecture)
The later is what we use for modern CPU's. Modern micro-controllers however use the first.
If people are trying to make a computer in red stone they should aim for Harvard first. Von Neumann complicates things for example a command that loads a register needs to be broken down into something like this.
command is LOAD ADDRESS
Increment program counter
Move PC to Address register
Tell memory we want to read (LOAD)
Move command from databus to execution unit
Execute command
Increment program counter
Move PC to address register
Tell memory we want to read (ADDRESS)
move (ADDRESS) to address register
Tell memory we want to read (DATA)
move (DATA) to register
The problem being is the need for constantly shuffling the PC and the Address register around. Also it limits the width of the instructions to multiples of the width of the data bus.
Yesterday I taught myself how to use redstone and spent all day playing around and I'm pretty sure that with enough time and redstone I can make a shittly little pong game. Let the Pong race begin!
I vote we don't make this a competition, but instead collaborate our efforts. However, I'm not going to be available much until Monday, so if you get it done in that time, Kudos to you. But Pong needs two players anyway. I am not programming an AI of sorts to play the second paddle. At least not yet.
I'm envisioning an 8x8 play area, with a 1x8 strip on either end for the paddles, I'm thinking 2 blocks wide. The ball will be tracked with I believe a 10-bit memory matrix to monitor angle in 2 bits, direction in x and y as well as the position of the x and y coordinates, both are a 3-bit number.
By the way, I'm going at this attempting to develop a physics processor to run the calculations. That way, if you want to scale up the game, it will only take the addition of a bit to the x and y coordinate counter and tweaking the display, not totally redesigning the entire system.
I have been using it for logic in LittleBigPlanet (piston logic ftw.) so I don't think much will be different here, except it'll use redstone and torches instead of pistons and magnetic keys in LittleBigPlanet.
I vote we don't make this a competition, but instead collaborate our efforts. However, I'm not going to be available much until Monday, so if you get it done in that time, Kudos to you. But Pong needs two players anyway. I am not programming an AI of sorts to play the second paddle. At least not yet.
I'm envisioning an 8x8 play area, with a 1x8 strip on either end for the paddles, I'm thinking 2 blocks wide. The ball will be tracked with I believe a 10-bit memory matrix to monitor angle in 2 bits, direction in x and y as well as the position of the x and y coordinates, both are a 3-bit number.
By the way, I'm going at this attempting to develop a physics processor to run the calculations. That way, if you want to scale up the game, it will only take the addition of a bit to the x and y coordinate counter and tweaking the display, not totally redesigning the entire system.
Well I was kinda joking about the competition aspect (the whole situtation just reminded me of the space race) but I think it would be great if everybody worked together. We should probably get another seperate thread up for the pong collab though.
I was thinking that it would just be one person controlling both paddles for now. The current screen I'm working with has a 6X6 playing field with 1X6 sides for the paddles.
The ideal version of pong would have at least two diffferent Angles the ball could move in so it wouldn't be boring and predictable, however making a predicatable and boring pong is going to be enough of a challenge for now so we should probably start with that.
I am eagerly looking forward to the first pong game on minecraft. (Although it probably won't be me since there are tons of people around with more patience, time, experience and skill than myself.)
I was suggesting a 8x8 simply because I was imagining the logic unit calculate a collision when the x or y position rolls over. If we make it track position in 3-bits, that can count 0-7, when it gets to 7 and adds one, it will roll over to 0 and change direction, when it does so, calculate the collision. Making it something other than a power of 2 complicates that, as you don't have a convenient method to automatically force a calculation to take place. You add a new piece to the circuit to read the position, unless, of course, you have a different architecture in mind for the device.
This one is still a work in progress as far as I know.
"We will absolutely not keep in mind what external mapeditors will have to do to read data from the disk, that makes no sense whatsoever." - Grum
See? I'm not so malicious...
If by computer, you mean a Turing complete, programmable 8 bit-type thing, then no, and if you think it would be easy you are sorely, sorely mistaken. I've been hacking away at a design for a few months though.
This would be it.
On the other hand, if someone would like to collaborate to attempt to manufacture a logic processor unit and give the ball rudimentary reflection physics so that we just have one big processor that covers every pixel on the display, I'd be all for it. This is how I would prefer we find a way to accomplish the feat, as it would allow the game to be scalable, where making a bigger, more impressive screen is just a matter of wiring up the new pixels with relatively little fiddling about on the innards.
But I'm game for making a game, lemme know if anyone else is.
Frame 1
[] [] [] []
[] [] []
[] [] [] []
[] [] [] []
[] [] [] []
[] [] [] []
Frame 2
[] [] [] []
[] [] [] []
[] [] []
[] [] [] []
[] [] [] []
[] [] [] []
Frame 3
[] [] [] []
[] [] [] []
[] [] [] []
[] [] []
[] [] [] []
[] [] [] []
Frame 4
[] [] [] []
[] [] [] []
[] [] [] []
[] [] [] []
[] [] []
[] [] [] []
So every time the ball moves in the Y direction it moves sideways 1 in the X direction. When it encounters a wall it moves the other way in X.
You could use some sort of shift register in the display so that it makes the ball move automatically. Don't compute the position of the ball separately from the display.
It requires some crafty method of making a physics processor, or the tedious and time consuming method of wiring in every potential bounce and then we run the risk of making it a video with a few checks instead of a game. In all honesty, the latter option is boring and mundane, the former is harder, but more epic, as among other things, it should allow the display to be scalable. Also, if we do it right, we could make more than a 1 block paddle, and so attempt to introduce a more dynamic reflection system so that it's more interesting than just 45 degree bounces.
I've been working on a Turing machine on and off, because the unpredictable nature of redstone sometimes drove me crazy. I shouldn't have made an asynchronous circuit. It's also 2 bit.
Codewarrior already posted a link to a picture, but I'll put it here for emphasis:
A Turing machine receives input, stores data, and manipulates data, and provides output in a theoretically useful format, since one can theoretically make any programs in a Turing machine.
I could upload it for people to try it out, but I can't get it to continuously run, and the sequencing sometimes fails. Nevertheless, it's a proof of concept of how memory could be read and written.
Contains Pachebel's Canon made with noteblocks, a working Rubik's cube made with pistons, and the ultimate TNT cannon.
I don't know how to do clocked 2 way shift registers, i suppose it could be some sort of clocked flip-flop.
It's not a computer, since it's not really programmable. Also, it's in base 10, so yea.
Also, I contemplated on how Tetris could be made.
Contains Pachebel's Canon made with noteblocks, a working Rubik's cube made with pistons, and the ultimate TNT cannon.
There are also different stored program computers
[*:34y9d5hq]Where the computer can't manipulate its program code (Harvard Architecture)
The later is what we use for modern CPU's. Modern micro-controllers however use the first.[*:34y9d5hq]Where the computer can manipulate its program code (Von Neumann Architecture)
If people are trying to make a computer in red stone they should aim for Harvard first. Von Neumann complicates things for example a command that loads a register needs to be broken down into something like this.
command is LOAD ADDRESS
Increment program counter
Move PC to Address register
Tell memory we want to read (LOAD)
Move command from databus to execution unit
Execute command
Increment program counter
Move PC to address register
Tell memory we want to read (ADDRESS)
move (ADDRESS) to address register
Tell memory we want to read (DATA)
move (DATA) to register
The problem being is the need for constantly shuffling the PC and the Address register around. Also it limits the width of the instructions to multiples of the width of the data bus.
I'm envisioning an 8x8 play area, with a 1x8 strip on either end for the paddles, I'm thinking 2 blocks wide. The ball will be tracked with I believe a 10-bit memory matrix to monitor angle in 2 bits, direction in x and y as well as the position of the x and y coordinates, both are a 3-bit number.
By the way, I'm going at this attempting to develop a physics processor to run the calculations. That way, if you want to scale up the game, it will only take the addition of a bit to the x and y coordinate counter and tweaking the display, not totally redesigning the entire system.
http://www.play-hookey.com/digital/
I have been using it for logic in LittleBigPlanet (piston logic ftw.) so I don't think much will be different here, except it'll use redstone and torches instead of pistons and magnetic keys in LittleBigPlanet.
Well I was kinda joking about the competition aspect (the whole situtation just reminded me of the space race) but I think it would be great if everybody worked together. We should probably get another seperate thread up for the pong collab though.
I was thinking that it would just be one person controlling both paddles for now. The current screen I'm working with has a 6X6 playing field with 1X6 sides for the paddles.
The ideal version of pong would have at least two diffferent Angles the ball could move in so it wouldn't be boring and predictable, however making a predicatable and boring pong is going to be enough of a challenge for now so we should probably start with that.
I am eagerly looking forward to the first pong game on minecraft. (Although it probably won't be me since there are tons of people around with more patience, time, experience and skill than myself.)