Hello All!
Last weekend was my second Ludum Dare, and it was quite an experience again. Vibrastones, the game I made, divides the playspace in two. On one side you have a small box containing an abstract platforming level. Outside of that box, there are stones. If you click on on any platform or stone, it will emit a tone. You drag the stones over each other to make tones matching the platforms. This moves or scales the platforms to make the game playable. I basically interpreted “Connected Worlds” as connected play spaces. So how did it go?

What went right?
Concept: I had a hard time brainstorming this time around. Last time, I had about 10 ideas after 15 minutes. This time, it was over two hours to come up with two ideas. Those became one idea, and this was it. That being said, iterating on a single idea, instead of choosing from a list, benefitted the game. I think this is more interesting than something I would have just spat out without iteration.
Scope: I am apparently a good judge of my own skills. I have been using Unity for a while, but I don’t really do it all the time. So, I have to keep things pretty simple. That being said, I finished things almost exactly when I thought I would. I am pleased with the time management on that. Trello helped a ton on that end.
Sound: I am pretty happy with the tones I created. I based all of the synth arpeggiations on a Tristan chord, which created an interesting and ambiguous tone. The actual playbacks are a little bugged, but I’ll get to that in the next section.
Sleep: I decided to get to bed at 1 AM on saturday, and get a solid 6-7 hours. My work on Sunday was much more efficient as a result. I also made a lot less mistakes thanks to being well rested.
Visual polish: OK so it isn’t gorgeous, and I never did get to touching up the yellow stone. However, I am glad I took the time to polish up some of the assets, and create backgrounds, title screen, etc… It looks rushed (because it was), but I think it makes the game feel more complete.
Tool Selection: I used tools I have worked with before, and serve my purposes well. Unity, LSDJ ASEPRITE, GIMP, and Audacity are my go to tools. I threw iTween in as well. It is a good enough tweening library, but unfortunately I will be including it in my “what went wrong” section. I am glad I went with tools I could get up and running in quickly. I don’t really keep a library of unity scripts, but at this point I can get up and running pretty quickly. It really helped me not get bogged down, just getting the first prototype running.

What went wrong?
Sleep: OK I know I included this in the first part as well. On Friday, the theme was announced at 9PM for me. I worked until around 6 am, slept for about 3 hours, and got back to work. MISTAKE. I was slow, and prone to typos. I also had trouble finding those typos. The extra sleep would have netted me hours. Lesson learned.
Sound implementation: I am not going to get into the nuts and bolts of how the sounds are played, but it’s glitchy. It often just stops after one stone is removed from a stack, even if there are other stones in the stack. I needed to come up with a smarter playback system. I also heard some complaints about the volume level. I should have made an audio slider or something.
Level Design: I haven’t done a ton of level design, and I really should have spent more time on this. Of the 5 levels I made, at least the first two can be passed just by stacking all of the stones. I know how I can fix this, but it was just too late at the time.
Puzzle design: Trial and error works too well. If I had added even one more stone, it would have increased the possible combinations enough to make trial and error inefficient. Similarly, the game only supports pairs of stones. If it could also support combos of 3 or 4 stones, this would also increase the possibilities. At a point, I think this would stop players from using trial and error, and force them to actually listen to the tones.
Platformer controls: The way I am detecting if the platformer player character is grounded is a bit sloppy. So jumping can be a little weird, and sometimes you cannot jump when you should be able to. It was a last minute solution to keep the player from floating through the level.
Sloppy code: At some point like 30 hours in I just stopped paying attention my naming conventions. Please don’t look at my source. THE HORROR. If I want to continue work on this (and I do), I have a LOT of cleanup to do.
iTween: I basically did a “Hello World” with iTween prior to the compo, but had never used it before. MISTAKE. Ultimately, I couldn’t call the iTween events the way I wanted to, so I had to do 90% of the animations in the Unity animator. It isn’t a bad tool itself, I just really wanted to try out iTween. I am using the Shake Rotation tween, which works well enough for my purposes. This isn’t really a criticism of the tool, but I should have spent more time with it prior to LD.
Collision detection on stones: The stones are meant to have a bit of an aura, so they collide a bit before the sprites are touching. This is inconsistent at best, and makes the vibrations look really glitchy. I very much need to clean that up.
Conclusion
Overall I am happy with the results, and I will probably continue with development on the project. There is some level of novelty to the concept, and I think I can make some nasty little puzzles with it. This was, again, a great learning experience, especially in terms of finding my limitations. I will spend the next four months improving, and see you all for Ludum Dare 31. Oh, and please check out and rate my game! http://www.ludumdare.com/compo/ludum-dare-30/?action=preview&uid=34376 Thanks for reading!