Hashlife

Hashlife



Free

1.2.1for iPhone, iPad
Age Rating
4+
Apps in this category do not contain restricted content.
9+
Apps in this category may contain mild or occasional cartoon, fantasy or real-life violence, as well as occasional or mild adult, sexually suggestive or horrifying content and may not be suitable for children under 9 years of age.
12+
Apps in this category may contain occasional mild indecent language, frequent or intense cartoon or real-life violence, minor or occasional adult or sexually suggestive material, and simulated gambling, and may be for children under 12 years of age.
17+
You must be at least 17 years old to access this App.
Apps in this category may contain frequent and intense offensive language; Frequent and intense cartoon, fantasy or realistic violence: frequent and intense adult, scary and sexually suggestive subjects: as well as sexual content, nudity, tobacco, alcohol and drugs, may not be suitable for children under 17 years of age.
Hashlife Screenshots
Hashlife posterHashlife posterHashlife posterHashlife poster
Hashlife posterHashlife posterHashlife posterHashlife posterHashlife poster

About Hashlife

Fastest Game of Life Simulator for iOS available on the app store by Jiachen Ren. Enjoy!

Gesture Controls in Simulation tab:
* long press to start/stop the simulation
* swipe up with two fingers to accelerate/decelerate the simulation
* pinch to zoom in and out (current cols * rows is displayed on the upper right corner)
* generation and population statistics overlay (could be disabled through Instrumentation tab)
* pan to move around (note that pan gesture could also be treated as draw/erase depending on the context).
* when loaded pattern with "insert" option, tap to drop pattern, press discard to discard loaded pattern.
* when the view disappears, timed refresh automatically stops, because otherwise it would slow down UI performance.
* to enable timed refresh when not in the simulation tab, press "start" in the segmented control provided in Instrumentation tab.

Patterns tab:
* more than 1000 pattern files from wikipedia
* app supports pattern files with different rule configuration (actually all of them). Default is 23/3
* if config is not default, then the different rule set is displayed to the right in blue.
* press on any of them to segue to the overview
* press "Network" located in the nav bar to do network fetch.

Overview:
* name, author, rule, source, description and the properly scaled preview of the pattern is provided.
* press on the link to see more details on wikipedia
* press on the pattern preview to segue to Editor view controller.
* press load to choose between overriding the existing universe or insert multiple copies into the current one.
* if a universe is overridden, then the rule for the current pattern is applied, if not, the current rule will not be changed.

Editor:
* rotate and flipping capabilities are supported.
* segmented control for pan, draw, erase. Brush size could be controlled through Instrumentation tab.
* when back to the overview, any edits are saved for the current session
* click on save copy to save your own copy, you can also set the rule

Instrumentation:
* customizing color for grid, cells, and background.
* customizing the rule
* customizing overlays on the instrumentation tab
* overriding the auto speed to make calculation even faster
* enabling/disabling stats update(turn this off to save some power...). NOTE: stats will update only if this switch is enabled

Statistics:
* Three graphs for population, calculation duration, and empty nodes (since the universe is infinite)
* cached results: the size of the hash map that I use to do save tremendous amount of computation (memoized, not hash life)
* every time when the rule changes, the hash map is emptied because cached results only work with uniform rules.

Loading large patterns:
* large patterns include OTCA cells for "life in life", Turing Machine, a bunch of prime calculators, etc
* it will take about 15 seconds for the hash map to cache enough results to accelerate the calculation
* once warmed up, calculation time will back to normal (this could be confirmed by checking the stats tab)
* rendering large amount of cells take time, adjust the rendering quality in Instrumentation > Cell > [Faster, Balanced, Better] and in Instrumentation > Auto Speed > Max Allowed Rendering Duration to achieve speed boost if needed.

Compatibility:
* Iphone 5s and up. Any versions of ios before 5s will crash the app due to integer overflow.
* It is not possible to fix because my hashValue generation algorithm produces an oversized int on Iphone 5 and below.

CoreData:
* When the app is opened up for the first time, the app will transcribe all of its .rle files into CoreData for the following reasons:
1) faster performance when loading patterns
2) better & easier management.
* However, if the you decide to quit during the process in which the app is building up the data base, it is no big deal, because the app will start from where it left off the next time the user opens up the app.
Show More

What's New in the Latest Version 1.2.1

Last updated on Apr 3, 2018
Old Versions
Update for iOS 11, critical bug fixes aimed to improve user experience, and support for iPhone X.
Show More
Version History
1.2.1
Apr 3, 2018
Update for iOS 11, critical bug fixes aimed to improve user experience, and support for iPhone X.

Hashlife FAQ

Click here to learn how to download Hashlife in restricted country or region.
Check the following list to see the minimum requirements of Hashlife.
iPhone
iPad
Hashlife supports Chinese, English

Hashlife Alternative

Get more from Jiachen Ren