An open API service indexing awesome lists of open source software.

https://github.com/styts/snakes

Machinarium-inspired puzzle game prototype in pygame
https://github.com/styts/snakes

Last synced: about 1 year ago
JSON representation

Machinarium-inspired puzzle game prototype in pygame

Awesome Lists containing this project

README

          

(Original code form April 2010).

Inspired by the puzzle from the game Machinarium.

http://www.youtube.com/watch?v=UQQML2gKpKg&t=6m

Notes
=====
Moves should be counted in single units and not individual steps (a snake pulled 3 blocks should count as 1 and not 3) - better user friendliness / cognitve.

"Make a hint" feature.

App as a touch interface for phones and tablets (bacause a lot of dragging is involved).

Run
===
python Snakes.py

Shortcuts
=========
S : Solve
Cntrl+S : and draw graph
Alt+S : and compute all finals (full graph, takes longer and more memory)
Cntrl+Alt+S: draws pretty big graph ;)

Bugs
====
Currently the Solver crashes on more complicated graphs (larger ones), giving the error:
illegal hardware instruction (this only happens with GUI mode, in CLI mode it gives Segmentation Fault ? and the big reason is that we run out of Memory)

Windows-specific bug: level complete screen not shown properly (could it have to do with png transparency?)

TODO:
====
* add "eyes" or something to distinguish the pullable components (maybe also add arrows?)
* "hardcore mode" : when life decreses consistenly through the leveles with extra moves

Profiling
=========
gprof2dot.py is an awesom cpu use visualization tool.
I need memory profiler though for debugging the exponential growth in my solver.

objgraph.show_chain( objgraph.find_backref_chain(random.choice(objgraph.by_type(
'dict')), inspect.ismodule) , filename='chain.png')

Sliding puzzle