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
- Host: GitHub
- URL: https://github.com/styts/snakes
- Owner: styts
- Created: 2012-04-29T20:59:38.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2012-09-04T20:59:22.000Z (almost 14 years ago)
- Last Synced: 2025-01-28T01:26:51.555Z (over 1 year ago)
- Language: Python
- Homepage: http://unbeaded.com
- Size: 11.7 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
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