Archive for the ‘The Business of Things’ Category

I am retiring from Indie Game Dev

Monday, June 29th, 2015

It’s true. After 10 years, I’ll be wrapping up my games business. Later this year, I’ll be moving on to other things.

I am still going to be around. I’d still like to attend GDC in San Francisco every year. Ludum Dare is a thing I’ll continue to work on and run (and if I’m lucky, I might be able to enter again some day). I’m also going to continue doing little projects that amuse me, things like my Commodore 64 game from New Years. Really, not much is changing today. But it is time for me to move on from the Indie games business.

I’m going to try supporting myself with some non-game projects. I’ll talk more about what I’m doing in the coming months. As for the so called “Indie Games Business”, I just don’t trust it anymore, and that’s that.

Thanks everyone for all your support.

Evaluating Modern Middlewares

Monday, April 22nd, 2013

The following is some rambling. I have a point I’m trying to make, but I’m certain I don’t make it. My fingers kept moving, and this is what resulted. You can kinda get an idea what sort of madness is bouncing around in the ‘ol noodle right now though. Good luck.

*Big Sigh*

I’m typically a “from scratch”, “native code is best”, “c++ FTW” type of developer. The thing is, developers with my skillset and experience really are at a big disadvantage in today’s game market. I could go embed myself in some company somewhere, work on the latest greatest whatever BS FPS engine, but I’m far too independent to want to do that again. My distaste of C# has to take a backseat if I’m going to get anything serious done in a reasonable amount of time, because time… time is precious. Too precious to be fighting with low level stuff as a solo developer.

*Bigger Sigh*

To my credit, I started dabbling with HTML5 (JavaScript) last year, and quite liked it. It was refreshing, somewhat dirty, but enjoyable. I’ve also been picking up some little JavaScript related gigs here and there to pay the bills. So JS has been my gateway to exploring less strict languages. Squirrel is a favorite of mine, but the differences between JavaScript documented in my prior post go to show how much a change of thinking it still is. There may some day be a project for Me and Squirrel, but for now, I need to be looking elsewhere.


Unity unity unity. It’s impossible to NOT hear about Unity these days. I was at a cabin with some gamedevs earlier this year, and nearly all of them used Unity now, and looked at me funny for NOT using it. Wow.

I was so so soooo against it. The C#, the “I’m having fun engineering” excuse, etc. Suck it up.

Then I stumbled across these tutorials:

As I watched each 3-10 minute short, I began to understand more and more how Unity became such an unstoppable force. And as an engine designer, I grew more and more envious how elegant some things just work inside Unity. All it took was one night, watching a majority of those videos, to realize where I may have gone wrong in my past few years.

Now, don’t get me wrong. The port frenzy that was Smiles was actually the right idea. At the time, Unity was immature, and the platforms out there were plentiful and poorly supported. I had an argument back then. When I finally picked up and started using Marmalade for the remained of ports (Android and Symbian), that was also the right idea. The world was changing. The long promise of Native Code on every device being less and less necessary was finally happening. Today I have some concerns about Marmalade’s choices, but at the time a couple years ago, they were doing the right thing.

Today I have no argument regarding Unity. I’ve tried inventing reasons not to use it, like console ports and networking, but after the Unity+Sony announcement at GDC it became clear that I’d run out of them. Given my situation as a solo developer, I am making a grave mistake NOT using it.

I credit Unity earlier for looking extremely good, but it may be because I’m starting with Unity 4. I’ve skipped much of its legacy, and certainly things must have been improved going from 3.5 to 4.0. So best I can see, Unity today is the only practical way to make a 3D game.

Oh and best part, I don’t even have to use C#. There’s something nicknamed “UnityScript”, which they call “JavaScript”, but it’s more like a strictly typed Ecmascript (i.e. Flash-like). This seems to have become a theme.

Again, I want to say I’m still evaluating Unity. That said, I may have also conceded defeat to it… however!

Haxe NME

There’s really only one tool suite more prolific than Unity, and that’s Haxe. Combined with NME, it provides a solid 2D framework that can target anything from PC to Mobile to the Web. It’s a tool suite that lives and breathes in the command line, where doing an “nme test android”, an “nme test flash”, or an “nme test windows” nets you a working binary on your platform of choice. Very slick. This was the promise of Marmalade too, but for whatever reason Marm is quite finicky. Honestly, I’m shocked Haxe NME has this single command building down so well.

Haxe is a strictly typed Ecmascript (deja vu), inspired by ActionScript. Like Unity, I still haven’t written anything real with it, but it’s interesting.

I do not know Flash… at all, yet I’d like to be able to generate SWFs. FlasCC was on my TODO list, integrating it in to my toolchain so I can target Flash. But it after a quick first look, I’m very impressed with Haxe NME.

