[Game] Net/NetWalk port

177 views
Skip to first unread message

agas...@gmail.com

unread,
Apr 12, 2016, 8:31:33 PM4/12/16
to PuzzleScript
I've been stuck making levels for another project, so I took a break today to port Net, from Simon Tatham's Portable Puzzle Collection.

http://www.puzzlescript.net/play.html?p=f45e9354364a5e9be201a5e2de5115e1

This was a little tricky to do in PuzzleScript, and there's a bunch of stuff missing from the original (as noted in the comments), but I think overall feel is still there.


A JavaScript (via emscripten) version of the original is here: http://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/net.html

It isn't clear who to credit the puzzle to, see the comments, so I've left off the "author" entry.

-Adam

Hand-E-Food

unread,
Apr 13, 2016, 2:40:35 AM4/13/16
to PuzzleScript, agas...@gmail.com
Nice clone!  I like that you included variable board sizes.  At first I didn't even notice the amount of effort that would have gone into that.  It was seamless.

David Cherepov

unread,
Apr 13, 2016, 10:30:53 PM4/13/16
to PuzzleScript, agas...@gmail.com

Cool! the overall sense of the game is definitely there, and i like how it all flashes glow-in-the dark-ish at the end

Chris Pickel

unread,
Apr 14, 2016, 5:05:49 AM4/14/16
to David Cherepov, PuzzleScript, agas...@gmail.com
I'm really impressed. At first I thought you'd made a few neat puzzles, but then I realized you're generating random puzzles each time. Random stuff can be tricky to do in PuzzleScript, but you've done it so well I didn't realize it was random at all.

Just a thought: maybe instead of x-to-rotate, you could have x toggle command mode; in command mode, right and left would rotate, down would lock, and up would unlock. I'm not sure what would feel most natural, but after I tried the JS version, I did miss the ability to mark cells as finished. (Otherwise, I much prefer using the keyboard in your version!)

On Thu, Apr 14, 2016 at 4:30 AM David Cherepov <alia...@gmail.com> wrote:

Cool! the overall sense of the game is definitely there, and i like how it all flashes glow-in-the dark-ish at the end

--
You received this message because you are subscribed to the Google Groups "PuzzleScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puzzlescript...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Connorses

unread,
Apr 14, 2016, 5:07:51 AM4/14/16
to PuzzleScript, agas...@gmail.com
I'm happy that you included the wrap versions. Those are my favorite, since I've played enough of these that the normal ones are eeeasy.

agas...@gmail.com

unread,
Apr 14, 2016, 8:19:31 AM4/14/16
to PuzzleScript, agas...@gmail.com
Thanks to everyone for checking it out! There was no puzzle design creativity here, so I went overboard with the implementation details.

On Wednesday, April 13, 2016 at 2:40:35 AM UTC-4, Hand-E-Food wrote:
> Nice clone!  I like that you included variable board sizes.  At first I didn't even notice the amount of effort that would have gone into that.  It was seamless.

Once I had a succession of levels -- first you'd do 5x5, then 7x7, etc. -- but it seemed dumb; you really want to be able to pick your level, redo another random version of a level, etc. Telling the player to just use the source to jump to a level seemed like a cop-out (great feature of the editor, though!). So I used something that's been in the back of my mind: all the options are just flickscreen screens on a single level and the menu jumps the player onto the selected board; this is also when the level generation kicks off.

The biggest practical problem with that is the zoom factor is set for the largest board, this bugs me when playing a smaller level on a phone. Oh well.

On Wednesday, April 13, 2016 at 10:30:53 PM UTC-4, David Cherepov wrote:
> Cool! the overall sense of the game is definitely there, and i like how it all flashes glow-in-the dark-ish at the end

Originally I had the background flash light grey instead, as in the original, but the lines are light blue so the contrast was poor; the original doesn't have this issue as it has enough resolution for thin black outlines. The "glowing" silhouette I have now was one random attempt among many, but I've come to enjoy it a lot as a reward for solving a hard puzzle.

On Thursday, April 14, 2016 at 5:05:49 AM UTC-4, Chris Pickel wrote:
> I'm really impressed. At first I thought you'd made a few neat puzzles, but then I realized you're generating random puzzles each time. Random stuff can be tricky to do in PuzzleScript, but you've done it so well I didn't realize it was random at all.

Thanks! The actual generation turned out to be not so difficult, the fact that Net levels grow from the inside out made the "moves" of the level generator easy to implement.

The most important insight was to treat connectivity in a given direction as a separate layer, rather than trying to deal with logic for each tile type. As usual counting (to only do max 3 connections) was tricky, but mostly just irritating. Wrapping blew up a few times before I quite got it right, especially avoiding all the other boards also in the single "overworld" level.

> Just a thought: maybe instead of x-to-rotate, you could have x toggle command mode; in command mode, right and left would rotate, down would lock, and up would unlock. I'm not sure what would feel most natural, but after I tried the JS version, I did miss the ability to mark cells as finished. (Otherwise, I much prefer using the keyboard in your version!)

That makes sense, but I think that the introduction of the extra keystrokes to enter/exit command mode would slow things down too much. You'd be making 3 to 4 taps of two different keys for a rotation, rather than 1 to 3 taps of the same key. That said, I agree that not having locking is painful, so I need to keep thinking about this.

I was thinking about hijacking undo or reset: the game would always make a clockwise move (or maybe toggle lock) and then immediately rotate it back, you could then undo to do a CW rotation or action for CC. But I don't think it is possible to undo or checkpoint anything but player-driven moves.

There is actually keyboard control in the original JS version, check out the full instructions [1].

On Thursday, April 14, 2016 at 5:07:51 AM UTC-4, Connorses wrote:
> I'm happy that you included the wrap versions. Those are my favorite, since I've played enough of these that the normal ones are eeeasy.

I agree. That was the single hardest feature to add and debug, but definitely worth it.

---

[1] http://www.chiark.greenend.org.uk/~sgtatham/puzzles/doc/net.html#net-controls

anna anthropy

unread,
Apr 16, 2016, 12:30:01 AM4/16/16
to PuzzleScript, agas...@gmail.com

i love this game and it's cool when games i like get ported to puzzlescript.

has anyone done a puzzlescript tamagotchi yet, just out of curiosity
Reply all
Reply to author
Forward
0 new messages