This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
mad-murdock's profile picture

monitor on floors/ceillings, wired monitors, colored monitors

Started by mad-murdock, 28 July 2012 - 11:32 AM
mad-murdock #1
Posted 28 July 2012 - 01:32 PM
i miss the option to place monitors on floor and ceiling.

goal: create a monitor-tunnel with animations
(reading a file with animation data and displaying it synchronized shouldnt be very hard, but very effectful)

downside: this would probably need a different monitor block, since placing current monitors in current directions could get pretty hard otherwise

additionally, adding the ability to connect monitors via wire would make synchronisation for various monitors much more easy and not require network access.

and, of course, if using monitors for funky, flashy stuff, colors would be great. but honestly, for now, i would be fine with floor+ceiling installation.
if implemented, the linux terminal way with foreground and background color would probably be best. enabling BSoD and guru meditation (: color count wouldnt really matter. 16 colors for each fore- and background would be enough, but more cannot hurt.
Lyqyd #2
Posted 30 July 2012 - 07:08 PM
i miss the option to place monitors on floor and ceiling.

goal: create a monitor-tunnel with animations
(reading a file with animation data and displaying it synchronized shouldnt be very hard, but very effectful)

downside: this would probably need a different monitor block, since placing current monitors in current directions could get pretty hard otherwise

additionally, adding the ability to connect monitors via wire would make synchronisation for various monitors much more easy and not require network access.

and, of course, if using monitors for funky, flashy stuff, colors would be great. but honestly, for now, i would be fine with floor+ceiling installation.
if implemented, the linux terminal way with foreground and background color would probably be best. enabling BSoD and guru meditation (: color count wouldnt really matter. 16 colors for each fore- and background would be enough, but more cannot hurt.

Colors will not happen due to them requiring excessive network overhead.
xuma202 #3
Posted 30 July 2012 - 09:05 PM
For the cables see this: http://www.computercraft.info/forums2/index.php?/topic/738-cc-133-mc-125-smp-advanced-resource-processing-v171-peripheral-cable-v02/
And I see no reason why Colors would cause that much traffic. It could not at all cause traffic if it would be done like so:

mon.write("&3Hello &2 World") => Hello World
Lyqyd #4
Posted 31 July 2012 - 01:51 AM
For the cables see this: http://www.computerc...eral-cable-v02/
And I see no reason why Colors would cause that much traffic. It could not at all cause traffic if it would be done like so:

mon.write("&3Hello &2 World") => Hello World

Then it would just display that string, not the colored string. Or there would have to be extra code added to deal with escaped characters in various places, which would be tricky. The developers have said that multi-colored text (since you can already change the one color that gets used to another color) is very unlikely.
Xfel #5
Posted 01 August 2012 - 06:16 AM
These escape tags were supported in a previons version, but they were removed as they caused too many problems (eg with string length). If there were colors, they'd have to be stored per-character. however, using 16 different colors with foreground and background would mean one additional byte per character in total, and as cc is currently using an not-optimal character transfer format, this could be implemented with no overhead AT ALL.
xuma202 #6
Posted 01 August 2012 - 06:25 AM
If there were colors, they'd have to be stored per-character.

Oh yes in java a String is not an array of char as in some other languages. :ph34r:/>/>
Xfel #7
Posted 01 August 2012 - 06:29 AM
What I meant is: It is not enough to store a string with a color start and a color end marker, as I could always randomly write an other string in the middle of the colored part. And then, you'd have to find the right position and set new end tags and start tags and so on…
Luanub #8
Posted 01 August 2012 - 06:29 AM
The colors that will not be added due to the overhead that it will add is graphical colors. The overhead comes from having to control each individual pixel. There is another post here in the suggestions forums that has the math. Search for it if you would like more information.

Colored text may be an option in the future, don't know. There is already a way to change the default color of your text through the config file. Many of us are hoping that it will eventually turn into something we can control in game through the scripts.
xuma202 #9
Posted 01 August 2012 - 06:35 AM
The colors that will not be added due to the overhead that it will add is graphical colors. The overhead comes from having to control each individual pixel. There is another post here in the suggestions forums that has the math. Search for it if you would like more information.

Colored text may be an option in the future, don't know. There is already a way to change the default color of your text through the config file. Many of us are hoping that it will eventually turn into something we can control in game through the scripts.

You'd definitely not have to control each individual pixel! CC uses a native MC method to draw the text and this methods takes some coords, the text and -yes you've guessed it- the color.
Look here: http://www.computercraft.info/forums2/index.php?/topic/1137-cc-133-mc-125-ccpda-101-make-a-gui-for-everithing/ this also allows you to print out text, well although it's in a GUI, and you can print the text in every color you want to. I'm sure that I've not made it drawing every single Pixel!
Luanub #10
Posted 01 August 2012 - 06:45 AM
That's a little different then printing a colored image on a CC computer screen or monitor.

Here is an explanation as to why colored graphics won't work
http://www.computercraft.info/forums2/index.php?/topic/540-individual-pixel-and-color-control/


And here are a couple of post on colored text and why for the time being it will not be added as well.
http://www.computercraft.info/forums2/index.php?/topic/619-14next-version-colored-output/

http://www.computercraft.info/forums2/index.php?/topic/1283-colored-text-completely-new-idea/

Try the search feature, it works wonders….
Xfel #11
Posted 01 August 2012 - 06:47 AM
Ah thanks, so I don't have to write a whole explanation here.
xuma202 #12
Posted 01 August 2012 - 07:18 AM
Ok I know single pixel control is impossible. Agree with that.
And I can also understand this:

We've had color before it might come back eventually, it was using the minecraft color pallette, but it caused issues with functions in lua itself. However, the biggest fact about color changing is the same thing with graphics. The "asshole" factor.


Lets take Xfel's idea… and use term.color = red (something like that affect)

Then, everything after that is colored red (therefor you only needed to send a small amount of extra data cause you just changed the color.

Well this where the asshole factor comes in when users are given "pretty things"

text = "Hello World"
while true do
term.clear()
term.setCursorPos(1,1)
	 for x = 1, text:len() do
	 term.color = math.random(1,16)
	 write (text:sub(x,x))
	 end
end

Your now sending twice as much data as before for the same amount of text.

Now, this really isn't "too" bad for colors, but it REALLY prevents graphics like people want. Cause imagine if someone used the same setup, but decided to try each PIXEL as a different color.

So all in all, i would say we can expect text foreground coloring in the future, after the issues with lua functions can be resolved, but I don't believe it's a "high" priority item atm.

But you could simply limit the amount of color changes. So that you can make up to maybe 20 Color changes per Monitor.

I see the biggest problem here:

The main reason colours aren't in is because they do not fit with the vision of the mod. It would be trivial to implement (the minecraft text renderer does support colour changes) and indeed was accidentally enabled in the first version of CC.
Cloudy #13
Posted 01 August 2012 - 08:50 AM
Coloured text is something that we are thinking about - so all hope is not lost :ph34r:/>/>
mad-murdock #14
Posted 01 August 2012 - 11:46 AM
Coloured text is something that we are thinking about - so all hope is not lost :ph34r:/>/>

for my intention, ceiling/floor placeable monitors would be far more important than color though
xuma202 #15
Posted 01 August 2012 - 06:40 PM
Other way to reduce traffic rather than limiting the number of color changes is reducing the refresh rate. So when you have a normal monitor changes are allowed ever n ms and when you have a monitor that uses custom colors the number of changes per time gets halved.

I'd recommend this way of doing it because it gives the user a choice do you want a fast but simple monitor or a slower one that can print in colors
Pharap #16
Posted 06 August 2012 - 08:23 AM
You could meet halfway and make it so that the print function accepts colour as an optional argument (which defaults to white) and the write function does not accept colour. Or have colour as another disable-able option. That way people can use multiple colours, just not on servers where it's disallowed. After all, you've got to let people be responsible for their own actions and choices. If they want to slow down their minecraft for the sake of a coloured screen, I say let them.

Of course, I'm not rushing the programmers into doing it, I'm just saying there's no reason to not do it.

Although changing the default colour of the monitor without going into config files would be nice.