Beer, booze or bytes: Make your own Homebrew!

What is Homebrew?

The term "Homebrew" is defined by Webster dictionary as "beer or other alcoholic beverage made at home." This definition which is the most commonly used would refer to the making of beer and wine at home. But beer is not the only thing that is "brewed" at home and referred to by this term. Homebrew also refers to the creation of software, typically video games that are produced for proprietary platforms or via official development kits.

Homebrew software exists for nearly every game console that has been developed. These projects are usually developed as a fun side project or a challenge. Systems such as the Atari 2600 still have an avid homebrew community, even though it was released in 1977. Skilled programmers have been able to create games that really push what is possible the system.

Homebrew is a great way to learn new skills or enhance and refine existing ones. Writing video games can be a fun exercise for picking up a new programming language. In most game development there are a number of components that go into the overall package that is delivered. And being that they are video games it helps add a little fun and entertainment to the mix. Today, with the explosion of app ecosystems video game consoles are not the only venue for your homebrew development. Development of games and apps for systems such as iOS and Android can teach useful important skills.

Making Your Own

I myself have developed a number of Homebrew games over the years. A few years back I was interested in learning more about C programming, and had recently acquired a PlayStation portable system. Being an ambitious developer I decided to write software for it. I started with a fun challenge of porting the source code from a DOS based game to the system. I successfully was able to port the code from a 3D shooter called Heretic to the system.
This was quite a fun and interesting process. Since the game had been written for completely different hardware there was quite a bit of specific handling for things like sound blaster audio. I was able to do most of the development through a partially working emulator that had been available at the time. After getting it to boot I moved on to running on actual hardware.

Through this process I learned about challenges of moving between platforms and quite a bit of reverse engineering. Having to follow the code around a system I was unfamiliar with, in order to adjust its functionality. It is a skill used very frequently in daily work. And it was a very good opportunity to examine the source code of a successful commercial game. I since went on to develop other games for the platform from scratch using those skills learned with this initial project.

Bolster Your Portfolio

Homebrew can be a great way to showcase your skills. Some of these systems are very challenging to write code for. And can be great portfolio pieces. I once got a job interview because I mentioned some of my homebrew projects on my resume. Now a days it’s very easy to share your finished apps or games and turn your hobby into a secondary source of income. A few years ago I started learning JavaScript programming. I had decided to start developing simple homebrew apps for my WebOS phone as a way to help me learn. I started with simple games like blackjack and solitaire, and moved on to write about 10 apps for the platform. I was able to submit these apps and sell them in their marketplace. This was not only great fun, and a good learning experience, but I also got paid quite well for the work.

Cheers!

Most homebrew these days is open source and freeware. It really is a great outlet for creativity and learning new skills. Which then in turn can apply to our daily jobs. So I encourage everyone to go make Homebrew!


Wow that is pretty impressive, I used to do a bit of the basic language that was available, I remember writing various little games like blackjack and dice games. And of course programming writing little apps for the complex math formulas we were learning. Always impressed with what people are able to do with hardware you wouldn't expect able to do that. Definitely part of the fun with homebrew development.

Add new comment

Restricted HTML

  • Web page addresses and email addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <h4> <h5> <h6>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>&lt;code&gt;</code>, <code>&lt;blockcode&gt;</code>, <code>&lt;apache&gt;</code>, <code>&lt;c&gt;</code>, <code>&lt;cpp&gt;</code>, <code>&lt;css&gt;</code>, <code>&lt;drupal5&gt;</code>, <code>&lt;drupal6&gt;</code>, <code>&lt;html&gt;</code>, <code>&lt;java&gt;</code>, <code>&lt;javascript&gt;</code>, <code>&lt;mysql&gt;</code>, <code>&lt;php&gt;</code>, <code>&lt;python&gt;</code>, <code>&lt;ruby&gt;</code>, <code>&lt;sql&gt;</code>, <code>&lt;xml&gt;</code>. The supported tag styles are: <code>&lt;foo&gt;</code>, <code>[foo]</code>.

About the Author

Peter Bliss, Developer

Peter has worked with various programming languages and systems. Ranging from the early days of writing text based games in Basic for the C64 to writing homebrew games in C for the Playstation Portable. Spending the majority of recent years working on e-commerce projects and Drupal web development. In his free time enjoy's anything creative, and has crafted various types of homebrew wine and beer.