26 Days

I’ll begin coding Grindcraftia on December 1, 2019.

Tricks and Treats

Yeah, it’s not Halloween yet, but by the time I get to another post it will be.

We’re still working on DeathMall! and on Dungeon Sweepers.  These are the two isometric games that will blaze the trail toward Grindcraftia.

Next week, I’m meeting with an acquaintence to discuss marketing strategies for a GrindCraft2 Kickstarter.  So, something could start happening this winter.  There were 6 years between Bejeweled and Bejeweled 2.  I mean, they probably could have just made another one the next month, but it took six years.  Knowing that makes me feel better about Grindcraftia taking so long. Marvel took like 40 years to finally bring their characters to the big screen.  So, neener or whatever.

I’ve been doing a lot of design on Grindcraftia.  I get like one idea a day, so it’s probably good I’m not coding or I could end up forcing the design in a bad direction just to get it done.  I like doing it right.

I’ve been looking at a looooooot of engines.  Right now, Unity is the big craze.  Evbuddy’s crazy bout Unity, yawl.  But it’s a lot of 3d overkill for the type of game I’m making, and there are a lot of features I’d have to program by hand anyway.  Seems like every engine has it’s limits.  Some don’t port to console.  Others do, but not to web.  Others only do iOS, or only XBox and Windows phones.  I notice that a lot of them use graphic card accelerators, which can be nice, but it can also do things like tiles slipping and movement between textures and things.  These are things that people have grown accustomed to in 3d engines.  But Grindcraftia needs to be pixel perfect.  And cross-platform, and run in browsers.  So I’m giving some serious thought to C++ and WebAssembly.  C++ never goes out of style.  It’s been around since the 90’s while other engines have come and gone.

I’ve been making a game a week for a client.  I love the work, and I feel like I’m in a game development boot camp.

Anyways, here’s my new Grindcraftia mug:

Here’s some things that save me a lot of time, whatever I’m working on:

Organize everything by how you use it.  (Called “organize by use”.)  For example, I don’t put all my controllers in one folder.  Instead, I put everything for a single process in its own folder.  I don’t have a “left shoe drawer” for all my left shoes.

But wait, what if you use those components elsewhere?  Now they are in the total wrong folder!  Nobody can find them!  What should we do?  … Following the principal of “refactor when needed”, move the components/classes/etc to another folder as needed.

Within each file/class, organize by use again.  At the top of the file, Public and Private declarations per usual, then everything that gets called once, like constructors and initialization.  In the middle of the file, organize functions by user stories, the first or main user story at the top.   Organize attributes, properties, and variables from “most general” to “most specific”.  Consistency in organization helps me save a lot of time.  I know that “isActive” is always near the top of a class, followed by isVisible, position, size, style… I can dedicate brain cycles to  coding, rather than wondering where a variable or function is.

Similar to refactor as needed, program WET.  If working in a team, program WET and then convert to DRY before committing to the repo.

I put brackets on the same vertical line, called Allman Style.  It’s because when I code a game, I have to code and recode a lot.  I think of it as sculpting.  So, I’m cutting and pasting a lot of code blocks, commenting and uncommenting.  When the opening and closing bracket are on different vertical lines, its very easy to accidentally copy two code blocks, or miss a bracket when commenting.  Can it be undone?  Yes, at the cost of losing a little momentum and a little train of thought.  So, Allman Style.

Abilities vs Permissions.  Just because a character has the ability to swim does not mean the character can swim at any time.  We use the word “can” in everyday speech to mean both “has the ability to” and “has permission to.”  Remember  “Can I go outside?”  -“I don’t know, CAN YOU?”  That’s what we’re talking about.  canSwim vs maySwim.  I use the “can” prefix to mean the character has the ability to do something, and the “may” prefix to mean the character has permission to do it.

When a character or entity has transitions from one state to another, the transitions should be separate states.  Use -ing to mean something is moving or animating, or playing.  character.isWalking, door.isOpening, video.isPlaying.  Use -ed to mean a static state like chest.isOpened, orc.isDead, song.isFinished.  Don’t use verbs that can mean several different things.  Like, don’t use “open” because it could be either a static or animated state, or even a command. I’ve been a part of meetings that went way too long because one person was talking about an animation and another was talking about a static state, or a user action, all because of poor naming conventions.

