About Me

I typically end up dealing with all the junk most projects don’t think about until a week before release and they realize that not all devices act the same, and we can’t fit the game into the 100mb limit.

I am a twenty year game developer veteran. From humble beginnings as a shepard I rounded out my skills in application development, eventually building a business porting games from Windows to Mac the hard way. Working in mobile game development for many years with my own engine, working with Unity3d felt like coming home.

Major facets of my life: God, Family, Work. (Isn’t everyone’s?)

Despite non-religious parents, somehow as a teenager I learned God existed. Later my wife helped me understand that He got me through the hard times. Now I do my best to be a disciple of Jesus.

When we met, we were just gonna stay friends forever. No kids, just have a lot of fun together.
Fifteen years later we have been happily married for over a decade and absolutely love our three kids.

Coding since 1993 on an Apple ][e, and most of my career has been in games. I’ve proven myself capable in all levels of development from the lowest to highest levels of design and implementation.

Few years ago a couple good friends went to motorcycle riding school, and wifey said I could go. My father was big into it, and now I ride as often as I can… when the kids go to bed! :^)

Interested in working with me? Check out my portfolio, or drop me a line!

Massive Assault (Macintosh Port)

Ice Planet Screenshot

  • Full Name: Massive Assault
  • Original Developer: Wargaming.net
  • Original Publisher: Multiple publishers, depending on region
  • Original Release Date: 2003
  • Port Comissioned by: Virtual Programming Ltd.
  • Mac Release Date: 2004
  • Mac Publisher: Virtual Programming Ltd.

Excerpt from the USA press release…

Red Planet Battle Screenshot

Massive Assault is a fully 3D turn-based strategy game set in a futuristic world of, missiles, mechs, and mayhem. With 26 different land, sea and air units, huge 3D landscapes and 6 different planets on which to battle, Massive Assault is a strategy gamer's dream.

With Massive Assault you can play against the top-notch AI, or with your friends via hot-seat or over the internet. The game combines the best elements of turn-based war gaming with a unique "secret ally" political feature that can disrupt even the best laid battle plan.

Desert Battle Screenshot
After years of doing totally different, non-game related work, this was the first foray back
into game development. There was a lot of catching up to do.

At first we were going to use an existing DirectX compatibility layer. As it turned out,
it did not have all the necessary parts to run a game with these abilities. This game uses all
the latest stuff, including vertex and pixel shaders, which were not available with the
software we were going to use.

So we set about the task of writing our own compatibility layer from scratch. We chose this
direction for two reasons: we could maintain the code ourselves, adding what is needed;
and it would be based on Cocoa, being in line with the "New-Mac" way of doing things.
It is the direction Apple wants to go, and as it turned out, we have found it very easy to
work with.

Shadows and Highlights Screenshot
In all honesty, it really didn't take that long. Well, not in project terms of time, anyway.
As it turned out it was not the DirectX
layer that cost us time – it was the vertex shaders. We converted them to use the standard
OpenGL ARB vertex programs, in a naive fashion. They worked on the ATI video boards immediately.
Unfortunately the NVIDIA video boards were driven crazy by them. Kudos to all at NVIDIA
and Apple who helped us figure out what the real problem was. At the time ID Software's
Doom III was on the horizon, and was pro-ported to use the same type of vertex and pixel shaders
this game did. I commented "Unless you fix this, ID software is going to look at the
Macs and laugh." As it turned out, Apple and NVIDIA did their jobs, and six months later
there was an OS update to the OpenGL drivers that included a fix for the problems we saw.
Somewhere in a readme I think, it mentioned that it fixed problems for Doom III. Did I call it
or what!

Reflective Water Screenshot
This was a great experience. The DirectX compatibility layer is working wonderfully –
we can now port simple projects in one hour! While this is only good for tutorials
and such, it is actually quite useful to us. We make sure
additions to the engine work the same as the original PC. We take demonstration programs
written for the PC and port them, and fix the engine to make them match.
And each successive project has used this layer and improved upon it.
This was the best idea we ever had!

Links LS 2000 (Macintosh Port)

