Lunar Launcher

Lunar Launcher was a concept for a game that we came up with during our first course: Game Design Documentation. As a class, we started rambling about a brick breaker clone as an example of mobile game design. We came up with the idea to use gravity to throw projectiles around the moon to defend the solar system and it all just came together. Several months later when we started our first mobile project, we decide to try and realize that idea!
 
 

Build Environment

This was actually my very first game ever made and my first time really coding anything (after “Hello World”, of course). This project was done in Java using the Android Studio development kit.

How It Went

Dev

Although this was a project with 3-person teams, it was our very first coding project after about a month of theory so it was a unique learning experience. For me it was cool to finally apply the calculus I learned in high school (and re-learned for this course) and see it come alive on screen. This is where I realized the power of math in a game development toolkit, and started to see the game concepts I had studied for so long for what they really were; an elegant coordinated system of equations.

My two partners were responsible for the player input and menu flows, while I handled the core gameplay elements. The brick layout for each level uses a 2D matrix to hold the grid and could be easily edited in the code using a legend of variables that determined what brick would be placed in each position. The collisions are handled using a single point for the ball(s) checked against the edges of each brick every frame (only when the ball is above the center of the screen vertically to reduce unnecessary checks). I struggled a lot with the ball physics, as over time they would get more and more erratic and behaved less and less like the math would suggest. In the end our professor did a bunch of debugging to make it look nice, and I didn’t have the base understanding of code at the time to understand what went wrong. I am confident that this would be a trivial programming task now that I have dealt with half a dozen other languages and game engines now and problem solved my way through much more complex systems. Not to mention I can actually trace and debug my own code now.

Design

I did every asset for this game from scratch. Since it was our first game project, and our scope was intentionally very small, I figured in order to get a cohesive stockpile of imagery I would be better off making my own, and it only took 2 or 3 days with some time in between to discuss direction with the team.

The goal was very minimalistic while still having enough present to solidify a theme and colour/shape language. I designed the “Borg cube” like-boss so that after you clear each side he would rotate and give you another “level” to play while simultaneously telegraphing to the player how many levels there would be in each stage as you could see the previously cleared sides each time it rotated.

As a whole I think it has a really quaint but evident flavour that resonates through the whole thing. I am glad the video got to show off the multiple tiers of block density with their respective colour variations, as well as how they can be used to make some interesting levels (the goal is to basically break the top-most brick so you can shoot a ball into the core of the alien ship). I am really happy with how this one looks for our first project, but it taught me from that point forward to really focus on the code integrity since we had such short time budgets for each game.