Napero's awesome blog

How to (not) build a rubik's cube in LBP

Rate this Entry
O hai. Some might remember me, some might not. There was this one project I had, you can look it up in my previous blog entries. I tried to create a rubik's cube in LBP2. Sounds difficult? Impossible? Complicated? Well, I decided to make a step-by-step guide on how to make a rubik's cube in LBP2. Or actually... well, you'll see...

Step 1: The idea

It's January in the year 2011. You have decided to finally create something amazing, something mind blowing. What could that be? An action packed level? Nah, I did that already in LBP1 and it took me 2 years to complete something decent. What about a puzzle? I'm not too good at being original. What if I recreate an already existing puzzle and expand on it... nah, too much work for basically stealing an idea. A rubik's cube then? I wouldn't be showing off the actual puzzle. No, everyone probably knows how a rubik's cube works. I'd be showing off the fact that I actually created one. Yes! That's what I'll do.

Step 2: The start

I take out my actual cube and look at it for a while. This can't be too hard, it only has six sides that rotate. Piece of cake. I create six microchips, one for each side. Each one of those gets 8 microchips inside them for every little piece. Thinking for a while I come up with a solution on how to show what colour that side has at the moment and what it will have after a turn. This needs some notation. Every piece has to be thought through on where each side can go. I spend most of my days in classrooms writing down some codes for myself. No one seems to understand what is going on even though I keep telling myself this is fairly simple.

Step 3: Coding

Finally I have mapped out all the little notes and codes I need in a notebook. Time to "transfer" them to the actual game. This takes a while. I ran into a couple problems on which switches will be activated when but adding some delayers and timers and stuff to each and every microchip should take care of that.

Step 4: The realization

Finally after months of work I have all the little codes (or actually tags on tag sensors and the tags) mapped out. Time to make a system that allows me to actually make the moves just to see what it actually looks like. While doing this I realize a terrible mistake. I haven't made a difference between a normal turn and an inverted turn. Forcing the player to turn 3 times for an inverted turn is not an option, the whole system has to be rebuilt.

Step 5: Desperation

All my efforts have been for nothing. All that hard work. I could probably use some of the stuff I have and only rebuild half the stuff but after all this I really don't feel like doing anything more to the cube. I have given up. Eventually I try to create other "normal" levels to no avail. As always, I have set the standards for myself too high and nothing I create pleases even myself. This leads to me working days on a little project only to end up deleting everything I worked so hard on just because I'm in a creator's block for the millionth time. I get frustrated and slowly lose interest in LBP altogether.

Step 6: Time goes on

Suddenly I have finished school... or what you would call high school in America. Because I am in Finland and happen to be male I have to join the Finnish Defence Forces. I end up being there a year. That's a whole different story though, but it's nothing too serious. I am not going to war. This is just something Finland has to maintain our defense just in case. Anyway... suddenly wibbly wobbly timey wimey it's the year 2013 and I have picked up interest in LBP again. Here we go...

Step 7: Back to the start

I look at the cool levels. The front page has the same syndrome LBP1 had. I try to make a new awesome level. Same thing as before, I'm never happy with anything. I have too many awesome ideas in my head and way too high standards. Then I find a long lost friend. I join in their game. We end up creating together and eventually I happen to mention my cube project. I go to my moon and we look at my little disaster together. I never had the heart to delete all the logic. All that useless logic. Out of all the things I have created and deleted for no good reason, this was not one of them. This cube has been haunting me for too long. I have to restart. It is time to finally make this happen.

Step 8: A new cube

I think through all the past mistakes I made. There was just logic, I never had a clear picture of what was going on. I might have been able to tell what every little piece does but spotting mistakes was impossible (until it was too late, as happened before). This time I create a little microchip experimentation for myself. Six colours, spinning side and changing the alignment. Seems to be working and I totally can expand this to the large scale. Next thing I know I have created six actual moving pieces which I will fill with microchips at some point. The pieces can move and I actually have the controls pinpointed. I even tested how well I'd be able to make it work. I counted the amount of different pieces, different sides and colours. I made that many pieces of sticker material. It works. Not too much lag and in the final product only a fraction of those lights would be on at the same time.

Step 9: Some new challenges

The way I coded the sides turning would require me to design a completely new way of controlling the sides as I also want to be able to look at different sides and keep the controls simple to the player. This is probably doable, just takes a while to code considering a cube has six sides and each side can be held in 4 different ways. Not too impossible for me. I am feeling confident again and I actually had a real quick start with the new cube. Another thing would be how the actual cube would look. I have a rough idea but am not exactly sure. I will find a way.

Step 10: Wait... what

Just for fun I decide to search through community levels and see if anyone has had the same idea... Yup, there it is. A fully working rubik's cube. Well... there goes my originality. I could do it a bit better and easier, and also be able to turn the cube around properly. Or could I? I haven't exactly found a solution for all this yet, just some ideas floating around in my mind. I have been certain of success before and failed miserably. After working on a cube that failed two years ago, picking up from the start and not exactly running into any real problems yet, I have decided to quit this project. At least for now. I feel very useless. I have only created one really original level that I am actually proud of. Kinda... now that I think about it I did rush it at the end. Maybe that's a good thing though. I tend to get frustrated and had I not quickly finished my level, we would probably not have a level called "cool guys don't look at explosions", not even today. Chances are it would have been left hanging around on my moon or even deleted are quite huge. Anyway...

Step 11: The future?

As far as I know, this whole rubik's cube project is over for me. I'll focus on more traditional levels with wannabe deep storylines. Will I ever finish anything? Time will tell. As for the cube, there might be some questions you have. Why not just finish it if I am able to do so? Well... it has lost its magic. I am no longer the first one to build one and improving on someone else's level isn't making up for it. Maybe there could be a level called "the rubik's cube". Maybe. I also thought that far. There would be an incredibly complex and BORING level. As I said quite early here, everyone knows how a rubik's cube works. People would just see it as a technological accomplishment. And then what? I would be told to get a life and I would be back at the start with a new project to build and probably even higher expectations on myself. I want to keep loving LBP and that is not the way to go. My perfectionism and frustration is making it extremely hard for me as it is.

Final thoughts

So there you have it. Probably no cube from me. At least not in the near future. Or any future, considering I'm moving out to start my studies of English in Turku (city in Finland) and I probably won't have a PS3 or a TV for a while. I will survive though, don't you worry. We will see again soon, I promise. That is, if you want to keep in touch.

Thank you for reading, it was real nice to write a bit about myself, a project and my relation to LBP here. Keep on rockin', people!


  1. SR20DETDOG's Avatar
    My perfectionism and frustration is making it extremely hard for me as it is.
    I feel you mate, pretty much the story of my life, I get this way with almost everything I do.

    If I can offer some advice...
    Try to finish the cube, forget being perfect or original, it's not easy but just finish it.

    The satisfaction of actually finishing something tends to outweigh the disappointment of it not being to the standard you hoped. If it's never finished you get all the disappointment without any of the satisfaction.

    And just as an idea for viewing/rotating the cube if you do get back into it.
    I think something like this would work well,

    Having all sides visible individually, as well as a rotatable isometric view.
  2. napero7's Avatar
    That's really nice and would probably work but the finished cube I saw was only visible from one view and all sides visible at the same time in a nice kind of way. I wouldn't really want that. I want it to feel as close as possible to a real cube. Rotate the actual cube around to see stuff, that's the plan.

    This project isn't really scrapped, it won't be deleted (which is saying a lot about me) but it has been put on hold once again. It might take a while before I work on it again. There's a couple good reasons for this. One reason being time. I work during the day so there goes most of my time this summer. After this summer I'll start studies so there goes another portion of my time. Not only that, there also goes any chance for LBP with probably no TV or PS3 for a while. Spending the last bit of free time I have left this summer to something I won't finish in time isn't really a good idea. Maybe later... much later perhaps... thanks anyway