Blog Comments

  1. ijed's Avatar
    Another mind-blowingly awesome blog rtm.

    pernickety ftw!
  2. fatman689's Avatar
    Quote Originally Posted by rtm223
    Crazy awesome, is what I think you mean
  3. rtm223's Avatar
    Crazy awesome, is what I think you mean
  4. Bremnen's Avatar
    Rtm, u CRAAAaazzyyy.
  5. rtm223's Avatar
    Yeah, I noticed this in the beta and reported it.

    The ternary digital signal with a proper 0 state is only used by the directional-type inputs and there aren't many sources that can produce it (analogue sticks, 3-way switches and combiners are the only ones that spring to mind), so it's a little bit less of an issue, but it is incredibly annoying that the nodes break it - as they should be null components. As far as I can tell this concept only exists because of backwards compatibility with the 3-way switch (arguably the combiner was partially invented to replace 3-way switch logic.

    Guess it's too late for this one to be fixed... guess it's time to find a use for it instead
    Updated 02-03-2011 at 09:14 PM by rtm223
  6. Shanghaidilly's Avatar
    BTW, found a very strange anomaly when dealing with controllinators. Drop a timer and set the input for forwards/backwards and hook up the left/right output of one of the joysticks. If you get in the controllinator and press the stick to the right, the timer will start to fill. If you release the stick, the timer will stay where it is.

    Now, make a very small change - when hooking up the joystick to the timer, drop the wire on your circuit board to create a node, then hook the node's output to the timer. Should be the same, right? It isn't. Now when you press the stick to the right the timer fills up, but when you release the stick, it empties. ANY circuitry introduced between the joystick's left/right output results in the resting position of the stick to result in a NEGATIVE output value. It's also strange that a probe still reads the output as zero.

    To say the least this was driving me CRAZY! ...and still is.
  7. Shanghaidilly's Avatar
    I've tried building your timer based sampler and I think I have it working. But it's not storing the sign of the signal, just the magnitude. Is this what you're seeing? With the retail version of LBP2, I'm seeing some different results than you've outlined here in these pages - the combiner, for instance never returns the sign of the signal. I'm using Balorn's probe, and his tutorials don't agree with your findings. I just need to find out who's right and I realize that most of this is based on the beta, not the retail version. Do you have any updates? Thanks for your work btw.

    Update: I took a totally different course of thinking on this and I have it working perfectly. LBP2 is so different than standard electronics it makes you think of thing in a totally different way. Thanks again for providing me the foundation to get this to work.
    Updated 02-03-2011 at 02:55 PM by Shanghaidilly
  8. Shanghaidilly's Avatar
    Good stuff!!

    Question on the splitter. If it provides the magnitude on one wire, what's the value on the other? Zero?

    If so, using two of these I've designed a min() function circuit that results in the true minimum analog value and not just based on magnitude. Working on a max() function circuit now.
  9. rtm223's Avatar
    If you use the adder techniques in my earlier blog, then they re-route overflow into additional adder circuits (and encode overflow into multiple wires). If you just wish to discard overflow then you can just leave those negative outputs unconnected and you will add the inputs with a ceiling of 100%

  10. phort's Avatar
    Do you know if there's a good way to handle overflow when you add past the max/min? I'm multiplying a signal such that the result can be greater than 100, and rather than clamping max value, it apparently starts to decrease. I'd like it to clamp to 100% instead, but I can't think of any way to handle it.
  11. rtm223's Avatar
    snap :

    I have full text for the next installment, it's missing a couple of pics though, so I'll get those done and publish ASAP - especially as you're stealing my thunder with your working out how to do the stuff I'm trying to teach you before I get chance to teach you it

    Edit, not quite snap but close enough, the principle of the two samplers in parrallel is the same thing

    In fact, looking at your version, it occurs to me that the AND gates are completely redundant - you don't need them at all, I think we've both just added them because they feel right, but if you take them out I'm almost 100% sure that it will still work. Scratch that - it won't work at all. But prefixing or postfixing the AND gates around the timers makes no odds, both designs work on the same principle and both are perfectly good solutions, just stylistically different
    Updated 01-24-2011 at 11:03 AM by rtm223
  12. phort's Avatar
    I figured out how to continuously divide a signal by an integer! What do I win?

    The timers on the left have their max time set to (the integer you want to divide by) / 10. I'm dividing 100% by 3 here, (timers at 0.3s) and you can see on the sequencer that my output is 33%.

    I took inspiration from your sampler, but used two timers that are constantly resetting so instead of taking an input to take a sample when I get an input, I can sample continuously, and output from one when the other is resetting.

    I feel like somewhere in here there should be a way to multiply by a large number besides repeatedly doubling it to do a sort of binary-style addition system.

    Edit: Also, are you planning to do more of these?
    Updated 01-24-2011 at 09:58 AM by phort
  13. rtm223's Avatar
    Yes, you could do that, which is actually quite a nice little method
  14. phort's Avatar
    Rather than having a backup sampler on your atomic sampler, why not just return the input value for that one frame using a relay?

    Wouldn't this eliminate the 1-frame delay as well, making it (possibly) the same as your last example?

    Other than that, nice job! Very useful resource.
    Updated 01-22-2011 at 03:49 AM by phort
  15. rtm223's Avatar
    What's that, you reckon 23+34 gives 57??? You crazy kids with your weird .... Oh, hang on

    Yeah, that was a bit of a fail. Fixed it now though. Cheers for the correction
  16. Shifty Geezer's Avatar
    Awesome articles rtm223. When I first looked at LBP2 I lamented the lack of proper analogue devices like a value store, but it turns out these features are just buried in its mechanics. Many thanks for doing all this work to uncover and explain it all.

    I did notice what seems to be a significant typo though, with your adder:

    o = 100 - ( 100 - 23 - 34 )
    o = 100 - ( 100 - 43 )
    o = 100 - ( 57 )
    o = 43

    I was expecting to see o = 57 at the end ! You also shouldn't add the two subtraction terms at the second line because you have a minus between them. I understand the need to do a list of subtractions, but you should parenthesise the first operation to show that happens first. I think it should read:

    o = 100 - ((100 - 23 - 34 ) : (This shows explanation of add as a series of subs)
    o = 100 - ( (100 - 23) - 34 )
    o = 100 - ( 77 - 34 )
    o = 100 - ( 43 )
    o = 57

    As for creating a sine wave, I've managed that using dual oscillating timers (outputs change each other's direction) feeding into a direction combiner, oscillating postive/negative output, and piping that into another timer with input set to Speed Scale. This oscillates around 0.5 though, but can be normalised as you described in part one.
    Updated 12-17-2010 at 07:42 PM by Shifty Geezer
  17. Kitkasumass's Avatar
    The conveyor is easy. Make your platform 10 small grid units wide. Set the piston to 500 max,0 min and a time of 40 or 80 and the emitter frequency to 0.1 or 0.2. I'm pretty sure that's what I used. But it's still a bummer that you can't do this in the BETA. I wanted to make a waterfall out of that water type glass material.
  18. mutant_red_peas's Avatar
    I still can't get a good conveyor......

    The one in my roast was a fluke!

    But I have cleverly (?) devised


    Now, instead calculating the emitter frequency using numbers we already have, why don't we make up one?

    For example, the emitter frequency is fully dependable on the other numbers as they calculate its value. But say we make up it's value, we can then try to calculate the other numbers from it.

    Now since I'm doing this JUST AFTER I turned off my PS3 for the night, this hit me (why does it always happen then? Can't it happen an hour earlier?!). I tried it once or twice using things I can remember.

    The piston max. lengths and minimum lengths were 350.0 and 5.0 respectively.

    Now using the theory I have just written, can someone work out the other factors?

    I use my calculator and always seem to end up with a long, tedious answer.

    Post a message on my visitor messages page if you have an answer
  19. Kitkasumass's Avatar
    I don't know if anyone will see this. But I made all the things here in your tutorial. And they all work great. But I was messing around with them in the LBP2 beta and there were some issues. It seems to me that the emitters are a little bit different in LBP2 as of right now. If I just pulled out the waterfall emitter and placed it everything worked fine just like it did in LBP1. But if I saved the piece of waterfall(the exact same one I was already using) and stuck it in the emitter, it didn't work. So I started messing around and I just made some square pieces of material. Still can't get it to line up. I can get it to be within about 1 small grid from each other but that's if it's moving really slowly. The faster I speed it up the more space between objects until it is just emitting every other piece again.
  20. rtm223's Avatar
    For funzies?

    No, you won't need this knowledge to make things work in LBP2, just in the same way as you never needed hardcore LBP1 logic to make things work in that game and many of the "top" creators don't have mad logic skills. But, fully understanding the tools at your disposal allows you to achieve more.

    Not to mention that the whole LBP engine is simply fascinating, from a software and engineering standpoint. It's a completely unique toolset, with very few design paradigms that haven't been lifted from other places and shoehorned to fit. Developing the paradigms to fit this toolset is one of the most interesting technical challenges I've ever come across.
Page 3 of 15 FirstFirst 1 2 3 4 5 ... LastLast