[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] making game distribution easier, part 1.



This is such a great idea. I love it.

Thinking it through some has hurt my brain, though. But not as much as
manually resolving dependencies. I think obviously the biggest
challenge is going to be the dependencies. I lost count of how many
times I gave up on trying out someone's cool project when resolving
dependencies became too big a hassle. I consider myself of high
technical aptitude, but not in that area--I'd rather go play Diablo
some more. And if I was a regular joe, I'd definitely go play Diablo
some more.

Managing dependencies somehow with the distributor is imperative.
René's suggestion, having standard "platform" builds, seems the only
realistic way to go. Still, it could be a daunting ordeal just to
validate your app on all the platforms, even if you reduce the parts
to: 1) hardware architecture; 2) OS level; 3) Python runtime and
libraries; 4) times, say, two--one each for the current and previous
stable runtimes. That's a lotta work just to validate an app. I can't
imagine the work required to make all the environments.

But if you have a Python runtime build for each major system platform,
and they are at least 95% cross-platform compatible, it should greatly
simplify distribution as well as dependency resolution. And app
developers could code around the 5% if/when they are identified and
documented.

As Patrick points out, if you stay current you should be mostly okay.
It seems most devs and teams strive to make their new releases
backwards compatible, and phase out their deprecations to minimize
impact.

The only real difficulty the app developers need to worry about, then,
is how to distribute dependencies not provided by the platform. For
example, if you presume to install them in Python's site-packages or
site-wide library paths, you will eventually create conflicts.

It would require a lot of effort, multi-teamwork, and tight
organization. But the results could be so great. Developing for the
platform then becomes a design decision. And da Gumm can try all your
apps widdout hurting his brain no more, instead of playing Diablo
again. =)

Well... I'll never give up Diablo.

Gumm