Heh right.. I was similarly surprised that I didn't need a special way to chop trees while developing it :)
bojidar_bg (defunct)
Creator of
Recent community posts
In order to make the game less random and more "fair", I made it so that evil trees cannot kill you before you have seen them move. Overall, the game is not too challenging, indeed, though it is entirely possible to lose when moving back-and-forth over a larger distance with a large amount of evil trees.
Unless I messed up the board input, swapping the two ones in the corners makes that board solvable: https://ibb.co/wKTcHdp :)
(Slight repost) I made a Boxit solver in JavaScript, and couldn't manage to find an unsolvable starting board after going through something like 10000 starting boards. The full space is 25!, which even when accounting for color exchanges (5!), symbol exchanges (5!), row exchanges (5!), column exchanges (5!), and transpositions (2) is still around 1.6e22, so my search has not been exhaustive by any means.
So, I would be pretty interested if there is, in fact, an unsolvable board :).
Edit: I have constructed an unsolvable board by hand ("fodwqbutimrgkexncvpjyshla"). Still, I wonder if there are other unsolvable boards apart from its reflections. Even better if they are unsolvable because it is impossible to get them down to one tile, not because it is impossible to move from the very beginning. (If this is the only group of unsolvable boards, then landing on it (1 in 1.6e22) would be equivalent to getting ~73 coin flips landing heads.)
I made a solver for the game in JavaScript; so far I haven't seen an unsolvable grid. https://gist.github.com/bojidar-bg/1142c341be5bdd1a9117fcd6e6f85ae9
The solver uses simple Depth-First-Search, without optimizations apart from passing everything around as immutable strings, instead of using arrays.
It supports two modes for inputting board data: a compact format using all letters of the English alphabet to represent a board and a more human-readable format which uses a letter representing the color followed by a digit.
For output, it can output colored text if running under Node.js with the cli-color package; otherwise, it will use an uncolored output format similar to the human-readable input format.
Update: Board "auheixpjyfcgnrldbtvmwqkso" seems to be unsolved after throwing 5 GB and 6 hours at it, let's see if the process finishes eventually.
Update: Board "auheixpjyfcgnrldbtvmwqkso" was solved very quickly by switching the order in which moves are made from horizontal to vertical. Whooops!
Yes they are indeed lifes. They are different shapes since it felt really bland having them be just pentagons.
I had actually used only two hours for this version of the game (and 1 hour for a 3d prototype which didn't turn out as well) so technically I had one hour left which I could have used for the music. It does work well with certain pieces of classical music, e.g. "In The Steppes of Central Asia" by A. Borodin.
Thanks for the feedback!
Some background music would have definitely been nice; I should probably try to do that in later editions of the jam. :)
Sorry about not being able to close the window on Linux. I went a bit trigger-happy with the confined mouse mode, without giving an easy way out. You can close the window using Alt-F4 or by focusing another window and then clicking with the game's window's close button directly.
You can choose when you want to take the 3 hours. So if you start right now, you would stop after 3 hours (and then go about publishing on itch). But, you can also start tomorrow at, say, 7:00 AM, and keep going till 10:00 AM. Actually, you can even break the time into parts -- as long as the total time you spend working on the game (art, programming, and music) fits within 3 hours.
Crashes on my machine (Arch Linux, recently updated), after pressing X next to an enemy:
Traceback (most recent call last):
File "./CoinRoulette.py", line 451, in <module>
main()
File "./CoinRoulette.py", line 15, in main
game(curses_controller)
File "./CoinRoulette.py", line 318, in game
fight(curses_controller, o)
File "./CoinRoulette.py", line 375, in fight
curses_controller.flipResult(" oo WIN oo \n")
File "./CoinRoulette.py", line 263, in flipResult
self.doCoinflip()
File "./CoinRoulette.py", line 288, in doCoinflip
self.stdscr.addstr(14 + i, 7 + X, row)
_curses.error: addwstr() returned ERR
Nice game! I liked it.
Found a few bugs:
- Greater Stoneskin potion is listed as "Stoneskin".
- Getting a 6-digit amount of money makes the game show only the first 5 digits until you buy something which causes one of the displayed 5 digits to change (I guess?).
- Point 3 in the description is wrong: there are actually three versions of each potion: lesser, normal, and greater.
Other than that, it would have been nice to be able to either buy in bulk or to buy by just double-clicking. Right now, going over all the 156 possible recipes was a bit painful. :]
The idea is to have a variety of recepies and things to do, not just a few tools and chests. Each of them would allow the player to either make themselves more comfortable (for example, portals, so that you don't have to walk too much) or more productive (e.g., tools which allow pushing multiple things at once or machinery which does the boring work for you). That way, there would be more progression at later stages of the game.
Thanks for the feedback!
I agree that recepies and keys should probably be put as part of the game (a tutorial probably), but I just didn't get to that in time for the jam.
About moving rocks, it is supposed to be tricky, but after finding a few free-standing stones you can make a pickaxe, which can then be used to pull the rest.
This time I got around to improving the inventory overlay and actually implementing crafting tables (I'm not completely satisfied with the result yet, I guess I will need to tweak things a bit more). Additionally, made chests (and crafting tables) add the mass of the things inside them to their own, thus disallowing the use of chests for transportation of goods
Progress!
Got chests working today, though inventories would be shown in a better way later. Also, the hard-to-see gray frame now has a sprite.
Next up is some crafting, so that the game will finally meet the jam's theme. After that, I'll probably change the way the chest inventory overlay is positioned (ideally, it would be possible to see what is inside the chest without getting in as well as what is outside before going out). Ah, and I should probably increase the chest weight based on the contents...
Hey there, I'm bojidar-bg, and this is my first jamcraft (and probably 5th or 7th jam overall)!
For this jam, I decided to go with an idea I had some time ago, a combination between Sokoban and Minecraft. In it, the player can move in a top-down view, pushing things around. Additionally, they can push items into chests and similar things with storage, as well as enter those storages themselves (likely to retrieve something). Finally, they can use items in order to break/harm things, repair things, or move stuff more easily.
On the first day of coding, I managed to implement basic movement and pushing a gray frame around. And yeah, an infinite grid in the background.
Next time, I'll work on chests and inventories, then probably on some rudimentary crafting and items.