Not Dead – Yet

23 10 2016

The title says it all. No, I’m not dead. And, hopefully, neither is this blog.

I’m not really sure why I’ve stopped updating here; it isn’t like I’ve stopped posting code, in fact I’ve been posting a lot of code on twitter and have even began recording coding sessions, tool development and bug testing over on youtube.

Actually, scratch that, the last paragraph does kind of answer the question of why I’ve stopped. But this death of the long form is not an effect I’m happy with. Twitter is fun and so is Youtube but I’ve always had a soft spot for written prose. Maybe it’s because I (once upon a time) wanted to be a writer of fiction as opposed to a writer of code (though I love doing both truth be told). And maybe now is a good a time as any to resurrect this ancient craft.

I am no longer sure what should go in here. When I started this blog it was geared specifically towards “code” but even that’s a fairly nebulous concept. So let’s set some better guidelines. What is this blog going to be about?

Well, for one, game development because I’m a game developer.

Secondly, code and code design because I’m a programmer.

Third, I want to talk about games and game-design because I’m a gamer (oh what poison has this word become to the lips of some).

Fourth, maybe, just maybe a bit of politics because I’m a human and we all love to argue about this kind of shit.

And I think that’s it. My complete life experience. Oh yeah, I’ll probably sprinkle a bit of kids, wife and parents talk because I’m also a father, husband and son.

Ideally I’d like to have a posting schedule. Once, maybe twice a week? maybe Sunday post about weekend and outlook to rest of the week and Friday post about the week itself… maybe? sounds good? I’ll try to keep up with it. And given that today is Sunday let’s ease ourselves into this.

It’s been holiday season in Israel. Not much work has been done since the kids are home from school and have been so for the last 10 days and will be home until Wednesday. Last week we showcased Buck at a games fair called GameIN which was sponsored by Microsoft. Was heaps of fun. Lots and lots of people played it, some of them (although very few) broke it. All of them died lots of times! It was exhilarating and exhausting all at once. This week I’m working mostly on bug fixes and implementing some of the feedback from last week’s players.

That’s it for now I think; like I said, let’s ease back into writing. Next post I want to tie some loose ends from last year to get things out of the way. So I’ll be writing about some personal stuff; mostly healing from a broken leg, having a new daughter and, briefly, my thoughts on GamerGate🙂

“Better carve it on your forehead or tattoo it on your ass”

Waking Up Late

8 10 2015

So; last year (not over yet) has not been the most prolific year in terms of blog posts. But things did happen. Things in the industry like Gamergate, like freedom of creation, a discussion regarding privilege mostly debated and fought over by rich kids with trust funds who have no idea what the word oppression actually means and discovering I’ll not touch publications like Polygon or Kotaku with a stick if my life depended on it any more. The kickstarter revolution and the indie-apocalypse and more fun games that I love/d playing (and some less fun games I suffered through). All of which I’ll probably write a post about one of these days.

On a more personal note; my kids grew up again when I wasn’t looking. Zeve is in kindergarten now and an avid watcher of a show called Qumi Qumi Land which is, let’s be honest, a platformer without a player. That is to say, I utterly approve. Skye switched schools, again, starting 3rd grade in a public school and she seems to be doing quite alright. She’s also enjoying her first [kids-level] MMO and well, I gotta say it brings a smile to see her enjoy gaming. What else? Ah yeah, we moved apartments. I got hit by a car. You know standard stuff…

Getting hit by a car sucks. Broke both the tibia and fibula in my left leg and now I have a intramedullary nail. Look it up. I’m facing 4 months of physiotherapy left (out of 6) but progressing. I can now walk with only one crutch and around the house mostly without crutches at all. I’ll tell you this (you, the invisible reader of this blog, most likely me in a few years), I never realized how much we take walking for granted; the little motions and angles. I no longer take anything for granted. I feel every single point of contact and movement required for a step. Ouch. If there’s one piece of advice to take from this rather rambly post it’ll be: “don’t get hit by a car, it’s not fun”.

Still working on Buck. We’re getting closer to release. Still working on other projects. Still doing freelance work when I can. Started helping on a little prototype for something called Red Heaven. Go check these things out😀

But where do I go from here?
I’ll continue a more formalized discussion on the concept of “game” without vexing lyrically. I’m going to write more code posts. I might slip in a couple of posts about where I stand politically and why. Who knows…

“why I’m staring out your window with a suitcase in my hand”

Less lyricism

22 03 2015

Anyway, I’ve got heaps of stuff written down concerning games and game design (not to mention development). But it’s going to take more time to sort through and put it up in a more coherent way. I’m not really into the whole “stream of consciousness” style of writing. Nor am I much good at it to be honest. So, let’s chuck it up to a failed attempt and press forward.

In the end; and bottom line; games have interesting goals and use interactive systems to provide narrative which sit on top of a world simulation.

Blargh. There are plenty of games which can be considered games just not very good ones. I put “Gone Home” under this category quite firmly. Along with many other “games as art” games. Your mileage may vary. I hope it does. Accepting that diversity of opinion exist is a requirement for actual growth (rather than surrounding yourself with people who always agree with you).

Next on the program? Not sure.

“And he never did do a lot of harm in the world, but he never did do no good, people didn’t think too much of him”

