A challenge for all
Quote from Lpfreaky90 on December 11, 2012, 8:38 pmThis is my solution;
10 entities and 2 outputs per button:
https://dl.dropbox.com/u/37801279/twp/button_test.vmf
This is my solution;
10 entities and 2 outputs per button:
https://dl.dropbox.com/u/37801279/twp/button_test.vmf
Quote from FelixGriffin on December 11, 2012, 10:29 pmprotoborg wrote:My solution is fairly simple (in my mind, anyway) and will be the one I go with unless someone comes up with something better. My solution is below. I have hidden it as I still want to see what others can come up with.[spoiler]The player presses one more pedestal buttons that are keyed to some sort of logic gate series. There is a row of nine cube buttons that are require a cube be brought from another part of the level. The cube buttons are tied to the door. If, at any point, all nine buttons are active, the door opens. The cubes can only be obtained in the rooms that unlock when the binary code is entered (the code is the binary value for the characters in "Protoborg"). There will, of course, be some sort of clue as to what the unlock codes are. I haven't quite figured out where I will put the clues yet.[/spoiler]
But how would you enter the code?
But how would you enter the code?
Quote from protoborg on December 12, 2012, 1:44 amFelixGriffin wrote:protoborg wrote:My solution is fairly simple (in my mind, anyway) and will be the one I go with unless someone comes up with something better. My solution is below. I have hidden it as I still want to see what others can come up with.[spoiler]The player presses one more pedestal buttons that are keyed to some sort of logic gate series. There is a row of nine cube buttons that are require a cube be brought from another part of the level. The cube buttons are tied to the door. If, at any point, all nine buttons are active, the door opens. The cubes can only be obtained in the rooms that unlock when the binary code is entered (the code is the binary value for the characters in "Protoborg"). There will, of course, be some sort of clue as to what the unlock codes are. I haven't quite figured out where I will put the clues yet.[/spoiler]
But how would you enter the code?
That's what the pedestal buttons are for.
But how would you enter the code?
That's what the pedestal buttons are for.

