[Ocaml-biz] creating a household name

Brandon J. Van Every vanevery at indiegamedesign.com
Sun Sep 12 14:18:06 PDT 2004


Warning, this is long.

And, let's not go on and on and on about games after this thread.
Below, I argue why it's a perfectly good market, with big strategic
importance.  Whether anyone wants to personally address that market is a
totally different question.  I do; I have no trouble being alone around
here.  ocamlgames is the better mailing list for it.
http://groups.yahoo.com/group/ocamlgames/

Brian Hurt wrote:
>
> And if it has insufficient impact on programmerdom *IN YOUR
> OPINION*, I shouldn't bother working on it?

It's not my job to tell you what you're going to work on.  I thought
this was obvious and parenthetical, but I guess it's worth stating
explicitly.  There are several kinds of statements we could be making or
deciding here:

- things we think would be strategically valuable if someone did them
- things we're personally willing to do
- things ocaml-biz is capable of addressing as a group

and they're all distinct issues.  In my opinion, sparse matrix libraries
aren't strategically valuable to popularizing OCaml.  This has nothing
to do with whether you're going to work on them anyways.

> Because in my opinion, game technology is damned near
> irrelevent.

Well, that wouldn't be objectively correct.  It was a $31 billion
industry last I checked a few years ago.  I'll see if someone can point
me at more current info on market valuation.  Games also drive PC
performance forwards, i.e. CPU speeds, system buses, 3D cards.  You
think Microsoft created a console because they're all a bunch of
repressed creative types?  No, they're chasing the money.  They know
that "the battle for the eyeballs" is strategically important.

> Among
> other problems, it's transient.  This year's top title is
> next year's $5 remainder.

Engines / middleware have staying power that specific games don't.

Also, strictly speaking your statement is false.  Diablo II *still*
sells to this day, for instance.  The Sims franchise has a similar
longevity and is doing just fine.  Black & White still costs $20 for the
deluxe edition.  The problem is that only 10 titles have this staying
power at any given time.

> Getting an application like Open Office, or Mozilla, or Pro-E,
> written in Ocaml will be a victory for years if not decades.

Open Office or Pro-E, sure, but show me the money for the R&D.  Those
are going to come from funding and some startup's particular vision, not
any enabling toolkit.  In fact, one opinion expressed at ML Seattle is
that we're on a sideshow here on ocaml-biz.  One fellow said, "Attach
OCaml to funding."  Well, fine, great, true.  But that is easier said
than done, and not within my personal skillset, or I'd probably be a
gaming millionaire by now.  So I work on what I and/or ocaml-biz can
actually address.

Incidentally, I don't know that Pro-E would be the victory you imagine.
Wasn't Lisp its claim to fame?  I think CAD is merely 'that space', and
not broadly on everyone's lips.

As for Mozilla, why do web browsers need to be written in OCaml?  I
admit I don't understand this space, but it seems like an awfully
crowded space.

> Getting
> Doom-IV written in Ocaml will be a victory for months if we're lucky.

That's nonsense.  Any technically superior 3D engine has always made
waves.  First we only had ID Software.  Then Unreal came along.  Then
Half-Life came along.  Well, it's still coming along, but that's another
story.

> Another problem is that the fraction of the industry actually
> working on games is miniscule.

You can only say 'miniscule' in relative terms.  In absolute terms, the
game industry has huge numbers of programmers and artists and is highly
organized.  If you want to understand the game industry better, you can
look at http://www.gamasutra.com and http://www.igda.com  Film
franchises and huge budgets are the order of the day.  In 10 years' time
the artistic skills needed to work in the film or game industries will
be indistinguishable.

