Zero-hour game jam 2015

I have yet again competed in the 0hgame challenge, where one is to make a game in “zero” hours, or when the time gets set back due to the end of daylight savings time.

Yet again I will be thanking video game name generator for the idea and concept. Brace yourselves for:

Radical Harvest Pimps

What a fitting topic for the Halloween season? Onto how I implement this in the game. You play as the farmer, and you must defend your harvest of pumpkins from one greedy pimp, who desires to kidnap and sell your pumpkins for himself. His legs are stronger. How long can you hold him off?

You start with a score of 5. You gain points by touching a pumpkin. You lose points by letting the pimp take the pumpkin.

Movement – W A S D
Left Mouse Click – click pitchfork to start

Play Online


Capture Capture2 Capture3

Strange delays running zsh

As a lot of fellow users of the Z-shell, I have oh-my-zsh installed to make installing plugins and themes easier. One issue I was having earlier today was every time I typed a command or pressed return, it would delay for a couple seconds while displaying ‘xcodebuild’ and then ‘git’ in the title bar. This was very frustrating, as it made quick work more difficult.

After a while, I thought manually updating the repository would be helpful. I went into ~/.oh-my-zsh and ran `git pull`. I then received a message saying similar to You must run as root to agree to the license. It hit me that I did an update of the Xcode command line tools earlier in the day. I ran `sudo xcodebuild` and followed the prompts to accept the license. This caused the delays to vanish. Thought I would share if anyone else had a similar problem.

Computer vision for controller-less robot control

It is legal (currently) to use computer vision of humans during autonomous mode to command a robot in FRC. This has been accomplished before by other teams, such as The Cheesy Poofs. We designed a different algorithm that allows for control of speed as well.
The Ratchet Rockers have designed two different methods to accomplish this control. The first one implemented resembles 254’s more directly as it is OpenCV. It searches for an object (via color threshold) and uses its position to determine the speed and direction of the robot. This has been tested to work reliably.
We also worked on a similar method later using skeleton tracking. One hand tracked works the same way as the previous solution. The other can be used to send specific action commands to, for example, launch a ball at the target. There are some irregularities that occur if the program has been running long, which we haven’t been able to overcome yet. This program is alternatively written in C#.NET using Microsoft’s own kinect libraries on windows. We don’t have confirmed results on the robot yet, but it uses the same protocol as the previous solution.
Even in the off season time of summer, our team 1706 continues productivity in vision and control solutions.

Security in the face of SSL vulnerabilites

Just yesterday, the news broke of a large exploit in popular software that powers the security of large parts of the internet. Within minutes of hearing about it for the first time, I took action to protect my website, even though it was midnight and I was super tired.

My website was secured well before some other large ones were. For extra security, I generated new security keys (my certificate was to expire in a week anyway). Hopefully an exploit of this magnitude will not occur again anytime soon.

Why heuristics-based antivirus sucks

Today I attempted to download a game I wrote many years ago as a little kid to play again for a small dose of nostalgia. What do I find? Norton removed the file not because it contained a virus, but due to a “reputation” algorithm. I would never inject malicious code into my applications, however the multitude of users relying on such “Anti-virus” software would see the alert and forever remember me as a person attempting to cause harm to their computers. A simple “helpful” algorithm intended to prevent viruses leads to lost trust in applications developers and hurt feelings for game makers simply attempting to replay their past creations.