Hashlife: what kinda fresh hell am I getting into? (Help! Please)
08:35 23 Feb 2026

First time poster here, seeking help and guidance from people like you, who are light-years ahead of me in your programming journeys.

So! As the title suggests, I'm trying to tackle Hashlife.

Am I jumping in blind? No, well, not entirely!

First thing, I've studied this article concerning GoL:

https://medium.com/@d.dadiani343/how-to-implement-conways-game-of-life-in-java-e1f9196d9844

And the Java code found in the article-linked Git repository:

https://github.com/TomC333/Conway-Life-Game?source=post_page-----e1f9196d9844---------------------------------------

Doing so, I've acquired a basic understanding of how GoL works.

As is natural, I've attempted to expand the grid - more cells, more fun! Right?

Sure! But, I've also discovered that this basic implementation slows down considerably, what with every cell being associated to a running thread.

Good then, 'how to speed GoL up', I Googled. The finds: Hashlife, in all its glory.

How does Hashlife work? I've stumbled into a few more articles - these, in particular:

https://en.wikipedia.org/wiki/Hashlife

https://www.dev-mind.blog/hashlife/

https://jacobfilipp.com/DrDobbs/articles/DDJ/2006/0604/0604b/0604b.html#rl1

https://www.thelowlyprogrammer.com/2011/05/game-of-life-part-2-hashlife.html

Now, the 'why' I'm here, writing this post: I have sort of grasped, on a conceptual level, how William Gosper's algorithm works, with the use of a quad-tree, the subdivision of the grid in smaller and smaller square-shaped sub-grids (nodes), the computation and canonization of node centers - etc.

What's the matter, then? Ah! You see... I boot up Eclipse (yes, I'm practicing Java), create a new project and... Nothing! Absolute, pure, unadulterated mind blank.

I struggle to understand how to traduce the algorithm into actual classes and functions. Am I to use threads, still? How do I subdivide a node into smaller nodes? How, in this new scenario, is the state of a cell computed, based on Life's three basic rules? How do I compute the state of the cells only in the center-region of a node? How do I canonize the base-patterns? How do I hash them? So on, and so forth(these are but a few of the questions buzzing in my head).

Then, a question (the nth at this point, really): does any of you know about any manner of step-by-step guide on how to codify Hashlife? Something to give-out pointers, help when a snag is met.

At any rate! If you read this far, thanks for your patience.

java eclipse hash conways-game-of-life quadtree