Lotus: A game development journal..

Well, Saturday was my mum’s birthday, so I had to travel to that, and then Sunday was a bbq and repeat watching of “Guardians of the Galaxy”, so I definitely had to go to that! In the end, I think I started development at about 8pm Sunday, and finished at 2am Monday night, so a game in 30 hours was pretty impressive as a personal best!

Sunday was a bit strange.. I was thinking about the rubiks cube on the table and wondering if there was a way to portray all the connections on a flat plane without any lines crossing over.. I drew out lots of different diagrams with the transitions between the colours about thirty times, searching for one. The best happened when I started again and drew a cube almost corner on. Drawing the lines led to a hexagon with all the vertices joining. From there it turned into a triforce with semicircles on the outside, and from there, it turned into three linked rings.

I learnt pretty fast that I can’t draw circles on paper (or ms paint) to save my life.. So after tightening up the rings, I switched to Java2D and had to figure out the measurements by hand. To draw everything, I used CVG to construct Area objects based on the overlap of circles which I could then colour in. After that I had to figure out a data structure. Perversely, I decided to have a data structure which is based on Boolean logic. This meant that to decide on the location of a cell, it was either on the inside/outside track, or within the center or outside the circle. For all the movement rules, I had to get the colour of the cell into an array, alter it, then push it back. This took me to 2am for all the shifts and I went to bed.

On Monday, I realised that the rotations of the pieces had not been added, so I did that and added the lines to make the control buttons more obvious. I could have written Shift left, or L/R on the buttons, but I wanted it to be mysterious, alien and independent of language. These little lines were a bit of a time waste.. It would have been better to have hover highlight on everything.

For kicks, I set all the colours of a rubiks cube and sent it to my friends. It was 5pm. Coming back from lunch, I decided that I could make some levels a puzzle game. This meant that I had to create an obvious win condition, and come up with puzzles.. And that is how I spent a lot of the day, fiddling to set cells and fiddling to see if puzzles were completable. I guessed that the pieces that corresponded to corner pieces would be able to be put anywhere, so I used that in the rest of the puzzles. I wasted a lot of time corresponding the puzzles to the colours, and positioning the outer circles for the level selection. Coming up to 2am, I realised that the final 2×2 rubiks cube had no win condition, but the logic was slow to write, so I left it. I don’t think anyone noticed.. It’s not like I had anything to show afterwards!

I was surprised that the reactions to the game were so positive and that someone had the patience and skills to complete it! And I was also relieved that it was completable!

I think I made the correct decision to make 6 levels, rather than work on extra features I had dreamed about.. With cells turning into coloured balls and moving round the circle to the next cell (the locations and movements would have to be coded by hand). Sound would have been fairly easy, but I was worried that music would be repetitive if someone was playing for a while, so I left it out.

It would have been better if I had used WYSIWYG to determine where the circles should go, or made a function for click to select cell (and report the cell). I didn’t, and I found it especially difficult to go through a process of selecting the correct cell every time. This would have probably saved 5 hours.

Rate link: http://www.ludumdare.com/compo/ludum-dare-30/?action=preview&uid=19350