Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major Redesign #56

Open
wants to merge 578 commits into
base: master
Choose a base branch
from
Open

Major Redesign #56

wants to merge 578 commits into from

Conversation

jmdiamond3
Copy link

@jmdiamond3 jmdiamond3 commented Mar 5, 2020

Quick link: Snakefall Redesign

I've been working on this redesign for awhile and I don't know what's going to become of it, but I really like the updates and I wanted to share it. Many of the elements could still use some work, namely turnstiles which don't look a lot like the other elements, but rather than keep working privately to shore up details, I thought I'd make it available to everyone.

One feature that is improperly designed is the Standard/Enhanced Level description as it reevaluates the status of the level upon each move, while it should take and analyze the URL directly so the elimination of added elements doesn't change the description of the level. I'm still working on fixing that.

I'm a self-taught coder and so a lot of what I added was only possible because I was able to learn from reading the code others contributed. For that I'm grateful, but I also mean to caution that a lot of what I added is done sloppily and inefficiently. I will clean up what I can eventually, but it's not so bad that it's urgent.

The additions have slowed down the game a bit, but it's only problematic on the largest levels.

EDIT: I hadn't played on the original Snakefall in awhile and my redesign is slower than I realized.

The new index.html page isn't necessary to the gameplay, but I like the added table design flexibility. It contains puzzles I found elsewhere online (all of which are documented in Joel Fox's Snake Puzzle Games article) which are password-protected, though the password is easily viewable in the code and was intended only as a test I wanted to try. Also password-protected are solutions to Joel's puzzles which he requested not be posted to the original Snakefall site.

I added a Solution Verification feature that requires a player to solve the puzzle (and run through the solution to the end). At that point the player may generate a link that will show the level at the start, run through the saved replay, and show the viewer whether the saved replay is in fact a viable solution to the puzzle. The replay is still visible in the URL, however, so it's an imperfect attempt at verifying the solvability of a puzzle without revealing the solution itself.

Talking to some other Snakefall users, it sounds like Snakefall wasn't intended to resemble the original Snakebird graphics too closely, and my redesign definitely gets them closer. However, I wanted to provide the option of updating the original design if not on the canvas then on the editor, which incorporates both experimental puzzle packs into a single, exhaustive editor. Many of the features in my new editor are Patashu-puzzle-pack and Patashu-remix-1 originals with different graphical designs and names, but whose behaviors are unchanged. Some of them I see as improvements while others may not be.

If ultimately it's decided not to borrow any of my updates, that's completely fine with me. I think they add to the gameplay experience so I will continue to use my version when I play Snakefall levels but the original Snakefall is fantastic and perfectly sufficient.

Lastly, I added the latest feature enhancement posted (portal diagrams).

EDIT: The dashed snake outline doesn't work when the snake's head would be moved off of the canvas, but otherwise it works well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants