Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the Breakout!
This the development blog for Breakout, the classic Atari-2600 game originally made by Steve Jobs and Steve Wozniac in 1976. Yes, these are the Steves' behind Apple, which is the reason for this game's ongoing popularity. You might still not know exactly what game I'm talking about so let me give you a referance:
To read more about the original Breakout game, please visit this Wikipedia link
About the project
As an assignment for one of my object oriented programming classes, I am to make this game using Python. To help me I've got pygame which is a cross-platform set of Python modules designed for writing games. A precode has been provided as a way to start us off, but I usually end up rewriting most of the code to my liking. I'm going to blog about the process of making a game from start to finish. Having a background in gamedevelopment, I'll provide the means of starting a project like this for yourselves. Introducing methods used by industries for developing software. I'll publish all source material and provide links and guides to download all software used for developing this game.
In the process of developing games/software you'll discover that a lot of knowledge is obtained simply by trial and error. Hours and even days are spent simply because you don't know where to start, what to learn and how to obtain/use the correct software. I'll teach you all you need to know for making your first game.
To get you started
Before we get started, there's a few tools you're going to need.
UNIX based OS
When developing software at the basic level, there's always a lot of navigating through the Terminal/Shell. Doing so is (in my opinion) much easier if you're using a UNIX based operating system like macOS or Linux. You might be reading this on your Macbook or iMac. In which case you can skip these steps, a macOS version will be out shortly. If you're sitting in front of your School laptop or home desktop running Windows 10, fret not. There are many options for getting a UNIX based OS, most expencive of which is going out and by an Apple computer. On the cheaper side, you can download Linux for free and install it on an older computer via an USB stick. Another option is dual-booting Linux as a second OS on your current computer. This however may prove troublesome for inexperienced users. Me myself owns two laptops, one Macbook Pro running macOS High Sierra and another HP laptop running Ubuntu 16, and one beefy desktop running Windows 10. I code on all of them, but when at home I usually tend to sit at my desk writing on my preferred mechanical keyboard. If you're like me and like working on your home desktop with multiple displays, I recommend running Ubuntu Linux on a virtual machine like Oracle VM.
Installing Ubuntu on Oracle VM
- Determine your processor's architecture: You need to know if your system is 64- or 32-based. This is done by going to Windows Settings and clicking the About tab. Next to System type it should say eighter 64- or 32-bit. Allso take note of what processor model you have. It may come handy later. This guide will assume that your system is 64-based.
- Download Oracle VM from here.
- Download Ubuntu 16 from here.
- Open Oracle VM and create a new virtual machine: Name it Ubuntu, select type Linux and version Ubuntu (64-bit). If 64-bit version is not avalable, google your processor model to determine if it supports Virtualization Technology (VT-x). If so you need to enable it in your BIOS settings before making a virtual machine. Next select how much RAM should be given to the VM. 2-6GB should cover it. Now click Create and allocate storage space for your VM. This should be a fixed size so make sure to give it enough space for all your future projects.
- Install Ubuntu onto the VM: Goto Settings and select Storage. Now click the empty disk and choose virtual optical disk file. Navigate to where you downloaded the Ubuntu.iso file and select it. When you run the VM, Ubuntu will run as a normal OS install. See this guide for installing Ubuntu.
- When the installation is complete, you must unmount the iso file and reboot Ubuntu. Now log in and youre set!
Install Terminal packages
First of all you'll need to do an update: Get updates on Linux by entering this command into the Terminal
sudo apt-get update
Install updates with
sudo apt-get upgrade
Your version of Linux might allready have come with some of these applicationes so before installing any of the following packages, first check if they're allready installed with:
Should give you
git version 2.7.4 or higher.
Git is what we use to keep track and save progress when writing code. This is an industry standard and should be learned by everyone wishing to develop sofware. The earlier you learn to use Git, the better experience you're going to have writing code. To learn Git visit codecademy.com. A document summing up the most important Git commands can be found among the Breakout code. To install Git, enter in Terminal:
sudo apt install git
Python 3 is the language we're going to write the Breakout game in. This is an object oriented programming language and a great starting point for learning to write code. To learn Pyton visit codecadamy.com, but note that this course is written in Python 2. You'll notice some differences in the Breakout code, but fret not. They're not that different other than some syntax. Python 3 is most likely already installed on Ubuntu so make sure to check with
python3 --version before installing. If not, run the following command to download Python 3
sudo apt install python3
Pygame is a set of modules for Python that makes it easier to write games. To download Pygame, enter
sudo apt install pygame
Visual Studio Code
In order to write code you'll need a text-editor. Any text-editor will do, but usin one suited for writing code is a great contributor of wrinting well and structured code. I'm using VS Code because it's open source and has support for all languages and packages I use. You can allso use Sublime Text or Atom, but with VS Code you can download extentions that helps you write good code. Installing VS Code is probably more familiar to you than installing through the command line/Terminal. Simply go to the Ubuntu Software app, search for Visual Studio Code and click Install.
Now you've got all the tools you need to start developing games in Python. I recommend visiting Codecademy one final time to take the Command Line Course before continuing. This will teach you how to navigate your machine using the most powerful tool there is; the Terminal. To make the Terminal more readable, I recommand installing Oh-My-Zsh!.
I know this was timeconsuming and probably strange, but remember; the learning curve is steep and you'll be a pro at this in no time! If you've come this far, it means that you managed to arrange a set up for endless gamemaking completely free of charge. I need to leave right now, I'm attending a Java conferance, but I'll be back shortly to tell you what I have in stock for us!