I set out on a mission to learn Unity perhaps a couple of years ago now. I ported Balloonz to Unity (using UnityScript), and wrote a shallow port of Jake Gordon's Finite State Machine. It was a brief flirtation, cut short by the fact that I hated UnityScript with a passion. The problem for me was that I know browser-based JavaScript really well, and UnityScript is superficially similar syntax wise, so I'd get myself into trouble by assuming how things (like arrays for example) would behave. BPACpV8CQAIM0uE Recently, I decided to have another go at it - this time creating a Breakout clone using C#. And this second time around, I was already familiar with the Unity Editor, and had basic knowledge of how Unity's Entity-Component-System-But-Not-Really works. I got the game working really quickly, and surprised myself at being able to create a level editor (by importing Tiled maps) with a trivial amount of effort. tiled-breakout Now I'm working on a point-and-click sci-fi adventure game - something original for a change. But I still remember how disheartened I felt that first time around. sci-fi-thumbnails The path to success is rarely a straight line. Nothing you ever learn is wasted - it might subconsciously inform your decisions, or directly inform your actions later. You can't predict the future. Don't be down on yourself if you don't get it right the first time.

Unity Breakout Clone: Level Editor

I've not forgotten about the Breakout clone that I was working on. Truth be told, I haven't looked at it in over a month.

Since the last post, I re-implemented the exploding brick type and the SFX that I lost, and created a level editor that imports .tmx level layouts from Tiled. I have a layer for brick colours, a layer for brick types (1hp, 2hp, multiball, indestructible bricks, etc), and a layer for powerups. There's also an 'extend paddle' powerup.

I'd say this is somewhere in between Breakout and Arkanoid/Brickout in terms of features. I think I've learned everything that I set out to learn from it, so I'm going to shelve it for now.