Skip to content

Instantly share code, notes, and snippets.

View erikhazzard's full-sized avatar

Erik Hazzard erikhazzard

View GitHub Profile
erikhazzard / gist:8814760
Created February 4, 2014 23:45
View gist:8814760
//Logger library
// author: Erik Hazzard
//Provides a LOGGER object which can be used to perform client side logging
// Maintains a list of of all messages by log type. To log:
// LOGGER.log('type', 'message', param1, param2, etc...);
// e.g.,
// LOGGER.log('error', 'Woops', { some: data });
erikhazzard /
Created February 9, 2014 07:26
damage viz
erikhazzard /
Created February 9, 2014 07:37
damage viz
erikhazzard / gist:9015035
Last active August 29, 2015 13:56
Desining for Mobile / Tablet
View gist:9015035

Mobile / Tablet

I can speak only from designing mobile web apps, but I imagine the same holds true for mobile games. What I’ve noticed is that mobile users have short attention spans, largely due to things like being easily distracted by the environment (limitation of things outside their control). Of course, this makes sense. When I’m riding the subway, my signal cuts in and out, so I can’t really use an app that requires constant connection. If I’m out in public, there are noises and other distractions. In general, if I’m using my phone I have some time constraint (the subway ride will end, I have to move over when new people get on, etc.).

I cannot devote my full attention to the app on mobile, even if I want to. This is the fundamental difference between designing for mobile and designing for computers.

I think tablets fit somewhere in between. You aren't usually as distracted as you are on your phone, but I think it is one of the reasons you don't see very AAA style games that require a ton of atten

erikhazzard / gist:9015055
Last active August 29, 2015 13:56
Using Existing Symbols
View gist:9015055

Gnomes vs. Runomes

I like that you're creating a unique spin of a familiar concept. I love the idea. It's clever and I like, but it might be too clever for a general audience. What strikes your imagination more: Dragbol or Dragon Symbol?

Downside of "Runomes"

The downside of using a unique name is that it will be harder to gain traction because of lack of understanding.

Nobody knows what a Runome is. People have no preexisting attachment to the concept of a Runome. Growing up, we have experiences with concepts which we can easily latch on to later. Take the cultural obsession with Vampires, Zombies, Pirates, etc. Or, more relevant is the reuse of elves, dwarves, dragons, etc. in fantasy settings and games. I'm not in any way saying new races or creatures can't be successful (Avatar had new creatures and was incredibly successful) - my point is that people will have an easier time identifying with something they've already been exposed to and are familiar with.

A ton of games and clones of

erikhazzard / gist:9015107
Last active August 29, 2015 13:56
Gnomes and Essential Experience
View gist:9015107

Essential Experience

After playing HayDay a bit more, the gnome concept is coalescing for me. Not only would it be unique, it would provide completely different game dynamics. It would not just be a Farmville / CityVille / HayDay type of simulation game in a different fantasy setting, but something more.

I wrote a lot about what worked for me in HayDay. The goals and possible actions are always clear to me, and nearly every action works towards the same goal - building out my farm. I’m always clear on what I should or could be doing, and it seems that nearly every possible interaction with the game is tailored to improve my farm (buying items from the stands, harvesting, doing the little quests, etc.).

I’m interested to see how you’ll incorporate the gnome system into the game, and want to hear more around them. How are you planing to incorporate them into the game’s design - are they a central component, the core of the game? Are they something players can do to pass the time while they wait for their cr

View gist:9015697

Loops and Money

One reason Hay Day is so effective is that is had a ton of great feedback loops. Completing the loops gives you some reward, and you always have the option to purchase the reward instead of waiting for it. This is true for nearly every possible action that requires time (you can wait for the bread to be made, or you can speed up the process by using crystals).

while(true) {

By feedback loop I mean this:

  1. The player performs an action
  2. An outcome occurs based on the action
  3. The game is updated based on the outcome
  4. The loop returns with some result
erikhazzard / gist:11237217
Created April 24, 2014 00:25
viewbox example
View gist:11237217
<div style="height: 400px; width: 400px;'>
<svg height="100%" width="100%" viewBox="0 0 500 500" preserveAspectRatio="xMinYMin">
<rect width=500 height=500 x=0 y=0 />
View gist:33b6b20137c600584a92
function fetchUsers (req, res, next) {
User.getAll(function (err, users) {
if (err) { return next(err); }
res.send( users );