Recently, a friend who I’ve been in fleeting contact with over the years messaged me out of the blue, asking if I’d like to take part in a little side project. While I probably shouldn’t give away too many details, it’s a game, and it’s going to involve Unity. Part of the on-boarding process for the project team includes an assessment of development skill with Unity: Recreate the classic game Breakout.
I have three weeks to build a working copy of Breakout, emphasizing use of the Unity Canvas and Sprite classes. I also have to produce three modifications to the original formula: A menu/options screen, a “Doomguy”-esque facial expression indicating the mood of the events on screen, and another modification of my own design. This wouldn’t be that difficult, but the date of completion is rather tight: January 3rd.
Right off the bat, I’m painfully aware of my limitations: my home computer is sloooooooow. I’m running a five-year old laptop with Win7 x64, 4GB of RAM, a bunch of bloat, and a few bad sectors on the hard drive, so just getting Unity to install is a chore.
All in all, between installing Visual Studio and the Unity runtime and environments, it took close to three hours, a restart, and several attempts. Getting a new computer is going to have to be my New Year’s Resolution.
In the meantime, I’ve been thinking about exactly how I want my Breakout mods to work. I’ve been supplied a spritesheet for “Doomguy”, and I want my custom mod to be the Thru-Brick powerup, in an homage to the very first Breakout game I ever played, DX-Ball for Windows 98.
It’s not the most visually appealing powerup in the game, but I feel it will be achievable within the given timeframe, and it’s always been my favorite (aside from Level Warp and Extra Life, which don’t make sense in context). I want to spawn a falling power-up with an arcing path, which when collided with the paddle, will set a flag to deactivate the ball bouncing off of bricks when hit, effectively letting the ball travel “Thru” the bricks. I’ll need to think about how to enable or disable collision between sets of objects in Unity to achieve this. If this all goes well and I find myself with extra time, I can start implementing other powerups, and not have to reinvent the wheel. But first, I have to get the darn thing installed!
Doing a bit more research online, I came across a TON of tutorials for making a Breakout clone in Unity; it doesn’t surprise me that there’s this much interest in recreating the classic game as a learning project, since it’s simple, extensible, and not terribly complex. I think I’m going to start with the noobtuts tutorial, not because I’m a noob, but because it’s the first one I found that is explicitly for Unity 5 using their new 2D project type. (I don’t need that extra dimension right now, anyway.)
Hopefully, next time I get to sit down with this, I’ll be able to get the project set up and pushed to my Github account so interested readers can follow along. Until then, though, we’ll both just have to wait.