I used to love playing video games. But I eventually got bored with playing a lot of them. Every time I played a video game, I felt like I was just wasting time. The games were either too simple, and they seemed to barely have any strategy, or they were too complex, and I didn't want to put time and effort into them because I could be using that time and effort somewhere else. But creating video games was always something which was very fun to me. And it has practical use, too: it teaches me programming and computer science skills, and if other people like the video game, it means they get to have fun too. So I thought for a while about what game I wanted, and this came up.

What it does

The game seems very simple, but can have a lot of strategy. You have a square grid and your opponent has a grid. You put a turret on a square, and your opponent does too. Then the turrets shoot lazers. You keep placing turrets, and after each player's turn they shoot. The lasers damage things, like you're opponent's wall. If you break that you win, if they break your wall you lose. But the cool thing is, if the lasers hit each other, they combine. Red lasers are more powerful, blue lasers have more control (they make it so the combined laser goes in their direction more often), and green lasers exaggerate red/blue's effects. If you get a lot of lasers to combine, you get a very powerful spinning ball shot.

How I built it

I used Xcode and Swift. I made a cross-platform target so I could make it work for iPhones and iPads, but currently it only works on mac. SpriteKit has a lot of helpful things, but I actually made a decent amount of the game engine myself. I designed the entire game to work around grids: within the mechanics of the game, everything is on a grid.

Challenges I ran into

Staying optimistic and motivated, even at 4:00am, was by far the biggest challenge. I thought I wasn't going to made it. I was afraid I didn't have enough time, and by the deadline, my project just wasn't going to work at all. When the competition was 3/4 the way in, my game didn't even seem 1/4 done. It took a long time before I even got anything on the screen, I only had the background by Saturday at 3, and I didn't get anything moving until the final few hours. Other people I saw finished hours before.

Xcode crashed a lot. Honestly I believe Swift is a great language and Xcode is a decent IDE -- or would be if it didn't crash so much. About every hour it ran out of memory. At least it didn't wipe my hard drive -- back in 2011 Xcode would sometimes do that.

Accomplishments that I'm proud of

I actually made it. I finished the project on time. It has few, if any bugs, which is incredible: usually when I write code I spend a lot of time debugging, but for me a lot of the pieces worked. In the final few hours, after having stayed up the entire day and night, I went from something which only showed the game field to the entire game itself.

What I learned

Never give up

What's next for lAzR4t

Make customizable lasers so there's more strategy, improve graphics ... and figure out what else to do.

Built With

Share this project: