Skip to content

Latest commit

 

History

History
122 lines (100 loc) · 3.63 KB

File metadata and controls

122 lines (100 loc) · 3.63 KB

🤖 Wordulator

An Automated Entropy Based Wordle Guessing Bot

Project demo

Table of Contents

About The Project

This is a Node.js implementation of a Wordle guessing bot. Uses entropy and several heuristics to average 3.514 guesses per answer with 100% accuracy! Tested over 5000 test cases, accuracy is defined as getting the answer within the 6 allowed guesses

This project was built over the course of 4 days so don't expect it to be fast or optimal. It was however an interesting dive into entropy, bitwise optimisation, and implementing the Wordle ruleset!

Key Features:

  • Full Wordle ruleset implementation
  • Efficient guess culling with heuristics
    • Positional letter frequency
    • Previous guess overlaps
  • Capable of using most* 5 letter word lists (*with ascii a-z/A-Z charset)
  • Precomputed feedback matrix with memory mapped reading
  • Automated benchmarking capable of thousands of tests

Limitations

  • Feedback matrix consumes significant disk and memory space
  • Limited to 5-letter Wordle variants
  • Assumes only ASCII characters a-z in wordlist

How it Works

Interested in the technical details behind this project? Check out how-it-works.md

Getting Started

Prerequisites

NPM Package Installation

  • Run npm install -g wordulator
    • Installs base Wordle solutions and guesses
    • Precomputes feedback matrix - This step might take a while
    • Creates 5000 benchmark test cases from the solution list

Manual Installation

  1. Clone This Repo
    git clone https://github.com/ArloFilley/Wordulator
  2. Navigate to repo folder
    cd Wordulator
  3. Create Data Folder
    mkdir data
  4. Install library packages
    npm i
  5. Run scripts/postinstall.js
    node ./scripts/postinstall.js

Usage

Run in Web Mode

  1. Lanuch the web server and solvers
    node . web
  2. Visit localhost:3000 in the browser

In Action

Example website useage

Run in CLI Mode

node .

In Action

Example user usage

License

Distributed under the MIT License. See LICENSE.txt for more information.

Author

Arlo FilleyContact

Acknowledgments