I’ve been talking about this game on my private blog a little bit, but I think it’s time to move discussion here. This is more or less an introduction.
Hexed (working title): is a real-time strategic puzzle game, where you string together actions on a hexagonal grid to attack your opponent(s) who are doing the same on their grid. Sort of Puzzle Quest meets Puyo-Puyo, though I had designed this game before I ever played Puzzle Quest. It’s not like PQ at all actually, except for the RPG elements, and the fact that you do a puzzle to fight.
I’m still working on the technology. I have written a basic tech demo in Python using PyGame, but I am wondering if I should just move to Flash. Certain things would be easier if I used a 3D package such as Panda3D, but I don’t think I want to burden this game with a huge download. It’s not going to be worth that. It’s my first game in eight years and the current tech is way different.
I would love to have a game I could put on some indie game developer site like Kongregate.
More on the game mechanics later. I know how the game works, but I haven’t written it in detail. It should be pretty fun and fast-paced. I want to get the basic board design done.
I won’t be posting the tech demo, it was just to familiarize myself with multithreading objects in Python (something I was going to do in Shapeshifter) and get animation working with PyGame. It’s actually the basis for a game I hope to write in the future, but Hexed has been sitting in my head for a year now, and it’s time to get it in code.
But no jigs yet!
Shifter solved it in about 3h 20m, which isn’t bad. It isn’t great either.
I have placed every piece but the last, so if worst comes to worse and I lose the solution, well, it’s obvious where that last piece goes.
I haven’t used Kvho to check my times for many levels, but just now I started it. I predict Kvho will solve it in less than five minutes.
It would be a vindication of sorts if it took longer, but I doubt that will happen.
Edit: Kvho solved it in 994 seconds.
Last night I started level 100. The first puzzle was three flips and Shifter had not solved it before I went to bed. This morning, I restarted with a two flip puzzle. I’ll let it run all day, except…
Well, normally, a puzzle finishes fairly quickly or not at all. and for puzzles like this, even placing the first several pieces correctly, a 14x14x5 puzzle with 32 pieces is just not going to be that fast ever. Still, 2 flips and the smallest piece being three blocks is a pretty good starter. Not as good as zero flips, but I guess I’ll just keep restarting this each morning before work until I find one it can solve.
Thanks, Sensei, for the gentle reminder that I shouldn’t assume 100 would be easy just because 99 was.
I’ve decided not to restart Shapeshifter after I hit 100. While there is a lot of innovation left in the puzzle and numberless ways to improve the program — there’s just no point to it. Once I’ve won it, I’ve done as good as I will ever do. I’ve already been through the mid-level hell once. There’s only twelve #1s a year, and once I’ve had my turn at it, I think I will let everyone else have a shot. I’ll have my trophy and thirty days of glory to look back on.
Instead, I’ll be starting an entirely new project that will cover some of the same ground regarding parallel processin, but will also let me explore the PyGame library for creating games in Python on Linux and Windows. This will more closely align me with the kinds of things I want to do in the future.
I’m still playing with ideas and mocking up some screens in PyGame, and I’ll be talking more about that on this blog once Shapeshifter ends.
It sucks because it resists pruning. If you can’t get rid of the vast majority of unsolvable paths through the puzzle early on, you will never solve it. I looked at a pair of level 49 puzzles last night; one was 21 flips, the other was 24. These won’t prune until a very low level. Let’s assume that, through a flash of insight, you were able to correctly place the first four pieces correctly. It would still take many hours to complete.
There’s only three things you can do with puzzles like this.
First: Get the number of flips down. Refuse to bother with a puzzle with more than a dozen or so flips. These can still take hours to do.
Second: Be quick about giving up. You’re going to have to be lucky to solve one of these in a reasonable amount of time. If you’re not solving it in an hour, start over.
Third: Be creative. This is going to be hardest for me. I can optimize code, use a different language, even explore low-level Cell processor coding along with significant parallelism.
There’s so many paths through this tree. Every puzzle may be solvable, but we’re really only interested in the ones that can be solved in an hour or so.
99 hadn’t finished by the time I got home. Maybe I was taking it too lightly? So I restarted, and got a beautiful *no* flips board that Shifter solved in 430 seconds while I was making dinner. I played the board and am now third place — officially a Shapeshifter Champion, with a gold trophy hopefully by the morning.
Just one thing remains — #1. For that, I will have to be the first one to play level 100 at midnight, Neotopia Standard Time (which happens to be congruent with Pacific Daylight Savings Time), April the first.
Until then, I get to play around with the lower level boards… like 49, the level that nearly made me quit Shapeshifter. I just got a board — 24 flips. You can’t hardly prune something like that at all. I’ll let it run awhile. But to make 49 work, I’m going to have to completely rewrite Shifter in some pretty innovative ways.
Took three tries to find a fast solving board.
99 is four flips. I’m going to let it run because I have to get to work now.
ie, it didn’t finish immediately.
95 — done instantly. Seems weird that such complicated puzzles would be the fastest to solve.
96 — Shifter took 56 seconds to solve this 1 flip puzzle. Shocking! But it did it! An error while placing pieces means I had to re-do, and the next puzzle was zero flips and finished in a third of a second.
97 — here’s what level 97 looked like. Shifter solved it in 2.75 seconds. How fast is your solver? You might be pleasantly surprised if you try it, as in all this very large puzzle and all those pieces, there is only one flip. This puzzle made me hit max Neopoints for the day, so see ya tomorrow when I take 99 and third place for the rest of the month, assuming 3o1642 and prebijoti don’t see what I’m doing and make their move first. I am very much expecting a note from Larvemoth soon. I’m probably upsetting a well-entrenched line of succession here.
Because I want to sit at Number 1 for an entire month, I can’t finish level 100 until April 1. I don’t know how eager the other people waiting to take the top spot are, so if I want it, and I do, I’ll have to sit up until 3AM EST.
And then comes the jig, waking the neighbors.
92 done, 1 flip, Shifter solved it immediately. The goal symbol was not the sword, as warned, though I didn’t notice untilI went to place the pieces.
93 done, 4 flips, 3.2 seconds. Yay Shifter!
94 done, 5 flips, finished instantly. Too bad the puzzles in the 40s-70s aren’t this easy.
And with 94, I hit max Neopoints, so see ya tomorrow. If things go well, I will hit 99 Monday.
Woke up this morning, placed the last piece of level 88 (yay!)
Level 89 — 41 seconds. Made a mistake placing pieces so I had to start all over again, solved the next puzzle in 40 seconds. I definitely need some sort of way to estimate if a puzzle is going to take 40 seconds or 40 days to solve.
Level 90 — 4.66 seconds. Nice! And welcome to the home stretch The goal symbol is still a sword, not that it matters; my parser just assumes the second to last symbol is the goal symbol. Now if they made the first symbol the goal symbol, I would have to rewrite my parser.
Increased the width of the piece display so I can fit four across instead of just two. Less chance to get confused that way.
Level 91 — just three flips! This is taking longer than four seconds. Done at 107s.
And when trying to place the last piece for level 91, I got the Max Neopoints message, so see ya tomorrow.