Episode 2 – The Witness, Braid, Jonathan Blow

Episode 2 - Card

In this Episode I discuss The Witness, Braid and how the two games do or do not exemplify the principles Jonathan Blow has given numerous talks about. I go into a little background on Jonathan Blow as a game creator and programmer, and some of his ideas on game design.

At the end I share some thoughts on following the seven year development process, what I learned about making games, and some strategies Jonathan Blow used for reducing risk when working on a game.
Continue reading Episode 2 – The Witness, Braid, Jonathan Blow

Make 2D Games with Ruby and Gosu – Part 5: Automate Test Runs with Guard RSpec

In this video we’ll look at how have our tests automatically run as we make changes to either our code under test or our specs. This is incredibly useful for speeding up the development cycle by getting instant feedback on changes. We’ll also fix some problems with deprecated syntax in our tests.

In this video we’ll be looking at how to add a build status badge to the project. We’ll do this by using Codeship to automatically run our tests every time we push code to our repository, and showing the status of our master branch on our Github README.md. We’ll also be looking at how to open a pull request on Github and merge changes into our master branch once our feature branch build succeeds.

All the code for this tutorial is available on my Github account. I’ll be trying to keep a reasonable commit history if you wish to step through the project history.

Continue reading Make 2D Games with Ruby and Gosu – Part 5: Automate Test Runs with Guard RSpec

Make 2D Games with Ruby and Gosu – Part 4: Continuous Integration with Codeship

In this session we set up continuous integration using Codeship.

See how to automatically run your tests every time you push code. Learn how to add a build status badge to your project on Github to show others that your tests are passing.

Bonus: We’ll also walk through opening a pull request on Github for a feature branch, and merge it into the master branch once our tests pass.

Continue reading Make 2D Games with Ruby and Gosu – Part 4: Continuous Integration with Codeship

Quickly see your most recent git branches

I use git all day, every day. I also created a lot of small feature branches. It’s really useful for me to quickly see the most recent branches I’ve been working in. This reminds me which branch I should check out for a change.

I added a little alias to my .zshrc file that looks like this:

alias grecent='git for-each-ref --count=10 --sort=-committerdate refs/heads/ --format="%(refname:short)"'

This shows the most recent 10 branches. You can easily tweak that number. In my terminal, if do the following:

$ grecent

I see this for a project with only three branches:

See the most recent 10 active git branches
See the most recent 10 active git branches

Make 2D Games with Ruby and Gosu – Part 3

Sorry for the long delay in posting videos in this series. This is a long video at 90+ minutes. There’s a nice preview of where we’re heading at the beginning of the video. It’s actually starting to look like a reasonable game.

I recently made a good amount of progress on this project to prepare for a presentation I gave to about 30 engineers on building games in Ruby. This video attempts to catch up on about 50-75% of the changes, covering the code that is tested.

I hope to follow up soon with a video on TDDing to introduce some of the untested, spiked improvements I made to prepare for my talk. Those changes include player state (death), playing songs, randomly generated levels, and adding new items.

I’ve submitted a talk to Ruby on Ales 2016 and hope to be able to speak about this there. Please let me know if you have any feedback on ways to improve this series.

Terminal Customization

My current setup
My current setup

Why, David? Why?

What kind of maniac would want to spend precious time customizing their terminal? Well, if you spend a lot of time there, like most software engineers and web developers do, it can be well worth your time. In this article I’ll breeze through some of the core tools you’ll need to create the above masterpiece.

Continue reading Terminal Customization

Practice Japanese with Nintendo 3DS Games – Episode 3

Awhile back I made some videos about using a (Japanese) 3DS to practice Japanese. I forgot to share them on the blog! I hope to do some more in this series as I pick up and play more game in Japanese. Despite how stilted they are I had a lot of fun doing them, though the process of shooting and editing video takes me a long time.

In Episode 3 I discuss the specific games I’m using. Learn what kinds of games will help you and which ones may cause you trouble. If you missed the prior videos they are critical, please revisit them.

Practice Japanese with Nintendo 3DS Games – Episode 2

Awhile back I made some videos about using a (Japanese) 3DS to practice Japanese. I forgot to share them on the blog! I hope to do some more in this series as I pick up and play more game in Japanese. Despite how stilted they are I had a lot of fun doing them, though the process of shooting and editing video takes me a long time.

In Episode 2 I discuss the specific 3DS system I purchased. Be careful not to pick up a Western 3DS as the games are region locked (yuck!). You need a Japanese 3DS to play Japanese games.

Practice Japanese with Nintendo 3DS Games – Episode 1

Awhile back I made some videos about using a (Japanese) 3DS to practice Japanese. I forgot to share them on the blog! I hope to do some more in this series as I pick up and play more game in Japanese. Despite how stilted they are I had a lot of fun doing them, though the process of shooting and editing video takes me a long time.

In Episode 1 I discuss the reason I chose to pick up a Japanese 3DS and use it to practice Japanese. Learn about what to do and what not to do when going this route.