Adopt your conversation in meetings to use the same naming conventions in code.  Name your assets using common English, bringing idea and language into parity as close as reasonably possible.  redBalloon.png instead of balloon_red.png.  To avoid lumping all your “red” assets in one area, break them out by use, in their own folders.  A sprite of an opened door is “oakDoorIsOpened.png”, a video of a cut scene is “markAndSarahTalkingAboutTheMonster.mp4”  An animation sprite sheet of a goblin dying is goblinDying.png.  The extra seconds that it takes to type descriptive variables will be worth the minutes it takes to figure out what cryptic code is doing.

“move” means that an object is changing it’s position toward a desired destination over time.  “position” means that an object instantly changes it’s position.  “animate” means that an object is changing the way it looks over time, either by a component moving within the object (like a rigged character moving an arm), or by replacing it’s pngs to create a frame-based animation.

There’s probably a lot more tricks than this available.  But these are the ones I keep coming back to that save me time, but for some reason aren’t talked about too much.

Thanks for reading.

A Bunch of Juicy Secrets

Last couple of months I’ve been working on 80’s retro games that are played on a laser.  Its the kind of laser you can burn a hole through your wall, and it draws by moving mirrors very quickly.  So, it’s more about optimization, how to make a game in as few laser moves as possible, and not letting the laser stay too long in one spot.  I do one a week, and in a way, it’s like a “Part 2” of the 30 games in 30 days I did last year.  (Which ended up being 20 games in 20 days.)

So that’s what I’ve been doing.  But  about every day, I see a post asking How Can I Make Games?  Very brave to post that.  And usually, developers don’t answer the question, but instead tell them all the reasons why it won’t work.  To be able to answer a question directly is an art form that takes many years I think.

But people every day are asking how to make games.  A couple years ago, people would contact me about GrindCraft and after chatting back and forth awhile, they would say they wanted to make games.  This happened a lot.   It seems that in the future, everyone is going to be a developer in some way, working on software, configuring it, modding it, writing it.  And it seems one of the ways people are going to learn how to do that is by making games.

A lot of the stuff designed for Grindcraftia is geared toward configuring and modding … but I didn’t want to talk about Grindcraftia (yet).  Today I want to share people’s questions and my answers.  It seemed to help them (or at least get a “like”) and maybe it will help someone here.

“How do you learn to make games?”  When I was learning, I got some games’ source code and started changing stuff to see what it would do.

“I thought I wanted to make games, but I gave up, and now I just want to do Let’s Plays.”  It’s good to find your passion. (Not everyone who loves games loves making them.) I’ve heard that consistency is the key [to making a good youtube channel]. Maybe google it and there might be some “how to’s”.

“Here are the 16 reasons people give up.” I’ve done all those. If giving up is a real possibility, in my experience, the pursuit is an ambition, not a passion.

“How do you come up with game ideas?”  First thing I do when thinking up a game is sit my kids down and pitch them the idea. They always have some critical points.

“I put a lot of work into my designs, and they always get rejected. [by management or owners]”  Always put a moustache on it. Then they say “Looks great, but get rid of the moustache.” Then, you’re done.

“If it’s a bad project, but I need the money, should I take it?”  I used to say my opinion and then do what they want. But as the projects rolled on, my track record of predicting disaster got more accurate, and I also developed a taste of what it is like to be on a great project that succeeds. So these days, if the project is being designed to fail, I’ll state my case and softly move on. If the owners respond with something like “we didn’t think of that, let’s continue talking” then I’ll continue with them because they have an attitude of working through problems, and they respect a warning when they recognize it. (And vise-versa, when an owner has a solution I hadn’t thought of, it’s a sign of a great project.) But if they ignore the advice, then they are usually running on ambition and not passion, and definitely not into strategy.  Its going to be a super stressful project of me always warning them and them always ignoring (even sometimes proactively belittling, oof!) the warning. I wish I could say I have so many projects that I can afford to be picky like that. But that’s not the case. Its firstly a matter of avoiding stress, which makes my family a lot happier, and secondly the joy of pursing good projects.

