Posts Tagged Design

Posted on Programming

Don’t starve together

I’ve been playing Don’t Starve Together lately, and it’s awesome. There’s a constant sense of pressure imposed by the passage of time, days turn to night, a mild Autumn to bleak Winter. It makes any wasted time seem at worst dire, or at best mildly frustrating.

There are so many items you can cobble together, with twigs, bunny-flesh, and the like. At least 144, by my count. But unless you memorize their positions and ingredients, you’re going to waste a lot of time searching through categories for some item you’re sure you’d seen but just can’t seem to find.

I, myself, often kept a wikia tab open on my secondary monitor. But as I’m sure you’re aware, Wikia is slow and prone to annoying ads blaring sound this way and that. And even so, didn’t provide an ideal interface for that sort of thing.

I wanted to type in “charcoal” and immediately see what I could make. Or “crock pot” and see what I needed. Or even “science” to see everything that’s in that category.

And now I can!

The What can I make page is where I spend most of my time. The What do I need page is for those situations where I’m starting a new game, and know I want to create, say, 2 crock pots and 1 bird cage. It’ll tell me everything I need to collect to fulfill my crafting dreams.

If you find anything that doesn’t work, let me know, I haven’t tested it all that much.

I made it just using jquery. Then I remade it using backbone. Then I remade it using webpack, sass and react. Because why not?

This is the backbone version, because the react interface felt strangely clunky.


Posted on Programming

Chromatic Restitution!

Last Game Demo Festival (GDF4, if i’ve decremented correctly) I thought up a neat but simple game idea, and my implementation was truly terrible. The result? A submission known as Worst Game Demo Ever (WGDE) which shames me even today.

The problem was of course laziness.
At least some representation of physics was important to the design, and I had a very specific use of sound in mind. Without those it wasn’t so much a game demo, and very much wasn’t the one I’d intended.

I tried again with GDF5, but decided to try a physics library and settled on Box2d for flash. It wasn’t as difficult as I’d expected! I’m happy with how using it turned out. There were some strange issues that were almost definitely due to my misuse of the library, but avoidance solved those as it does most things.

In order to add a certain potential for complexity, each x position was to play a different note on collision. I totally (sorta) accomplished this using frequencies, sine waves, and the SampleDataEvent. For consistency in representation, the sound generated is stereo – loudest on the side it’s closest to (this is not the case in the example below).

Click the area below and then hit keys to play sounds

Once sounds and physics were basically implemented, I added the import game-elements including and consisting solely of an ability to accrue points. The point system works as follows:

var coeff = 1;
var bonus = 0;
var base = 10;
switch( e.value ) {
	case 2:
		coeff = 1.2;
	case 1:
		coeff = 1.4;
	case 0:
		coeff = 1.6;
		bonus = 5*(++explosionChain);
		if ( ballPool >= maxBalls )
var p:Number = base*coeff+bonus;
points += p;
dispatchEvent( new GameEvent( GameEvent.SCORE_CHANGE, points ) );
// Make it harder
if ( points > 25 ) {
	maxBalls = 2;
if ( points > 100 )
	maxBalls = 3;
if ( points > 200 )
	maxBalls = 4;
if ( points > 350 )
	maxBalls = 5;
if ( points > 600 ) {
	maxBalls = 6;

Pretty simple! The more times you hit a ball, the more points you get. If you eliminate a ball, you get a bonus proportional to the length of your elimination-chain (the number of balls you have eliminated in a row).
At certain score levels, your number of maximum balls in current play increases. If the number of balls in the ball pool is greater than or equal to that value on an elimination, a ball will be added to your ball pool. This is done so that players can’t simply eliminate the last one ball over and over.


So that is Chromatic Restitution! It’s closer to what I’d wanted, and I am happy with the result.

Of course there are some things I wish I’d added but forgot with the distraction of ever decreasing distance to deadline. Additional sound events would have added texture: wooshes when you miss a ball, some sort of triumphant ring when you eliminate one – that sort of thing.
Particles or some other animation on elimination, or even bounce (sparks) would have been nice. In general more colours, lights and sounds and movement. Casinos have taught me people love those things.

Karl added an OpenID thing to the GDF library. I attempted to add it to the GDF Overlay prior to my submission, but failed and was too tired and confused to worry about it. That would have been a nice addition as well.


Posted on Uncategorised

mini cards

I designed a card for my sister.

But they’re not your ordinary business cards, they’re mini. I didn’t even know that was an option!

And they’re a good one for her — since they’re a different size, they’ll stand out amongst the other cards; they’re inexpensive, and allow her to print in small numbers; and, you can have different images on one side of the card.

I’m not sure about the print quality, but $20 isn’t too much to find out.

Here are the images, but they include the bleeds because I was too lazy to crop and re-save them. There are 15 colour variations for the one side, and one shared information-side.

Posted on Art

Save the date

Apparently it’s a thing. News to me, but what do I know about weddings? Very, very little is what I know about weddings!

I did two save-the-date designs for Matt and Erin. They are getting married, not sure if you knew.

Posted on Business

Newspaper ads

It’s mysterious lack-of-website aside, Altered Effect is quickly becoming a design company. Which is cool! Design can be fun — and, you know, suspenseful.

Clients are definitely clients, but like many I suffer an urge toward diversity in task.

Am I traveling toward a lopsided portfolio, if ever one exists? Will I lose credibility when it comes to programming complex web-systems and sweet interfaces? It could happen — though, frankly, I doubt it. It would surprise me if many noticed or cared. Still, it’s time to get more programming contracts if I can figure out how.

That being said (up above, in case you missed it), I am very confident in my ability to program, less so to design. So all this design is hopefully a good sign!