Vexing Lyrically Some More

10 02 2015

I’m not really big on philosophy. Sure, I’ve had my run of it when I was younger. Attempting to define the universe and feeling quite grand about it. It’s not that I think philosophy is not important; on the contrary, I feel that these attempts are a strong force in driving us forward. But these days I also tend to adhere more to the Mel Brooks Perspective😛

With that out of the way; let’s disseminate some more on my idea of games. And digital games in specific. In which I attempt to derive my understanding of a what game is by mostly trying to figure out what lots of things which are not games are.

I’ve already introduced a category for scientific experiments; which are clearly not games (especially the blow-up-in-you-face-and-two-city-blocks kind of experiments). Science attempts to answer questions by simulation of conditions. Games also provide an underlying simulation in order to provide interaction – interaction being a most important part of games. But this alone is not enough.

Let’s go on another tangent (because, why not?)

Flying an airplane, be it a fighter jet or a commercial one, is no joke. And definitely not a game for the pilots who are responsible for many many lives. And yet. And yet flight simulators exist. Are all flight simulators games? That’s an interesting question. Do we treat all flight simulators as games?

The first and probably biggest difference to notice between flight simulation games and real life is the absence of actual responsibility/personal danger. These games provide a safe environment to participate in an experience which is usually not available to their players; another element, escapism of a sort (or fantasy).

So to iterate; as their name imply, simulators have at their core the concept of simulation. But as we’ve seen before, simulation is not enough to make a game. What other elements are provided by simulators. Abstraction. Fantasy. Safe.

There are, of course, further elements which can make simulators better at being games. And as the simulation level increases I suspect that the “game-ness” of the product decreases. I wonder if realism is somehow a force working in opposition to gamism.

Well, more on that later. Real life is in the way again.

I was walking through the counters of a national concern, and a cash machine was spitting by my shoulder

Vexing Lyrically

21 01 2015

I’ve not used this blog much for personal note keeping; trying to stay on course as a technically oriented space. But maybe that’s not the only direction I should take?

Been thinking a lot about games lately; the definition of the word, the people fighting to define it, etc. So let me vex lyrically for a few lines about this. Disconnected, disjointed and even nonsensical sentences may follow.

A game is played. The “play” of a game is governed by rules. To play a game means to interact with the game and with other players of the game. The game rules govern these interactions. Without rules there is no interaction, without interaction there is no game. This is not specific to digital games but is applicable (and indeed was applicable first) to physical games. All “things” in real life are interactive because of the universe’s inherent physical rules. But not all things in the universe are games (though most interactions can be made into games). It follows then that the physical rules of the universe (or any) are not enough in and of themselves to render something a “Game”.

In science we perform experiments. These experiments are set in order to test particular results from given conditions. These experiments mimic universe rules and environments and allow those performing them to interact in order to see results. This is a simulation. An experiment is NOT a game (although, again, may turn into one). It follows then that simulations are not games; this is not to be confused with the ‘simulation’ game genre, something I’ll touch on later.

More ideas are bubbling around in my mind but alas I shall continue them later.

“I was in another lifetime one of toil and blood, when blackness was a virtue and the road was full of mud”

First in a new year

1 01 2015

We survived through another revolution around our beautiful yellow sun.

I’ve not updated this blog as much as I wanted or as much as I needed.

I did, however, opened up a separate site for talking about Unity stuff. Can find it here.

It’s been a tough year to be honest. But we push through and carry on. May the code mines of 2015 prove richer yields than those of yesteryear. And may the coffee rivers flow free.

But when I get home to you I find the things that you do, will make me feel alright

Editing Project Files

19 11 2014

I find myself in a common situation where I want to open all of the .csproj files in my source directory for editing. My editor of choice is Sublime Text and I’ve got a customized environment to help me locate all of my development tools via common paths (I think I wrote about that in another post, if not I’ll write about how I set up the environment in the next post). I could write a batch file to handle that via the Windows cmd, but I figured how hard could it be to write a small tool in C#.

It wasn’t hard at all and took about 20 minutes. For me it’s a win. So without further ado, here’s the main parts of the code.

public static void Main(string[] args)
  var files = GetProjectFiles();
  var files_path = GenerateExeArgs(files);
  var exe_path = GenerateExePath();
  Process.Start(exe_path, files_path);
 catch (Exception e)
private static string[] GetProjectFiles()
 var root = Directory.GetCurrentDirectory();
 var files = Directory.GetFiles(root, "*.csproj", SearchOption.AllDirectories);
 if (files.Length == 0)
  throw new FileNotFoundException("No .csproj files found under current directory");
 return files;
private static string GenerateExeArgs(IList files)
 var files_path = "";
 for (var i = 0; i != files.Count; ++i)
  var filename = files[i];
  files_path += " " + filename;
 return files_path;
private static string GenerateExePath()
 var sublime_dir = Environment.GetEnvironmentVariable("sublime_dir");
 if (sublime_dir == null)
  throw new NullReferenceException("could not find the %sublime_dir% variable");
   var exe_path = Path.Combine(sublime_dir, "edit");
 return exe_path;

Alright. Not too much to comment on that. Note that I do have a sublime_dir environment variable already declared. And the use of Process.Start() to run the executable.

“I fell for you like a child, Oh, but the fire went wild.”