Quote from josepezdj on December 12, 2012, 6:46 amHey Protoborg! Interesting idea. I like this challenge!
![]()
This is what I've thought for the binary code entering (I think the part of the 9 cube_buttons and the door is pretty much easy or straight forward by means of logic_branches and a logic_listener). First of all it would be nice some kind of display to show the code, something similar to the timer examples I once posted, but with the following tweaks:
1. The display would have as many characters as you would need your binary code to be, say 8. Font, background colour, character colours and such completely customizable. Each character will be changed (if you follow my timer example) by an env_texturetoggle entity (so there will be needed as many as the number of characters your display will have, thus 8 ). In this case, the best output for the env_texturetoggle is "IncreaseTextureIndex"
2. I would use 3 pedestal buttons: one will fire the "0", other the "1" and the 3rd one would allow you to change the position in the display.
3. It would be good to use named light entities or even better light_spots (colour depending on your personal taste) to spot the position in the display you're playing with in order to enter a number.
4. In order to determine what code is correct, I'd suggest the usage of logic_branches (one per character) to output if the number in a certain position is "correct" (= value 1 in the logic_branch) or "incorrect" (= value 0 in the logic_branch). Imagining we need the 2nd and the 4th logic_branches with a value of 1 and the rest with a value of "0", we can use 2 logic_branch_listeners (one for the values "1", other for the values "0") to fire the final output only when our desired code is entered.
5. The way how you can change the position in the display could be to use a math_counter with a max legal value as characters the display has; and each time you press the pedestal button to change the position in the display, you increase the value in the math counter. Ofc a logic_case entity would be necessary here too, that would receive the invalue from the math-counter. Then depending on the value, the case will be that a certain env_texturetoggle (if you follow my timer example) will be enabled.
6. The key now is to determine what of the display's position is active in a certain time so that when you press any of the pedestal buttons that outputs the "0" or "1" these latter ones know what character to change. This can be done by using a new math_counter that stores the display's position values from left to right, for example from 0 to 7. Then a series of logic_braches, one per position, will be changing their value by a logic_case leaving only one with value "1" at a time. The key now is the outputs in the prop_buttons: I'd fire the "Test" output to ALL the these latter logic_branches, and this way, only the only which has a value of "1" will fire the output, thus change the number.
Ofc some logic_relays and logic_autos will be needed
... But I think this would be in general terms what I'd do.
Lol... I couldn't think of something more complex
Seriously, it's not that complex, it's only that I used several logic lines, one for each event I want to create.
What do you think?
Hey Protoborg! Interesting idea. I like this challenge!
This is what I've thought for the binary code entering (I think the part of the 9 cube_buttons and the door is pretty much easy or straight forward by means of logic_branches and a logic_listener). First of all it would be nice some kind of display to show the code, something similar to the timer examples I once posted, but with the following tweaks:
1. The display would have as many characters as you would need your binary code to be, say 8. Font, background colour, character colours and such completely customizable. Each character will be changed (if you follow my timer example) by an env_texturetoggle entity (so there will be needed as many as the number of characters your display will have, thus 8 ). In this case, the best output for the env_texturetoggle is "IncreaseTextureIndex"
2. I would use 3 pedestal buttons: one will fire the "0", other the "1" and the 3rd one would allow you to change the position in the display.
3. It would be good to use named light entities or even better light_spots (colour depending on your personal taste) to spot the position in the display you're playing with in order to enter a number.
4. In order to determine what code is correct, I'd suggest the usage of logic_branches (one per character) to output if the number in a certain position is "correct" (= value 1 in the logic_branch) or "incorrect" (= value 0 in the logic_branch). Imagining we need the 2nd and the 4th logic_branches with a value of 1 and the rest with a value of "0", we can use 2 logic_branch_listeners (one for the values "1", other for the values "0") to fire the final output only when our desired code is entered.
5. The way how you can change the position in the display could be to use a math_counter with a max legal value as characters the display has; and each time you press the pedestal button to change the position in the display, you increase the value in the math counter. Ofc a logic_case entity would be necessary here too, that would receive the invalue from the math-counter. Then depending on the value, the case will be that a certain env_texturetoggle (if you follow my timer example) will be enabled.
6. The key now is to determine what of the display's position is active in a certain time so that when you press any of the pedestal buttons that outputs the "0" or "1" these latter ones know what character to change. This can be done by using a new math_counter that stores the display's position values from left to right, for example from 0 to 7. Then a series of logic_braches, one per position, will be changing their value by a logic_case leaving only one with value "1" at a time. The key now is the outputs in the prop_buttons: I'd fire the "Test" output to ALL the these latter logic_branches, and this way, only the only which has a value of "1" will fire the output, thus change the number.
Ofc some logic_relays and logic_autos will be needed ... But I think this would be in general terms what I'd do.
Lol... I couldn't think of something more complex Seriously, it's not that complex, it's only that I used several logic lines, one for each event I want to create.
What do you think?
Quote from protoborg on December 12, 2012, 11:10 am@Jose: That sounds interesting and it is certainly much simpler than the method I came up with to trigger the exit door. I had thought to have each of the codes fed into a group of latches that would unlock the exit door. However, if you simple make it that the exit door is unlocked by nine cubes, that would make the final logic much easy to do.
@Jose: That sounds interesting and it is certainly much simpler than the method I came up with to trigger the exit door. I had thought to have each of the codes fed into a group of latches that would unlock the exit door. However, if you simple make it that the exit door is unlocked by nine cubes, that would make the final logic much easy to do.

