1
Fork 0
This repository has been archived on 2023-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
theorangeone.net-legacy/content/projects/wiki-game-solver.md

37 lines
2.1 KiB
Markdown
Raw Normal View History

2016-10-14 17:58:10 +01:00
---
2016-05-27 23:17:11 +01:00
title: Wiki Game solver
template: projects
slug: wiki-game-solver
repo: https://gist.github.com/RealOrangeOne/7da9a3dd1bf90ecdf7be
2016-07-16 19:44:18 +01:00
summary: Simple script to win the Wiki Game
2016-10-14 17:58:10 +01:00
---
2016-05-27 23:17:11 +01:00
2017-02-04 21:42:45 +00:00
[The Wiki Game](http://thewikigame.com) is an online game where you attempt to navigate through wikipedia from a start page to a goal page using as few other pages as possible.
2016-05-27 23:17:11 +01:00
2017-02-04 21:42:45 +00:00
Not long after I was shown the it, I realised that I _really_ wasn't very good at it. After about 15 minutes of coming in last place all the time, I started to wonder how it worked, and how I could beat it.
2016-05-27 23:17:11 +01:00
2017-02-04 21:42:45 +00:00
As it turns out, it really isn't very hard! It does require injecting some JS into the page, but it's not that much.
2016-05-27 23:17:11 +01:00
2017-02-04 21:42:45 +00:00
## Usage
2016-05-27 23:17:11 +01:00
2017-02-04 21:42:45 +00:00
1. Start a [new game](http://thewikigame.com/speed-race), __don't__ press start!
2. Open your browser's developer console. This will vary from browser.
3. Paste the compact version of the code (`wiki-game-solver.min.js`), and execute it (press enter)
4. Congratulations, you just won!
2016-05-27 23:17:11 +01:00
2017-02-04 21:42:45 +00:00
## How it works
The game isn't open source, so I couldn't see how the back end worked, but after playing a few games and checking what happened on the page, I worked out what it was doing.
2016-05-27 23:17:11 +01:00
2017-02-04 21:42:45 +00:00
The game was won when the iframe was at the final page location, or at least a clone of it on their servers with some extra querystring information.
2016-05-27 23:17:11 +01:00
2017-02-04 21:42:45 +00:00
With this, I started to write something that would change the location of the iframe to the goal. Fortunately for me, the goal url was on the page. So all it took was a little mutative switcheroo to win!
2016-05-27 23:17:11 +01:00
2017-02-04 21:42:45 +00:00
### Source
The source for this was written in pure JS, and relies heavily on the fact that the wiki game uses jQuery so I can plug into components and events really easily. The code can be found in the GitHub gists below. Both the standard and compact versions are available.
<script src="{{ article.repo }}.js"></script>
### Disclaimer
2016-05-27 23:17:11 +01:00
As I experienced whilst developing this, the people that play Wiki Game don't tend to like people cheating. There were a lot of people getting very annoyed whilst I was developing and testing. So please use this at your own risk! At the moment I don't think there is any kind of banning system, but be warned!