“How can I become a good game designer?”  Develop the ability to react like a player. Frequently during design meetings, you’ll hear feature requests that start off “As a player, I want to be able to do xyz.” A lot of times during meetings, its too many cooks, which goes hand-in-hand with “don’t give the players what they want, but give them what they didn’t know they wanted.” That’s an art form that incorporates not only all the technical and artistic skills, but the ability to see things from the perspective of the player. Sometimes designing a game can be a matter of constantly taking out what doesn’t work. Game Design is frequently thought of as being a creative endeavor. But that can be so subjective that it ends up being a creative dictatorship. I find that having a strong creative vision and letting good people do their work makes for successful projects. The vision needs to be thoroughly vetted and thought out, a process which is best done by yourself or with one or two people you trust. Write down the vision. It should be easy to understand, and it might be summarized (like, “It’s a Mario-style platformer, only you control all the enemies.) A strong vision will answer questions that have not been thought of yet. A strong vision will also help protect against ego battles. The important things will be answered by the vision. The less important things can be interpreted by artists [and programmers] who are good at their jobs. The more your team gets to know you, the more they will understand how you think and what your vision is. So, you might start now. Maybe the people you are going to school with will be working with you some time in the future. … On a more technical note, master the “game” part of “video game”. Learn and understand game mechanics, and how they affect players. Why do people get excited or frustrated? Isn’t it just a game? Why do they invest so much of their identity into games? … Study and make board games, if only on a piece of paper with some dice. This will slow things down and help you to identify key game mechanics. Do a lot of those. If you have people who will play them, then do a weekly board game. … Study the history of video games since the 70’s and find the patterns from game to game throughout the decades. Where did Pac-Man come from? Why was it popular? What happened to gamers when Doom and Myst came out in the same year? Each game in history is linked to the games that came before it. Understanding how all that happened will help you develop the ability to see trends coming. … Good luck.

Finally, here is a super fun character from our up-coming mall crawler:

Spring Catch-All

This blog post is kind of a catch-all of the last couple of months.

We’re working on an Isometric Voxel Engine and Multiplayer MMO for Grindcraftia.  We kind of have a shared video game technology universe, which allows us to progress in small steps toward Grindcraftia without trying to do it all at once.  We make some tech, and then make a game out of it.  And then all the game tech comes together to make Grindcraftia.  So here’s a couple of the games we’re working on.



We’re working with Tom Lintern to create a retro-future 80’s mall crawler.  It’s kind of like “Diablo, only Streets of Rage”.  It’s great to work with an actual artist, and a pre-defined IP so I can focus purely on technical coding.  You may recognize Tom’s work from the sci-fi/fantasy manga  Girrion .

From DeathMall, we’ll be creating an Isometric Voxel Engine.  Here’s Tom’s concept art, and a procedurally-drawn floorplan.  There’s no stores yet.

That top-down isometric look is what Grindcraftia will look like, only trees and mobs and things.


Hello Nooblets World

So, this is a funny mmo for young kids. Its super low tech so I can get my feet wet with how Multiplayer MMO works.  Why young kids?  It’s an easier audience, and we want to focus on multiplayer, not feature requests.  It will be hand-drawn to look like a kid made it. This allows us to make art very quickly.  For instance, here’s the player visiting a brick house in a forest, on a flatualant unicorn:

We’re using a decentralized network approach, where the first one to enter a room becomes the server for that room.  Grindcraftia will also have a decentralized network, and possible distributed ledger (blockchain) so that every action of every player in Grindcraftia is verifiable.  Why?  Players will be able to go forward and backward in time, so every action in the game needs to be saved and verifiable.  We’re going to launch Hello Nooblets World locally in my area. If kids like it, we may pursue it as a bigger game.


GrindCraft Mobile

This summer, we’re thinking heavily of making a GrindCraft mobile version.  There are a lot of clones out there.  But one thing we’ve noticed is that none of the clones are able to add more content or levels.  So, we’re debating doing a crowd funding campaign for something like “GrindCraft Mobile + a bunch of new levels.”  If we go that route, the Wither Expansion will be some of the new levels.



We’re doing some stuff with Grindcraftia.