Quote from josepezdj on December 12, 2012, 11:19 amYeah, I was assuming there would be like 9 different chambers where to get those cubes from, then a sort of final buttons area with the door inbetween and the corresponding indicator lights connecting the 9 buttons with the door. For this you only need 18 logic_relays (9 for "on" status, 9 for "off"), 9 logic_branches, one logic_listener and 1 env_texturetoggle. That's all
Although it's possible to build the map so the exit door is in the middle, the 9 chambers surrounding it, and the indicator lights coming from eeach chamber to the exitt door
Alternatively, you can also make a big letter appear on top of the entry to each of the 9 chambers after the player has completed it (one for each of your nick's letters)
![]()
I think the complicated part of this map of yours is the part I explained in the previous post.
Yeah, I was assuming there would be like 9 different chambers where to get those cubes from, then a sort of final buttons area with the door inbetween and the corresponding indicator lights connecting the 9 buttons with the door. For this you only need 18 logic_relays (9 for "on" status, 9 for "off"), 9 logic_branches, one logic_listener and 1 env_texturetoggle. That's all
Although it's possible to build the map so the exit door is in the middle, the 9 chambers surrounding it, and the indicator lights coming from eeach chamber to the exitt door Alternatively, you can also make a big letter appear on top of the entry to each of the 9 chambers after the player has completed it (one for each of your nick's letters)
I think the complicated part of this map of yours is the part I explained in the previous post.
Quote from protoborg on December 12, 2012, 11:35 amjosepezdj wrote:Yeah, I was assuming there would be like 9 different chambers where to get those cubes from, then a sort of final buttons area with the door inbetween and the corresponding indicator lights connecting the 9 buttons with the door. For this you only need 18 logic_relays (9 for "on" status, 9 for "off"), 9 logic_branches, one logic_listener and 1 env_texturetoggle. That's all![]()
Although it's possible to build the map so the exit door is in the middle, the 9 chambers surrounding it, and the indicator lights coming from eeach chamber to the exitt door
Alternatively, you can also make a big letter appear on top of the entry to each of the 9 chambers after the player has completed it (one for each of your nick's letters)
![]()
I think the complicated part of this map of yours is the part I explained in the previous post.
Yeah, you're right. I kinda like the idea of having nine chambers around some central "hub" room. I figured that's what I would do. The only challenge is, of course, that you want the player to understand that certain rooms are locked until the previous room has been completed.
josepezdj, I would love to work with you on this if you want. I could probably use your help with a project this large. You would get complete credit for whatever you do. I think this could be a very popular map. We may need to break it up into many smaller maps, but I think for now it is doable as one big map.

Although it's possible to build the map so the exit door is in the middle, the 9 chambers surrounding it, and the indicator lights coming from eeach chamber to the exitt door Alternatively, you can also make a big letter appear on top of the entry to each of the 9 chambers after the player has completed it (one for each of your nick's letters)
I think the complicated part of this map of yours is the part I explained in the previous post.
Yeah, you're right. I kinda like the idea of having nine chambers around some central "hub" room. I figured that's what I would do. The only challenge is, of course, that you want the player to understand that certain rooms are locked until the previous room has been completed.
josepezdj, I would love to work with you on this if you want. I could probably use your help with a project this large. You would get complete credit for whatever you do. I think this could be a very popular map. We may need to break it up into many smaller maps, but I think for now it is doable as one big map.

Quote from josepezdj on December 12, 2012, 11:46 amprotoborg wrote:josepezdj, I would love to work with you on this if you want.Well, dude, thanks for that!
Though, you know, I'm kinda busy atm with my own projects and some beta-testing... Only if you are not in a real hurry and you let me some time, I could help you out for example by making a smaller example showing how I would do it. This way you could implement the ideas you want into your bigger version.
Well, dude, thanks for that! Though, you know, I'm kinda busy atm with my own projects and some beta-testing... Only if you are not in a real hurry and you let me some time, I could help you out for example by making a smaller example showing how I would do it. This way you could implement the ideas you want into your bigger version.
Quote from protoborg on December 12, 2012, 12:09 pmjosepezdj wrote:protoborg wrote:josepezdj, I would love to work with you on this if you want.Well, dude, thanks for that!
Though, you know, I'm kinda busy atm with my own projects and some beta-testing... Only if you are not in a real hurry and you let me some time, I could help you out for example by making a smaller example showing how I would do it. This way you could implement the ideas you want into your bigger version.
Sounds good. That works for me.
Well, dude, thanks for that! Though, you know, I'm kinda busy atm with my own projects and some beta-testing... Only if you are not in a real hurry and you let me some time, I could help you out for example by making a smaller example showing how I would do it. This way you could implement the ideas you want into your bigger version.
Sounds good. That works for me.