Advice to author. Create iOS and Android versions of games ASAP. You are just hours away from getting cloned on app stores.
I'm curious what would stop someone from directly copying his code and sticking it in an webview of an android app.?
Game about squares
141–150 of 208 posts
Re: Game about squares
#142Re: Game about squares
#143And go! Tomorrow this game in full will appear on the Google Play store with the exact same colors. In 3 days this game will be rewritten in Swift, Erlang, and have a community based variation. In 4 days someone will find a way to merge this game with 2048 and Flappy Bird. In a week there will be 20 variations of this game including one called Dodge Squares on the iTunes App Store. I'm not psychic, I've just seen thi…
Re: Game about squares
#144Re: Game about squares
#145Earlier quoted context omitted.
Sokoban rules, you can get it for free here: http://www.abandonia.com/en/games/231/Sokoban.html You need DosBox to play that. But there's probably a multitude of online clones as well.
I made a web based one a few years ago which I'll take the opportunity to shamelessly plug: http://sokobanjs.com
Re: Game about squares
#146Suggestion : add keybindings. I'm spoiled by 2048 I want direct repeated manipulation at my finger tips. :)
Maybe tab to change the selected square and enter to make it move, since there's only one direction?
Re: Game about squares
#147It should be possible to write a solver for this with a "decision tree". There are decisions where the blocks run out of the screen - you ignore these. You only take into account "sensible" decisions (this has to be formalized). When there are multiple possible "sensible" decisions you branch. One decision consists of an action "click x times on block X and y times on block Y …"
Re: Game about squares
#148https://gist.github.com/CyberShadow/39f43cf25dac0534f8a9
The solver uses BFS with delayed duplicate detection for pruning visited states (instead of, say, hash tables).
The DDD part can be summed up in two lines of code:
prevStates = (prevStates ~ states).sort.uniq.array();
states = nextStates.sort.uniq.setDifference(prevStates).array();
// ... expand states into nextStates ...
These were part of the solver's code at one point, although now I've expanded them a bit to improve memory efficiency.I love D.
Re: Game about squares
#149Earlier quoted context omitted.
I found myself following a constraint-satisfaction approach to prune the search. I'd quickly work out the unrecoverable conditions to put constraints on the overall possible moves, then start thinking about possible states both forward from the start and backward from the solution, and consider the requirements to reach those states. That tends to produce new unrecoverable conditions and prune the search further. Sti…
You perfectly described my process so now there's 2 data points. If anyone else had some different way please share.
Re: Game about squares
#150Solver and solutions: https://gist.github.com/CyberShadow/39f43cf25dac0534f8a9 The solver uses BFS with delayed duplicate detection for pruning visited states (instead of, say, hash tables). The DDD part can be summed up in two lines of code: prevStates = (prevStates ~ states).sort.uniq.array(); states = nextStates.sort.uniq.setDifference(prevStates).array(); // ... expand states into nextStates ... These were part o…