The color palette is in alpha. We haven’t tested colors in-game.  (If colors are not reading well, then we’ll make alterations, especially for the skin tones.)  The palette was inspired by 80’s color palettes, both the neon ones, and the desaturated textile ones.  For all the neon, the 80’s was very brownish.  There are some rust/brick tones, skin tones, some khaki, vegitation, sky/sea/jeans, purple for whatever, wine, steel, and the regular RoyGBiv.

It takes the color at every 30 degrees on the color wheel, makes lighter and darker versions of it, and a desaturated column of those colors — six variations for each of the 12 colors in the color wheel.  With a grayscale column, that’s like 80 colors, and we want to limit to 64, so when colors are really similar, like yellow and light yellow, or dark magenta and desaturated dark magenta, one of those colors are removed from the palette.  Sometimes whole columns are removed, like the yellow-green and green-cyan columns, because they look very similar to yellow and cyan.  The darker greens are bumped a little toward blue to look a little more natural for vegitation, and the Magenta and Hot Pink are combined into one color (Magink?).  There’s a special blue-gray column of colors for creating UI elements.  All UI in Grindcraftia is made using voxels (yeah, even fonts), and uses the 4-shade approach that Windows 95 used.

Fundamental core game mechanics:
Supposedly, in order to time travel, you need to be able to adjust reality at the quantum level.  So, I’m figuring out how the quantum level would work in a video game.  I chatted with some theoretical physicists and read some “for Dummies” and I’ve come up with a simple, elegant idea which pays homage to the first building blocks of the video game industry.  I’ll post here when its done.  Grindcraftia is still an optionally idle sandbox game, meaning players are not required to build time machines and invent new atoms and mobs and weapons and things. You can play however you want. But its there, if you want to.

Character design:
Until the in-game Voxel-inator is complete, I’ve been using Minecraft as a voxel modeler. Here’s some early character design.  The characters will have internal biology and skeletons and this is how players will make new creatures, by making a skeleton (with four arms or two heads, or wings, etc.), and then adding brains and eyes and organs and skin and stuff.  Players will be able to make creatures as diverse as a fire elemental or a hyppogryph.  (and then battle them in arenas).

That’s it for now.  Thanks for reading. [;]

The Voxel-inator

Okay, let’s get into some game design for Grindcraftia finally.  I’m making a voxel-inator.  It’s a voxel modeling tool, but it doesn’t have (or need) all the functionality of say Magica Voxel.  But what it does need, is to be inside the game.  The tool will eventually be used by players to mod their game, in game.

Grindcraftia will be an isometric voxel game, so I’m making up a system of rendering isometric voxels.  One of the things I liked about Minecraft was their design integrity.  They would take a simple idea and see how many things they could do with it in the game.  Lego, Ikea and Minecraft all have that same design philosophy.  All three of those innovations come from Scandinavia.  Maybe its the long land-locked winters that inspire people to stay indoors and invent cuby things.

So I’m inspired to see how far my design for Grindcraftia can scale.  We have to be able to build time machines and go into the quantum realm, and alternate universes.  So the isometric voxels have to be craftable on the atomic scale, up, and buildable.

So you know, a voxel is kind of like a pixel, except it is in 3d space.  A pixel is “The basic unit of the composition of an image on a television screen, computer monitor, or similar display.”  Everybody knows what a pixel is.  But when talking about voxels, there’s no tangible “3d screen” in people’s living rooms.  A true voxel would be like a grain of sand in the vibranium communication devices from the movie Black Panther.

But right now, you can’t look directly at a voxel like you can look at a pixel on a screen.  Pixels represent voxels, but they are not voxels.  So a voxel is more “concept” than “thing you can point to”.  But (googling), it seems a voxel is not so abstract as to just be pure data.  The connotation is that it is visual, usually represented by a cube projected onto 2d space.  Whew, we’re out of that rabbit trail.  What I really wanted to show you was a voxel I made for Grindcraftia.
Here it is:

It’s there, believe me.  If we were to double the amount of voxels in the x, y, and z directions, you’d think it would be “about twice as big”.

But you’d be very wrong.

See, placing a voxel in 3d space means that it has to go through a matrix transformation, and lots of tan cos sin,
and then orthogonal projection from an overhead camera tilted at a certain angle.  All this before it can ever be rendered on screen.  After all that very amazing math, the end result is that you scooch it down 1 and over 2 and put a pixel there.  It ends up being about twice as big:

