I’m pleased to announce that Horror Block Breaker has launched and is ready to play on madeyegames.com. If you like horror movies and want to play an indie game that has sprites based off of horror movie villains and weapons in the films, then this game is for you. Your job is to use your mouse to move the paddle and prevent the ball from falling off the screen while you destroy all the blocks. You have three lives per level with the exception of the final level. Do you have what it takes to survive Horror Block Breaker? Any feedback you can provide for me after you finish playing is greatly appreciated. I can apply your feedback and suggestions to the final edits of my game and the next game I’m already designing. That’s right folks. More games are coming.
How to access the game
Step 1. Click the ‘Games’ Menu Button at the top of the menu.
Step 2. Scroll down to where you’ll see a grey screen.
I’m pleased to announce that I finished making my first game, Horror Block Breaker. The coding, level design, artwork and playtesting are finished. All that remains is securing permission to use certain soundtracks for the levels which is easy to implement. Now that the journey is nearly complete and I can almost share the project with my fellow subscribers, I thought I’d take a moment to reflect and talk about what I learned in the process.
If you haven’t guessed from my blog posts, I’ve always wanted to make games and eventually go pro. At the advice of game developers I look up to, I enrolled in a course on Udemy.com teaching how to design games in Unity using C#. (I know it sounds like a bad pun, but bear with me). After learning how to make an Arkanoid mini-game, I decided to take the next step and expand on what I learned. What I thought would take a week ended up taking several months since I had to learn different coding mechanisms and how to draw pixel art. I never had any professional training in art or coding so everything I wanted to implement I had to teach myself on the fly. After a long four months of trying to make a small game while writing an E-book, I finally finished the game.
Admittedly it’s not ground-breaking, but it’s a step in the right direction. While making this project I’ve learned a few things that I thought might be helpful to people wanting to make video games. As you read this keep in mind that I’ve never had professional training and my advanced degree was in Japanese literature and translation, so I’m the last person who should be making something, but I did it! And if I did it, that means anyone can do it.
10 Lessons I learned while making a game
1. You must make everything and take responsibility for implementing your ideas.
If you ever made a mod or a game using a map editor or world builder such as what you find in Age of Empires, or Warcraft 3, you were spoiled. The beauty of those level designers is that the images and sprites have mainly been provided for you so you can instantly start placing units on a map and feel as though you’ve accomplished something within minutes. When it comes to Unity, you have to make every aspect from button presses, user interface, background images, the level editor itself, sounds, special effects, music, and gravity. It takes a lot of work, but once you’ve accomplished building the editor inside Unity and getting your prefabs all taken care of with a sprite canvas, you’re ready to hit the road. By the end of it, you’ll get this immense feeling of accomplishment.
2. Making a game by yourself can be very time consuming if you don’t have a plan or lack certain skills.
How many levels are there? How many different objects will be added? Do those objects need a sprite or image attached to them? How long do you want the game to be? How will the player interact with objects? What is the build order and how the player will get from the start screen of your game to the credits? What kind of scripts will you need to make? Do those scripts need adjustments?
Asking these questions and getting organized with how many levels you want, what you want to exist and identifying the components you need to code can really help. When I was designing Horror Block Breaker, I made a checklist of assets (monster sprites for the balls and paddles, scripts, game objects, and music) I planned to incorporate in the game and designed them one at a time.
Overall everything turned out to work well until I needed to learn how to code a life system, a timer, and other assets to make my game different from what I learned in the Udemy course. Learning how to draw and makeup for my lack of skills also took time. You can bring outside help, but that will likely cost money. Since this was a fun project I wanted to make for my YouTube subscribers and myself, I decided to make everything except the music due to the theme of the game.
3. Make a Minimum Viable Product (MVP) and share it with people to get some feedback.
While I only made a few videos on my project, getting feedback from my YouTube subscribers really helped since they were honest. They told me whether or not the game was original, if the art was good or bad, and what they wanted to see changed. In the beginning I had an idea for the game, but wasn’t sure what people thought about it, so I asked my audience on YouTube for their thoughts based on showing them a level. I received nothing but positive feedback and went from there. If you have any sort of online audience, definitely get their feedback.
4. When starting out, keep your game design projects small.
Start smaller….Smaller than you think. I mean like 1 or 2 levels small if you’re a beginner when it comes to coding and art. I’ll be honest when I say that although my game only takes about 30 minutes to complete, I bit off more than I could chew for my first attempt. In my goal of trying to make my game unique with different shaped paddles, blood effects, monster-themed sprite balls, a life system, and a timer, I was jumping all over the place in my Udemy course. I was learning, but it was aspects of game design that were meant for the very end of the course. When I did learn it, I felt lost, confused, and out of place. Learning from my mistake, I plan to my next game much smaller and will focus on executing certain game mechanics well.
5. 1 hour of gameplay = about 100 hours’ worth of work.
I’ve heard this expression from developers many times. After struggling to make a basic arkanoid clone with unique aspects, I can say with confidence they were right. I worked on my game for about two hours per day sometimes more, and although my game is about 30 minutes in length, it took around 200 hours+ of work. This was because I had to design sprites, teach myself how to draw pixel art, research coding and make guesses outside of my course work. It also didn’t help that Unity’s game development documents weren’t complete, causing me to search in the depths of the internet for an answer regarding two lines of code.
6. No matter how good your code may seem, sometimes it just won’t work.
Originally, I had this idea of adding a game timer that would make a player score based on how quickly players would beat a level or die in the game. To accompany this, I also wanted to make a life system where players would gain a life after beating each level. After scouring the internet for documents and video tutorials, everything seemed to be going okay, but for some reason the clock would jump ahead between 20 – 45 seconds when you beat a level and your life counter would multiply by two! After a week of fiddling around not knowing or understanding what I was learning, and not progressing at all towards a finished product, I disposed of the timer and score system. I think that eventually I’ll get good enough to make those kinds of changes, but for now I’m pleased with where the game is at.
7. You have to be willing to let go.
Remember that time when you were working on something and you never felt satisfied with it? Maybe it was a term paper, a project, a piece of art, or a fun hobby where you’ll always find something you wish you could add to make your project better. But at some point you just have to let go. Had I kept my game smaller in scope by reducing the levels in half and not adding any form of a life system, the game would’ve been finished in two months instead of four.
8. Finding a social balance when you make games is important.
Making a game requires you sitting in front of a computer screen for hours on end and it can be lonely. It’s really helpful to have a social outlet, particularly an active one to get you recharged and to just escape from your dorm room, apartment, or house. Thankfully I had my frisbee group, board game group, and friends I could spend time with. Make sure you are getting exercise and social interaction.
9. There is no sole method to solve a problem or implement an idea in your game.
When I was trying to get my ball to position on the paddle when the player lost a life, I found what was close to 10 different ways of accomplishing the same thing. In this sense, coding can be compared to a spoken language where there are multiple ways to communicate a particular point across. In the end it is just a matter of preference. Some ways are easier and others are more difficult.
10. Remember to have fun!
At the end of the day, no matter how frustrated you become or how long it takes to implement something, you need to have fun making your game. When I got stuck working on a gravity glitch, I started fiddling around with different paddle shapes and 2D colliders. That fun little distraction gave me the idea of making unique paddles in each level. You never know when a spur of the moment experiment could lead to a new game mechanic.
I hope this article brought some insight for people wanting to make their first game whether its as a hobby or perhaps a professional app that makes money.
I feel like I’m slowly getting back to normal after recovering from moving and just being sick. So I took it easy this week and focused on artwork for Horror Block Breaker. I’m still working on a couple of the sprites for paddles and balls such as Freddy’s glove, but progress is good. While I can’t show everything since it’d spoil the game, I’ve shown a couple of sprites and a new weapon in this video update below.
Today’s post will likely be short, since I don’t want to reveal too much about the game. What I can say though is that the artwork is coming along well. At this rate I should have some cool things to show on this Tuesday’s Game Dev video update and perhaps even one of the new levels if I feel it’s ready. I also discovered some additional tweaks to add for the Jason level. Such as blood to the machete, and a brighter background so players can see the black blocks easier.
One of the main issues I’ve come across is distinguishing between two characters because they both have similar facial features. I’m not going to reveal them, but I think you’ll see why once the final version of the game is done. While I don’t think the full version of the game will be done by this Tuesday, I think I can get it ready to have my friends and family test it by next week. Below is the before and after shots of the Scream-themed ball I was working on. I tried to get a general outline of what I wanted to use and then I focused on angling the mask to match the film. Since I’m only using two colors, it didn’t take too long to create, but I’m proud of how the second version came out.
(Before) Getting a general outline of the face
(After) Working on angles, polishing, and adding some shadow where the hood is.
To improve my art skills I’ve joined some online pixel art courses, so hopefully the art will improve in the next games I make.
I finally feel like the game is going places with regards to progress. Today I launched my first video update for game development on my YouTube channel and I hope to make it a weekly post. One of the major things I need to work on in general is just being consistent with uploading when it comes to YouTube. So while I work on the more advanced videos, I can post a quick game dev update. This video features a first draft of one of the levels in my game: Horror Block Breaker. Check it out below at the bottom of this post!
Goals for the game next week:
fix the broken ball code so the ball doesn’t get caught in a boring loop (where it bounces from side to side)
finish the sprites for the paddles and if possible the balls as well
finish the rough outline of the remaining levels
Incorporate feedback from the comments in the video below
start incorporating sound effects into the game
add cracks in the blocks to show they’ve been hit (2-hit blocks and 3-hit blocks)
add blood spurts when blocks are destroyed
Long term goals (week after next, but I understand they could take longer):
arrange for 8-bit music to play in each level (I have content creators in mind to ask for permission to use their music for this project. We’ll see what happens).
I felt like I didn’t accomplish enough yesterday to warrant a blog post on my progress, but today was great. I finally figured how to make my own sprite sheets using an art application and then transfer it into Unity and edit it futher in detail. Sprite sheets are a collection of images that show how a particular item, character or object in a game has changed. For example you might have a door that is closed, slightly open, and completely open. Three stages of a door represented by three different images. Sprite sheets can be useful for setting still images on your level or if you wanted to make a quick animation. I’m taking a Udemy course to help me get the fundamentals of Unity and I’m enjoying it, but as I saw yesterday, sometimes progress can be slow.
Sample sprite sheet of vechicles
Yesterday I was trying to import multiple sprites at a time into Unity… I struggled. This was a real struggle fest in that my images would appear in Unity, but for some reason Unity believed my collection of images was one big image. I didn’t realize it until I watched my class lecture multiple times. Apparently the distance between my sprites designated by transparent space wasn’t large enough for Unity to register multiple images. Once I figured out how to add any type of sprite from my sprite sheet into a game, I realized I could save so much time. Now something that took more than an hour to understand, will now just take me 10 minutes. The sprite sheet below will show you what I mean by having transparent space between images in your sprite sheet. If the transparent space isn’t big enough, Unity will think you’re inserting a large picture. Note: These images do not represent the final product for my first game, they were just used for a test run to understand the concept. These are bricks that show damage over time. I am not using these in my final game since I borrowed the top sprite from my course for practice. The bottom three images were created by me.
Learning how to use a Sprite Sheet in Unity: Remember transparency is key.
As I keep proceeding with game development, I know I will encounter more road blocks along the way, but I’ll keep on trucking. This Tuesday I’m hoping to show off a draft one of my levels for the game with a completed Jason brick model that reacts to hits. Let’s see if I can pull it off.