My first project on GitHub!

In my recent post Showing off code is hard I concluded that I wanted to focus more on sharing, the community and open source code.
A few days ago, I took a first step in the right direction. I created my very first GitHub repo! I forked this repo. It’s a simple demo of a multiplayer game using HTML5 Canvas for rendering, and SignalR for the network communication.
You can find my repo here. It’s called ‘Jetpack demo’, and builds on the foundations laid out by the original project. My goal with this project is to experiment with scalability, performance and manageability of games built on this simple stack. It’s not a real game, rather a proof of concept. At the moment, it only allows players to connect and fly around in the canvas. That’s about it 🙂
I really like the GitHub workflow so far. I’m using both GitHub for Windows and TortoiseGit. Putting small projects like this one online has a lot of advantages:
  • Instant backup
  • Can instantly show my creation to the guys at work 🙂
  • Maybe it helps/inspires someone
  • …and also…
…it puts some structure in my workflow!
Contrary to my projects at work, my personal projects tend to turn into a mess quite often. I start over a hundred times, throw code away only to realize I want it back, and I try to implement too much features at once. Working with Git (or any other version control system) makes me work more structured, even for mini-projects like this one. I do small, incremental updates with clear commit messages instead of dumping big-bang boatloads of code. This is a nice experience, so I’m going to put a lot of projects on GitHub in the future!
Specifically for this project, I have no real clue where it’s going. Worst case: it just sits on GitHub and gets abandoned. No harm there. It’s better than sitting on my harddrive.

But I might put some cool stuff in. Next things I might implement:

  1. Integrate a lightweight javascript game framework. Current #1 option for me is, but I’m considering other options as well (let me know if you have a good one!). This abstracts away some of the canvas-related stuff and allows me to have an efficient and clear game loop.
  2. Experiment with simple physics, using server-side simulation and client-side motion prediction

Footnote: I often have the ‘my code is not good enough to release to the public’ syndrome. But more recently, I stopped giving a damn. If everyone thought that way, we’d still be in the stone ages of information technology 🙂


2 thoughts on “My first project on GitHub!

  1. The guys at work are looking forward to your next i-really-need-a-coffee-first-but-after-that-i’ll-show-you-the-awesomeness-i’ve-built-last-night entrance in the (rather late) morning 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s