
Itch.io refinery: A customizable toolset for first game releases and playtests - elisee
http://blog.itch.io/post/144305999624/itchio-week-day-5-part-1-itchio-refinery
======
leafo
Hello,

I'm leaf, I founded itch.io 3+ years ago. I launched it on hacker news even!
[https://news.ycombinator.com/item?id=5445029](https://news.ycombinator.com/item?id=5445029)
(it's funny reading that thread now, so many haters)

Anyway, this thing is a huge accomplishment for us. The post linked doesn't go
into the technical details, but they're the reason why I think this launch is
awesome.

We've built a generic binary patching system for game developers. We're
providing it as a service for people who use our marketplace. We've integrated
it into our desktop app, but the tools can run anywhere.

Everything is written in go right now, it's divided into our command line
tool, butler, and our server architecture, wharf. (we've got some cool tools
up our sleeves, like doing patch generation and uploading directly in the
browser via a js implementation)

Most of it is opensource:
[https://github.com/itchio](https://github.com/itchio)

The wharf documentation is excellent if you want to learn about the algorithm:
[https://itch.io/docs/wharf/](https://itch.io/docs/wharf/)

And we have more info about the command line tool:
[https://itch.io/docs/butler/](https://itch.io/docs/butler/)

Steam provides similar technology, completely closed obv., and we were able to
get on par with them, or beat them in terms of patch generation size and speed
in many scenarios. And it completely destroys them in terms of simplicity. I'm
really happy about how it turned out.

I'll be checking here to answer questions,

Thanks

~~~
Zekio
Love the site, and the desktop app, though browsing in the desktop app could
use some speed optimization :)

Also would love a feature that allows you to move something installed to
another install location.

Hope to see more people using your platform, I am definitely gonna use it to
share tools I make with others since its easy to use :)