> I know hundreds of programmers in just about every
> corner of the industry
> (including dozens who would love a
> killer linalg package like I've described).

Then mobilize them into your personal team and go do it.  Nobody on
ocaml-biz has stepped up to help you, however.  Nor me with my 3D engine
idea, for that matter.  This just isn't the venue for recruiting these
kinds of things.  All we can do here is sanity check strategy.

> I know one guy (not counting you, Brandon)
> who would like to get into games (he hasn't yet).  This isn't a
> statistical sample, I'll agree-

Nor relevant even if it was.  The vast majority of people I talk to on
mailing lists and newsgroups are game developers, whether hobbyists or
professionals.  Seattle is one of the world epicenters of game
development.

I know the guy who made the toys for Halo and Half-Life personally.
He's my possible business partner.  He can make any plastic thing he
wants in China.  The problem is he doesn't focus too well on certain
specifics that need to happen, and I haven't conjured up a Maya content
pipeline for him to use yet.  So I proceed with my own plans instead of
worrying about his.  If he suddenly comes to me with funding, I'll drop
what I'm doing.  Until then, I'll keep on with my own open source
OCaml-centric bootstrapping model.

> but compared to the number of people
> writing "boring" business apps, or even the number of people writting
> embedded realtime code, there is almost no one writting games.  Heck,
> compared to the number of people in the CAD/CAM industry,
> there is almost no one writting games.

But ask a bunch of kids what they do with computers, and they will tell
you games.  Games have disproportionate mindshare for the number of
people working on them.  No kid writes boring business apps.  13 year
olds write games.

> There is one advantage game programming has.  Gaming is popular among
> students.  And so a lot of students start out thinking they
> want to write
> games.  They later discover that writting games is a lot like being a
> musician- it's glamorous and rewarding for the select few who
> make it, most people don't, however.
>
> The problem with selling to this market, however, is that almost by
> definition they don't know anything. They will actually be *less*
> inclined to take a chance on a radical new language, because
> they don't know how/why one language can be better than another.

You've got it totally backwards.  They don't know anything, so it's easy
to sell them any old thing.  How on Earth do you think Microsoft has got
them doing C# and Managed DirectX?  Kids have *tons* of energy for shit.
They want to work on something *KEWL*.  Well, OCaml *is* kewl.  And if
you can't figure out how you'd sell a kid on OCaml, well, you don't have
any head for marketing.

> So, let's see: who could use a real kick-ass numerical
> library?  There's
> the CAD/CAM people, definately.  All of the scientific/supercomputing
> people.  The game people (I just noticed TuxRacer has an ODE
> solver in
> it).  The students.  The engineers.  The mathematicians and computer
> scientists.  Anyone who uses Matlab currently.  Probably more.

Your problem is you want to buck current standards.  My problem is
easier.  There is no commercial grade open source 3D engine to compete
with.

> The only reason they haven't given up their BLAS/LAPACK is
> that nothing better has come along.  All too often BLAS/LAPACK doesn't
do,
> or doesn't
> do well, what they need to do.  Mostly, they reimplement as
> need be- in
> other words, they've already given up their BLAS/LAPACK.  But
> that doesn't mean they're happy about it.

Well, nothing better than Intel has come along yet either.  Meaning, AMD
64-bit exists, and people aren't simply flocking to it.  Don't
underestimate legacy support issues.  You're talking a very slow road to
growth, trying to replace BLAS/LAPACK by open source means.  It will
take you many years if you have the strategic discipline [*] to keep
such a project going all those years.  If you attach yourself to
funding, get your buddies into a startup, and offer a commercial
product, you could do it tons faster.

[*] And what I mean by that is, I see how Nebula2 lost strategic
discipline.  They chose a clean slate rewrite to make the engine
shader-centric.  They eschewed backwards compatibility.  Guess how many
Nebula1 developers gave up and found something else to do?

A more famous example of 'loss of strategic discipline' is when the
Netscape guys rewrote their browser from scratch.  That's one of the
main things that allowed Microsoft to put them under the table.

> And if we were marketing to Joe Sixpack, that'd be a problem.
>  How do you
> tell, based upon the shrinkwrapped box you just picked up at
> Best Buy,
> what language the product is written in?  I can't tell.

Joe Sixpack is only valuable for buying games and making them popular.
It's techies picking up games that matter.  There are many ways to
inform game developers what underlying technologies were used.
Generally they are interested in how successful games are put together,
they are seeking this information to some degree.

> By the way, I can not *imagine* any of the people working in
> the business
> logic end of the industry to say something like "Hey- let's
> use language
> X.  It was used to develop this game I really like, I think
> it'd be great for our core database app!"

Even if they were a MMORPG freak in their spare time, and noticed the
complete lack of downtime for some OCaml super-server?  Mind you, that's
not a space I'm after right now, but it is a possibility.


Cheers,                     www.indiegamedesign.com
Brandon Van Every           Seattle, WA

Taking risk where others will not.




More information about the Ocaml-biz mailing list