2k Gameplay Screenshot

  • Full Name: Links LS 2000
  • Original Developer: Access Software
  • Original Publisher: Microsoft
  • Original Release Date: 2000
  • Port Comissioned by: Green Dragon Creations, Inc.
  • Mac Release Date: 2000
  • Mac Publisher: MacSoft

Excerpt from Mac version review at Mac News Network

Links LS 2000 is a revamped Macintosh version of one of the premiere golf games available for Windows, offering gamers one of the most beautiful and realistic golf simulators available for any computer platform.

Links LS 2000 features several modes of play scattered across the game's six beautiful courses that have been modeled after their real life counterparts. Every detail, from sand trap location to the green, has been accounted for. Video-captured players, including Arnold Palmer and Fuzzy Zoeller, contribute to the realism of the game, although the static, pixelated crowds do little to complement the life-like players.

I came in on the tail end of the project, and it was a short one for me. This product was based on
the earlier version, the original Links LS, that I had helped port. By the time I got involved,
all that was needed was bugfixing. With my familiarity with the original code I was able to get
things on track pretty quickly. However, this was another reminder of how important unit testing
is to compare both platforms together.

Links LS (Macintosh Port)

Lineup A Shot

  • Full Name: Links LS (Legends in Sports)
  • Original Developer: Access Software
  • Original Publisher: Access Software
  • Original Release Date: 1997
  • Port Comissioned by: Green Dragon Creations, Inc.
  • Mac Release Date: 1997
  • Mac Publisher: Access Software

Excerpt from PC version review at CDAccess.com

After winning nearly every award for a sports simulation possible with Links 386, Access Software had to dig deep and stretch the limits of technology to bring you the next generation of Links – Links LS. So what's new about Links LS? Every stroke, every blade of grass, every contour, every chirp…everything is new!

Unlimited screen resolution and up to 16.7 million colors – resolution independent means that Links LS can match any monitor's maximum viewing capabilities (even 1600×1200 and higher) and up to 16.7 million colors means the finest in color quality possible. You've simply never seen any golf simulation software this good.

Totally new terrain rendering engine and ball flight gives Links LS a realism never before achieved in the gaming industry. As Links has always done, we render not just the hole itself but the entire course and more – you literally can hit your ball a half-mile out of bounds. Now, authentic ground, sand, and grass textures combine with dynamic shadows and fog, to give you a course so lifelike you can almost feel the wet grass. Our engineers have reworked the ball dynamics giving you true-to-life ball flight. Fade your drive just like the pros or watch as your high arching wedge shot actually backs up on the green.

At Access, we believe a golf game should be more than just an interaction with your mouse. We take seriously the challenge of recreating the golfing experience for your computer to totally immerse you in our favorite sport at the flip of a switch.

Arnold Palmer at Latrobe Country Club
Arnold Palmer at Latrobe C.C. – the first in our Tour Player Series, delivers far more than 18 holes of golf. The Arnold Palmer experience includes a virtual reality tour of Arnie's workshop, office and trophy room. Roam freely in 360 degrees and examine the tools of the trade behind the legend. Listen to Mr. Palmer give insights and recollections about his PGA and Senior PGA tours through Access Software's exclusive multimedia footage. Then tee off as or against the digitized Mr. Palmer, who not only looks and sounds exactly like Arnie, but plays with the same style and tenacity that defined the legendary Grand Master of Golf.

Kapalua, Maui – 36 Stunning and Demanding Holes
Resting on the windswept coast of Maui, two glorious Hawaiian Island courses have been selected to inaugurate Links LS as the first in the series of Resort Courses. The Arnold Palmer-designed Kapalua Village Course has a distinctly European flavor and a commanding view of the West Maui mountains. The 7,263 yard Kapalua Plantation Course showcase expansive slopes, deep valleys and unique native vegetation. You can take a walk through the Plantation Clubhouse and examine over 93 points of interest.

Multiple Window support
The original Links LS was the most complicated port I was ever a part of. We were just
wrapping up the Under a Killing Moon project when I was given the source to this and asked to
research it.