There.  Now you can see it better.  You can continue doubling the size of the cluster of voxels, and with each doubling, the number of voxels grows by a factor of 8.  Their collective length, width, and height grow by 2, so 1, 2, 4, 8, etc.  Interestingly, that happens to be the exact size of the png.  1×1, 2×2, 4×4, 8×8, etc.  Design integrity.  Love it.

In Grindcraftia, the voxel is the equivalent of a sub-atomic particle, like an electron, proton, or neutron.  From there, cuby atoms are built, then molecules, materials, bricks, and blocks.  The subatomic level is not invisible in Grindcraftia.  Instead, its just as small as a pixel.


It’s what comes after passion and vision.  Commitment is a trap if you don’t have your passion and vision well-defined.

When the question of “How much time can you commit?” comes up, and I don’t know exactly what I’m trying to accomplish, I used to tell myself and everybody else whatever they wanted to hear just to get them off my back.

I don’t do that much anymore.

Drive with no vision means you’re going to do things by trial-and-error.  When you commit to something, or someone pushes you to commit, but you have no vision for it yet,  you’ll end up spending a lot of time discovering what it is you’re trying to do.  I’m going to write a book. No, start a business. No, invent something.  There’s a time for discovery. But commitment comes after that, not before.  So make sure you have passion and vision.  Then when the question of commitment comes up, you have a well thought-out answer,
and the question doesn’t feel like it backs you into a corner.

In the real world, figuring out a core passion can take awhile.  Sometimes it comes through a lot of introspection.  Sometimes it comes from a super difficult time in your life that tears you apart to the core.  Sometimes it comes at the end of a marathon, where you’ve pushed yourself to your limits.  When you’re going through events which form you as a person, your identity is in flux, and therefore so is your passion.  Major events in your life will change who you are – graduation, first job, death in the family, marriage, birth of a child.  So in reality, it might take time to discover your passion.  Making a vision around that passion might take more time.  Maybe it takes so long that by the time you have a vision, you’ve changed and need to re-hone your passion.  If you’ve started a project and not finished it, then you know what I mean.  It could likely be part of the process of discovering your passion.

Eventually, a passion becomes well-defined and well-weathered.  It still goes through changes — a person’s passion should grow and change as they do — but the changes are slower.  It changes slow enough that you can build a vision around it.  And the vision based on that passion will also grow and change.  So, the product you end up with may not be the one you start with.  You may throw out a lot of ideas and adopt new ones along the way.

When your passion and vision are well-defined, then commiting becomes a different question.  Without a vision, the question of commitment is like a blood pact.  You’re going to force yourself to do something against who you are as a person.  For artists, this is a bad idea which either drains creativity or makes you quit and weakens your integrity.  But with a vision, the question of commitment is like a powerful tool, like compound interest.  The affect should be that you wish you could spend all day working on your project, but unfortunately, you have a limited amount of time to dedicate to it.  When you get to that point, you’re not committing to something you’re unsure of.  Instead, you’re insuring that life’s responsibilities don’t eat up all your time.  You’re able to dedicate a certain amount of time to your project, but you’re also letting life set constraints on it, which inspires innovation and keeps you on track.

Another pitfall concerning commitment is that you should commit all your spare time to your project.  In some cases, this can be unhealthy and backfire. You may need recharge time.  My advice is don’t just budget for working, eating, sleeping, and doing your project.  If you don’t need recharge time, then go for it. Just be honest and realistic when budgeting your time.

What Happened in December

What happened in December is our car got totaled and we’ve been in and out of a bunch of hospitals and clinics.  Did I stop working toward making games?  No.   See?  Passion, when you figure out who you are, pulls you through automatically.  Figure out who  you are.

So, I won a grant for writing a different grant last month.  If we get the grant in July, then Grindcraftia will be funded.  Maybe it will get funded before then.

In January, we’re supposed to sell an engine, and that should give me enough time to port GrindCraftEngine to Javascript, and finally do some environments for our Mall Crawler.  If I didn’t mention before, Stranger Things is doing the exact same game setting – an 80’s mall in top-down isometric.  There’s is going to fight monsters.  Ours is like retro-future Streets of Rage.