One big disadvantage of Haxe NME is the compile time. It does really take a while, far longer than my native stuff. Unity is very instant. I’ve seen some really interesting instant development suites, even better than Unity. If there was a way to speed up the development->test cycle, then Haxe NME would be unstoppable.

On that note…


The Loom folks are doing some interesting work. It’s an entire development framework designed instant update across multiple devices. They too use a strictly typed Ecmascript style language (deja vu 2), but the only targets are PC and Mobile. This isn’t enough. I also get the impression they may be heavily reworking how graphics work from some of the forum posts, where as what I’m after is stablity. But still, as a proof of concept, there’s a lot of potential here. I wish everyone (i.e. HaXE NME) was doing livecoding (make some tweaks to the NekoVM runtime yo :D).

Oh also, Loom the language/engine uses the LUA VM (despite being its own language). Smart!

JavaScript + PhoneGap

This is one possibility I considered, again, because I like JavaScript. After some digging, I learned that PhoneGap is essentially the native browser for each platform, embedded in an app. That means the app is only as fast as HTML5 runs on the platform, and at the same time, may be as limited (audio).

*Just JavaScript* though, I thought about this, and I am still going to need this from time to time. Web development work especially.

Windows 8, you can work in JavaScript. But that said, I don’t trust Windows 8 as a target. That’s my problem, I don’t trust anyone anymore. If I’m going to do something outrageous like switch my primary development tool, I better get MORE out of it than I had before.

Web presence is something I lack. My time with HTML5/JavaScript has filled in for some of that complete lack of Flash experience, but things like WebGL for IE are a whole major browser version away (maybe a whole major OS revision too). Also audio, I *hope* Mozilla finally adds that missing new audio API by the next Firefox version (audio is great in Chrome), but wow, I can’t believe HTML5 audio is still something that isn’t completely solved yet.

Conclusion: Unity and Haxe NME are interesting

I need to make some time to dabble with both. Ludum Dare 26 is coming up, and I’d like to take this chance to test out Haxe NME. After LD though, I want to dive in to Unity. We’ll see.

Getting the most out of Haxe NME is going to take more work. One of the biggest, most impressive parts of Unity is how well structured and functional it is as an engine. In my native codebase, I’ve architected something that’s design wise on par with Unity, but there is just so much work to do to bring my native engine up to par. Months, the year even, and that’s if I can stay focused. Practically speaking, I can learn Unity in a month, and start seeing serious progress within days and weeks. Doing native addons for Unity does look straightforward, though that does require the pro version. At the same time, I need to spend more time with it to justify ‘going pro unity’.

Will I be able to satisfy my engineering needs with NME? Maybe. I like engine making. I’m going to have to see how deep the Haxe NME rabbit hole goes.

And you, Unity. I hear getting my Oculus Rift working with you is a few clicks and a matter of importing something… You bastard. 😉

The New Cards

Friday, March 1st, 2013


Ordered from Morning Print. White plastic, thin, nice and vibrant, and practically indestructible!

The Rebranding of Sykhronics

Wednesday, February 27th, 2013

This past weekend I began a process of rebranding my company. Shortly after leaving my AAA job in 2005, I created this logo.


Thing is, that’s not even one of the better logos I used, it’s just the most business’y one.

More here.

As you can see, I used to be really in to playing with typography. Sykhronics is a name I’ve been using for the past 15 years. In the early days, it was my portfolio website. When I decided to go “Fulltime Indie”, it became my business. It’s always been the hub of “me”; Whatever “me” is doing.

I’ve tried on several ocassions to come up with something better, but it just hadn’t worked out.

Until now.


Yay! There we go! Lots of things going on here, but most importantly I was able to creatively satisfy my type design itch.

The process involved me going to twitter and asking a simple question: Read this, and what does it say?


Some of the results were extremely amusing (SykBronies!? Ha!). So after several iterations, we ended up with the orange logo above.

Notably absent is the H from Sykhronics. If you’ve never heard of Sykhronics, you’re probably asking “why was there an H there anyway?”. Well after some thought, lots of head tilting back and forth, I decided to try it without. I think “H less” SYKRONICS makes a lot of sense. The only downside is my own natural instinct typing it and reading it. My muscle memory for typing Sykhronics is so well developed, that I know when I’ve typed it wrong without even looking. Hey, that’s what happens after 15 years. 😉

Now the logo isn’t perfect. I’ve had several folks call out the K and the C for looking like “WTF” and E. I’m okay with that, because overall the design is consistent and interesting. 9 characters, all with hints of a circle in them, with sharp cuts.

Something I’ve wanted in the logo forever is a character. So part of the design is the O creature. It’s very much Pata Pon’esc, which I’m always a iffy about (looking too much like an existing franchise), but it’s fine. I like it. It’s interesting. Like a little floating eyeball with fangs. Gives me *SOMETHING* to use as a mascot, which I’ve always wanted.

