How to Display Text in Minecraft Using Redstone
Ever wanted to display text in Minecraft? It's actually not overly difficult. In this tutorial, I will endeavor to guide you through the process between storing and displaying text from memory. To do this, we will examine two different methods of displaying and storing text in memory.
This method is for those who don't understand binary or how it works. Binary is not overly complicated, but it can go over peoples heads, so I developed a binary-free version for someone who is just starting out to be able to produce the same kinds of things as those who otherwise would shorten letters (stored) into binary and then decode them for display on a screen.
Essentially, the basis of this system is that rather than encoding a binary coefficient, we straight up encode the character to be stored directly into the array. This method allows people to visualize what they are storing and gives a good foundation to the early learning of binary and so forth.
This first video describes the system you can see in the main image above. The system works off of a simple encoder system where a 5x5 array is stored in an array. There are a number of ways you can store values, this is just one, so don't feel like you have to use this as the only method of doing so.
For those who do understand binary, there is another method for accessing letters to be used at your whim—the use of a binary coefficient for each character. The method I am going to show you (in the video) is one of a number of ways in which you can do this, some being faster than others.
The idea is that for each digit of binary that you decide to use, say, if I used a 5 bit binary sequence, that affords me 32 variables, and I would allocate a character to each variable. This can be done in a number of ways, but regardless of how you do it, write it down. The last thing you want to have to do is recount binary as you go to remember what the binary of a particular character is.
The following is a compiled video of the best three scrolling text display methods available for use. There are likely others, but these are probably the most reliable ones available. The first, a piston-embedded display; the second (and most basic) is a chain of repeaters, which while being basic provides a very effective system of display; the last is a redstone lamp display.
You could theoretically make the text static, but you would need some form of 12-segment display for each character stored, which is not covered in this series of discussions.
Those who are using binary would need to 'decode' their binary sequence and 'encode' a 5x5 array of power to make up the designated characters (much like is seen in the video). Imagine, for example, that the initial button pressed (the S) is connected to a binary coefficient and that it is imprinted onto a bus for its display on the screen.
So, now let's take Method 1 and combine it with our display. It's not overly difficult to do this, but it gives us a chance to stretch our imaginations and play with the memory aspect.
This video is mostly irrelevant for those who are using a binary-based system, but you can gain a few things from it, I am sure. The video aims also to help with troubleshooting and such in this process.
PLEASE NOTE: The memory used here is inefficient, so if you are going to make a large scale project, don't just make a lot of capture bays. Your best bet is to have the memory feed into a bunch of stacked RS NOR LATCH ARRAYS similar to those seen in this video.
So, now that you know how this works, how is it going to help you? I'm glad you asked.
You see, I am currently constructing a game (among other projects) that works off of a text display base, such that you have questions display on a redstone screen and you input redstone answers. Sound simple? Sure is, if you can understand the basic concepts shared here. Here is my latest video (at the time of making this) into my project regarding storing text and asking questions. It still has a ways to go, but it is getting there!
Here is a link to the project file for that last example, so you can see if it has been updated and have a go of it yourself, if it is complete.
Thanks for reading, I hope this has been helpful! Don't forget to check out my YouTube channel to see what other stuff I am making!