Next up for us is creating our environment tools.  I’m really glad to start working on something more detailed after doing a bunch of business stuff over the fall.  This tool is going to be pretty powerful.  We’ll be able to create art assets very quickly, like as fast as you can do a build in Minecraft.  So we can throw together a few blocks, create some game world item, and hit save and we’re done.  Then, we’ll be able to combine items to create bigger items – a desk, for instance, or a rack of clothing.  And it will be done in voxels that can be super small, so it looks as good as 3d, but without rigging and meshes and stuff.  This means anyone and everyone can create items, and it allows us to put the editor inside Grindcraftia and allow players to make content.  Like imagine if Roblox or Minecraft allowed you to hit a button and upload your build so everyone could see it instantly.  By flattening out the user-generated content pipeline, it will be super easy for players to make and sell items.

That’s it for now.  Thanks for reading.  Merry Christmas, Happy Hannukkah, and Happy New Years.

The Grant Scheme of Things

This month, we’re applying for a grant.  Full disclosure as follows, minus trade secrets.

Grindcraftia will allow users to configure any part of it.  In addition to modes like hardcore, survival, and creative, Grindcraftia will have a “meta” mode.  In meta, you have complete control over every aspect of the application.  You can change the color, size, shape, rotation, and position of things… almost every property, in fact.  Change names, layouts, labels, whatever you want.

I love Minecraft, but I think they only went a little ways down this path.  Like, I don’t know about you, but given the choice between an update for fish, and the ability to mod anything in the game I was playing, I’d take the mod option.

In Grindcraftia you can mod anything, even behaviors.  For instance, drag a behavior called “shoot and seek cover” onto an archer, and the archer will shoot an arrow, then look for a tree or something, and run behind it.

But what about modifying the behavior itself?  You can script your own behaviors and events, using a proprietary high-level subset of javascript.  So you can make that archer run zig-zag to the nearest cover.  Or maybe you want him to shoot two arrows and then run away.  Or you don’t want him to seek cover until he’s down to 1 heart.  Whatever you decide to do, it’s all done in-game, during runtime.  No IDEs to download, no tutorials needed, and no compiling.

When you’re done with your mod, upload it to the store if you want.  Players can try it out with one click.  They don’t have to download a potentially virus-ridden plugin, find the right folder, download Forge, make copies of the original file, and just hope it all works.   They just click and go, no matter if they are on a phone or desktop, or a browser on their grandma’s computer.

So, we’re totally turning modding on end, and opening the floodgates to all sorts of opportunities and trouble.

Ok, so what does all this have to do with a grant?

Well, all the above adds up to being able to do whatever you want to any app, not just a game, not just Grindcraftia.  You can change the look, layout, functionality, events, and more of any app which uses the framework.  All updates propagate in real time across all devices and OS’s.  Instead of weekly updates, there’s a storehouse of user-generated functionality to choose from.  The result is that anyone can modify the applications they use.  That’s powerful, maybe even scary.  Maybe it could be said, When everyone’s a programmer, no one will be.

But then think about hooking it all up to an AI and that’s skynet scary.  (If we can get it to work.)

These type of high-risk, high-payoff ideas are what institutions like the National Science Foundation like to fund.  So, if we get picked, you’ll be playing Grindcraftia a lot sooner, and probably learning how to code for a very crazy future.

Vision ision bo bision banana fana fo fision a me my mo mision Vision

Vision is another one of those big mysterious words.

If you’ve ever had an idea, it might have been a vision.  But a vision is different from just an idea.  A vision will answer questions you haven’t asked yet. Ideas don’t do that.

For instance, you start working on a game and then you get to a design issue and you’re like “What do we do, now?” Having a vision can answer those types of questions.

A vision is like a set of rules. Whenever you have an idea, you run it by the rules.

Here’s how having a vision saved a really good idea from being a really bad idea:

In Grindcraftia, the world map is literally all the matter in the game universe.  So I thought it would be cool to warp time, like relativity or something.  As you zoomed out, time sped up, and as you zoomed in, time slowed down.  People didn’t like it.  Plus most of our in-app purchases are things that speed up time or reduce the number of clicks.  So it was a bad idea. But there was something driving it, and I couldn’t figure out what it was.

So I go back to the drawing board, and look at the vision.