Anyways, I’ve gone ahead and printed some biz cards. They look like this.


I’ve always been of the opinion that as a game developer, our business is fun, so we should be having fun everywhere. Hence why I went with such a bizarre job title (Formerly just “Game Developer, Owner”).

And that’s that. So far I’ve just started with the biz cards. After GDC I’ll make it the website too. Ta!

Because We May Sale

Friday, May 25th, 2012

Because We May, a grandiose cross platform mega sale is on right now. Android, iPad, iPhone, PC (Desura), and Blackberry Playbook versions of Smiles and Smiles HD are all heavily discounted and available for about $2. The sale ends June 1st.



Thursday, November 10th, 2011

Enough of this non-game talk.

The past month has been extremely good for progress. I did not meet my goal for the month, but I’d be silly to complain. Yadda yadda ya.

Against my better judgement, I’m going to stop beating around the bush and show you:

A mish-mash or random objects sitting in some sculpted terrain. Subtle glow. Vignette blur.

That’s cool Mike, but what is it?


Wait Mike, you could have done that in a day using Unity? It would be faster!

So? What’s your point?

I’m a fairly capable (and technical) coder, and something I’ve wanted to do was code the 3D tech for a game. What I have after a month is nowhere near as cool as Unity or UE3, but it is comfortable and capable for me. So yes, I’m working in C++ writing OpenGL rendering code and shaders. Why? Because that’s what I’m comfortable in.

Oh, and it runs on mobile too.

Running on a low cost (~$100) Chinese Android device featuring an ARM MALI-400 GPU

There really isn’t any significance to this above device, aside from the cost, or perhaps its own insignificance. Like what Smiles became, I’m testing my code across a plethora of modern devices as I go along.

I am not particularly targeting this for Moblie. If anything, PC is my primary target. In working on the tech though, I’ve found that by changing the target platform regularly, I find issues with code that I would not have discovered until much later.

My regular test devices include:
– PC (Windows Desktop) with an NVidia GeForce GTS 240 GPU (custom, my workstation)
– PC (Windows Desktop) with an AMD Radeon HD 6670 GPU (custom, my standing desk PC)
– PC (Windows Notebook) with an Intel HD 3000 GPU (Lenovo X220, my laptop)
– Phone (Android) with a PowerVR SGX 540 GPU (Nexus S, and my phone)
– Tablet (Android) with an ARM MALI 400 GPU (Onda VX610W)
– Tablet (Android) with a Vivante GS800 GPU (Window N50 DT)
– Tablet (webOS) with a Qualcomm Adreno 220 GPU (HP TouchPad)

Notably absent are iOS devices and a device featuring a Tegra 2, but as you can see the goal here was to cover every serious GPU vendor today. I’m currently only interested in shader capable GPUs that benchmark equal or faster than an iPhone 3GS (PowerVR SGX 535). At the present time, there are no plans to support fixed function rendering (Intel GMA 945, PowerVR MBX, Wii, PSP).

The thought is by having a device on hand featuring every major GPU, I’ll be able to find the most ideal and cross platform friendly way to render things. I would still like to get my hands on an NVidia Tegra based Tablet, a PlayBook, an Xperia Play, and something with a parallax barrier display. But unless I can find one stupid cheap ($100), I wont be buying them any time soon.

Though I have all these devices and am regularly testing against them, I’m not optimizing for mobile yet. Yes, I will eventually do tablet and mobile versions, but I am starting with the PC. The variety of devices are here as a sanity test for my code. If it runs everywhere, unplayable framerates aside, then it works.

That’s cool Mike, I see you’re still a porting nerd.

What are you actually making though?

I’ll tell you when you’re older.

Oh come on!

Alright, here’s a mockup I made back in 2009.

Apparently I've been designing and redesigning this game since before I started Smiles

That but better.

What does the post title mean?

Reinventing? Apparently a few things.

The main one is how I typically work. I was going to sit on this, wait and keep working until it was just right, then do a big push. That sucks. It takes forever and I build no buzz/interest prior to the launch of the game. So fine, lets not repeat Smiles’ mistakes.

The other is that I’m building a story driven game. I have a story I want to tell inside a game world, and I still plan to do this. However, it’s going to take me a while to get that far. According to my latest math, the soonest I’d be able to release was going to be early 2013. Yuck.

So let’s change that.

Now this doesn’t mean I’ll be releasing something tomorrow, but the plan is to make something available publicly far sooner. My goal is still to make this story driven game, but I’m going to make another game too, using much of the same content. In a sense, an expanded testsuite for the game I want to create. Less focus on the continuity, but a definite focus on how it plays, how it looks, and in time entertaining in its own right.

This here is the first step. Hello, yes, I am working on something. And over the next few months, it’ll start becoming something.