This game was designed as a DOS game that had a Windows-like front end. This meant that all of the
GUI work, normally handled by the OS, was handled within the game itself. On the plus side, it
looked much better than anything out there, including Windows itself. However, it took over the
screen and rendered everything itself. To keep the look and feel closer to the original, we chose
to keep it this way, rather than recode it to use Mac-standard windows. To make it more Mac-like,
I had to swap all the OK and Cancel buttons in the resource files by hand, then make the close boxes
not look like the Windows 'X'. This turned out to be difficult, a lot of trial and error, but

Practice User Interface
And yet that was not the most difficult part. The rendering system was an engine unlike anything
I've seen before or since. It was capable of rendering images with a variety of different methods.
Translucency, darken, lighten, multiply, add, and subtract modes were available. Even some special
3D texture rendering modes were all handled through this system. And for each one, it supported a
variety of graphics card pixel formats. And almost all of them had to be supported on the Mac side
in order to read and operate on the original data files that came in the game. Then we had to add
two more to handle the Macintosh Thousands and Millions graphics modes. How it did it: lots of
little snippets of assembly language code. Luckily, this was a PowerPC only CFM application, so
we only needed to convert these once. For the record, it is possible to build your own code
at runtime in a CFM app. Complicated, but possible.

Clubhouse 3D Walkthrough
Data files were also a problem. We were tasked with making sure to use the original game data
files unaltered. This meant byte-swapping the structures during loads. This in itself was not a
big problem, but there were some cases of unusual byte-packing orders. One thing that I have
learned since this project is that you must have the ability to create unit-tests that can be run
on both platforms. It would likely have saved us considerable trouble.

Under A Killing Moon (Macintosh Port)

Title Movie Screenshot

  • Full Name: Under a Killing Moon
  • Original Developer: Access Software
  • Original Publisher: Access Software
  • Original Release Date: 1994
  • Port Comissioned by: Green Dragon Creations, Inc.
  • Mac Release Date: 1995
  • Mac Publisher: Access Software

Excerpt from PC version review at Programmer in Black's Web

Back Alley Screenshot

You control the actions of one Tex Murphy, a down-and-out detective. The time is the future, the things Murphy will say reminds you of old detective movies.

The game is based on a *very* good virtual reality engine. You can do things like turn your head while walking forward, look up or down, stand on your toes or – very important – crouch down. My first impression when I started this game was wow. My second was “Why can't I be working on something like this?” Some people may find controlling all the movements of the character distracting or even disorienting though. Especially when you need to move quickly to a hiding spot.

The cast for the game is good. My favourite is James Earl Jones as The PI in the Sky, and having him remind you of the “Rules of a PI”. In fact, because of this, it does tend to be fun to die in this game. Though at a late part in the game, death gets a bit too frequent to be as much fun.

I must admit though, not all of the acting was enjoyable. I didn't really like Tex's ex-wife scene, it was just *too* much. I mean, a bit cheesy is one thing, but I found this excessive. The same goes for the 'valley girl' girlfriend you talk to later in the game.

Newspaper Screenshot
Were I to choose one project I am most proud of from my early years, it would be this one.
This DOS game was written entirely in assembly, to try to get every bit of speed they
could out of their machines. We chose not to do that for two reasons: we had two architectures
to support (68K and PPC), and we didn't have the same considerations for our processors (no
64k address space limits). By the time we got the project the compilers were already sufficiently
advanced to take our suggestions rather than create very bad code.

3D Temple Environment Screenshot
My focus on the project was the virtual reality engine. I had never seen anything remotely like it,
and even today I have seen nothing like it. The original creators had decided in a stroke
of genius to setup actual rooms with the items inside and digitize them directly where they were.
As opposed to the 'artist rendition' version that is, even now, only has a vague resemblance
to reality.

So my task was to take an assembly language program and line by line work out what it was doing, so
I could replicate it in C. Never having handled something this big, I got the idea to first
make a map of all the functions, who called what,
what were they called, and what functional groups were there.
It was to lay the foundation of how I approach every project since that time. With this knowledge,
I planned out the first steps of things to tackle.

Full Motion Video Screenshot
There were three development phases going on at
the same time. As it turned out, my phase was completed long before anyone else's. The original
team lead chose to move on after completing his phase, and I took up the reigns behind him. This
was quite a jump for me, as this was literally my first project after leaving school, and I was
already in a leadership role. Therefore I helped bug-fix and wrap-up the rest of the project until