We want to be able to speed things up and slow things down.
Speed things up so the game is not a total grind.
Slow things down so you can manipulate on a granular scale.

One theme in the vision behind Grindcraftia is “multi-dimensionality.”
1.) You can go back in time.
2.) You can visit parallel universes.
3.) You can do molecular-level crafting.

Another rule in our vision is that if something can be in-game, it should be.  In order to get a map of the world, you have to craft it in the game.  And in order to get those multi-dimensional features, you have to build a time machine, or a quantum tunnel, or some kind of shrinkinator thing.

So putting that all together, we see that we need to also make a craftable machine that speeds up and slows down time.  Not just jump around in time but alter its speed.  Making it craftable means that it’s optional, so players have control, rather than forcing time to warp whenever you zoom.  And we can create an in-game store that sells them, or sells blueprints + raw materials (kits) to make them.  So we (the developers) win, too.

A vision answers questions  you can’t think of yet, and avoids bad ideas, sometimes even turning them into good ideas.

What’s This Thing about Passion?

For me, passion is like stacking the cards in your favor, so when difficulty comes along, you automatically plow through.  For me, passion comes at a cost. But the cost is not “hard work”.   The cost is being super honest with yourself about yourself.

I always thought passion was some magic thing, and only cool people knew what it was.  Like, if you’re successful, then you can talk about passion.  But if you’re not successful, then you obviously don’t have it and you can’t talk about it.


But I didn’t know that, so I would think about passion as if it were another word for “will power.”  If I worked hard enough or believed in something enough, eventually I’d get what I wanted.  Not true, in my experience.

This is what I’ve been told from self-help gurus:

  • Get up early. Eat well. Get plenty of sleep.
  • Never give up. Always be ready for a new challenge.
  • Have a good attitude. Be positive.
  • Be excited about life.  Have confidence.
  • If there’s a problem, go talk to yourself in a mirror and tell yourself you can do it.

However, nothing from that list has ever worked for me.

  • I stay up late, eat sugar, and get 6 hours of sleep.
  • I give up frequently, frustrated in seconds.  But then frustration goes away. Sometimes I have hope that defies logic. But then that goes away, too. Sometimes dull, sometimes a rollercoaster.  Some things are enjoyably challenging, but I’m not “always ready for a new challenge”.
  • I’m not positive.  I’m not skeptical.  I’m critical.
  • I appreciate being alive, but its frequently circumstantial, my bad.  I have moments of confidence, and moments of stupidity and embarrassment.
  • Whenever I talk to myself, I create problems and then tell myself they’re unsolvable.

I don’t mean be “meh” all the time.  To the point, I fit the passion checklist like 25%, but it hasn’t stopped me.  So, I think passion is something totally different than what people tell you.

I think you can discover your passion by being honest with yourself.  I think you can discover a much deeper and stronger passion.

One that doesn’t need to constantly avoid obstacles but can weather any change.

One that doesn’t have to always be positive, but is strong enough to accomodate any emotion you may have.

One that doesn’t make you into a dream junky, but helps you to enjoy the pursuit.  It can fail as many times as it needs, and still keep going.

I think you can discover that thing in you that can hold its breath for years until circumstances change.  It can die and respawn. It can survive extreme adversity.  If it gets chopped up, it grows back.

Specifically, its taken me a long time.  After years of working “even harder,” it suddenly dawned on me that pure hard work was not working.  Staying busy was preventing me from taking an honest look at myself.

Because if you can get to the core of who you are, and be cool with that,
then you can say what your passion is in terms of who you honestly are.
And your passion will be as strong as your very existance.
Where you go, it goes.
What you go through, it goes through.
It never goes away.

I haven’t gotten there, but I’ve gotten closer by being honest than by doing anything else. I’m just talking about my experience.  The pursuit of looking in the proverbial mirror (and not talking) has had a greater and more immediate impact on how I develop games than any amount of hard work, or positive attitude.

I realized:

I’m not someone who shovels games out the door.
If that’s what it takes to be successful, that’s not me.

I don’t like catering to the latest fads and trends.
But if they fit what I’m doing, I like to use them as tools — a means to an end to create an Experience.

And shockingly, I’m not actually a game developer. My passion is not tied to a certain technology in a certain time.
I’m someone who crafts experiences and transports people into another world.