Adrian Herbez Rotating Header Image

Posts under ‘projects’

More fun with OpenSCAD

So I’ve been having a great time with OpenSCAD of late, and made a couple of small models:

  1. a parametric Lincoln Log-style building piece (with options for diameter, length, and number of slots)
  2. a die-like cube for tracking damage in World of Darkness pen-and-paper RPGs

I love OpenSCAD, and I also love thingiverse. To check out the models and download them for yourself, head over to my thinigiverse profile.

projects , ,

Binary rings (via OpenSCAD)

So a while ago, I started in on a project to create a tool for generating wearable ring models with text encoded in binary based on the ASCII values of each character. I put the project aside a while back, but recently I discovered OpenSCAD, a fantastic tool for programmatically defining 3d models.

OpenSCAD totally rocks, but is a little strange in that variables aren’t, strictly speaking variable, since you can’t change their value. As a result, instead of writing openSCAD directly, I created a Python script that takes a string as a command line argument and generates the OpenSCAD code to make a ring with that phrase around it. The above image encodes ‘OpenSCAD rocks my world’.

The next steps are to make the script take a ring size and thickness, and then I’ll likely be setting up shop on Shapeways to sell these.

projects , , , ,

Projection party game (Things)

This was a small project I put together for my girlfriend’s birthday party. She wanted to play a party game whereby:

  1. a topic is presented
  2. each player writes out a response
  3. all the responses are read aloud (with ensuing hilarity)
  4. everyone tries to guess who said what

I put together a web-based version of the game that we then projected onto the wall of her living room. The game is controlled by a strip of controls along the bottom of the page which, when presented fullscreen, is cut off by the way I had the projector set up.

The controls allow for a new entry to be entered, with both the name of the person that said it and what they said. Only the actual statement is shown, with the name being hidden. Once everyone has submitted their answer, the ‘Reveal N’ button steps through each answer, revealing who said what.

The topics come from a simple MySQL table, but new topics can also be entered on the fly via javascript (to allow for audience suggestions). If you would like to try it, head here, or click on the image above.

projects , , ,

Game Roller

Just threw together a small tool to help generate game design ideas. The page presents two game mechanics (drawn from the excellent list at Board Game Geek), and two subjects. Mousing over either mechanic shows the description, and reloading the page presents a new combination.

To check it out, either click on the image, or go here

projects , ,

Earthquake data viz demo

I just put together a small demo for the Experimental Interactivity class that I’m teaching this semester at the Academy of Art, and thought I’d post the result. It’s meant to demonstrate:

  • grabbing data from the web (in this case, a CSV file of recent earthquakes
  • altering the data to suit one’s needs (via PHP)
  • writing the data out as XML
  • reading XML into Flash

Pretty simple demo, but not bad for a few hours. All of the earthquakes in the past week are rendered on the map, with a dot that is scaled based on their magnitude. Moving the mouse from left to right across the map causes different quakes to become hidden or visible, depending on magnitude- move left to see small quakes, and right to see larger ones.

To see it in action, and to have a look at the source files (if you want), head here

projects, teaching ,

Minecraft player skins papercraft tool

mskinThis was a way to generate buildable papercraft templates from a given Minecraft skin image, written in javascript.

To check it out for yourself, go here.

projects ,

Howard the IRC bot


Last week, after two years of valiant service, my macbook HD finally died. Fortunately, I had everything backed up and/or committed to external repos, so I didn’t lose anything. I did have to reinstall everything, though.

So, while waiting for things to install, I whipped up a small IRC bot (“howard”, so named after the dolphin sidekick in my favorite book of all time) that can be used to send love (of the Linden Lab, love machine variety) amongst my fellow Cull.tv compatriots.

The bot was written in PHP, using NetSmart_IRC, and stores love in a really simple little db table on my site.

projects ,

Cryptogram maker script

I sat down to work on the cryptogram solving interface from the last post a bit, only to find that the CoronaSDK API reference site was down. So, I decided to spend the allotted time working on a support tool instead. I wrote a simple Python script that:

  • reads in a list of statements from a file and, for each of them:
  • randomly generates a substitution cipher
  • encodes the statement into ciphertext
  • prints the original statement and the ciphertext version to a file

Nothing spectacular here, but it will make testing a lot easier, and will eventually grow into a proper content-creation tool. It’s almost usable as such as-is, but I want to add in some heuristics for estimating (and perhaps even adjusting) the difficulty of the resulting cryptogram.

projects , ,

Cryptogram solving interface

I recently started work on a mobile game for Android and iOS using the CoronaSDK (which I’m loving so far), and one of the mechanics in the game is the solving of cryptogram puzzles.

I just put together a first draft of what the cryptogram solving interface will look like. Features:

  • User can touch a letter to highlight all occurences of that letter in the ciphertext
  • User can (with a ciphertext letter higlighted) select a letter to replace it
  • The selected letter then appears over all occurrences of the ciphertext letter
  • The selected plaintext letter is greyed out to indicate that it has been used
  • Once all the letters have been filled in correctly, the app recognizes that the puzzle has been solved

projects , ,

Corona SDK- first steps

I’ve started playing with the Corona SDK just recently. It looks to be a great way to develop games for both iOS and android devices, and (as a bonus) relies on Lua. Finished a simple demo last night, where a player character responds to a screen touch by walking over to the point indicated, playing one of four different directional walk cycles.

The code isn’t the cleanest, but it’s enough to let me start to get a feel for the way Corona deals with sprite sheets. All of the art assets were lifted from Open Game Art– an awesome resource for game demos.

projects , , ,