2048 Game Embedded in a PDF

Inspiration

In a world of digital innovation, we wanted to explore unconventional platforms for game development. The idea of running a fully functional game inside a PDF fascinated us. Could we merge the simplicity of a classic game with the versatility of PDFs? Our hackathon project brought this vision to life.

What it does

Our project embeds the popular 2048 game directly into a PDF file. Leveraging embedded JavaScript within the PDF, we provide a seamless and interactive gaming experience that works entirely within a PDF reader. Users can play the game without needing additional software or an internet connection.

How we built it

  1. Game Logic: We implemented the core 2048 game mechanics using JavaScript, including grid updates, merging tiles, and handling game-over conditions.
  2. PDF Integration: Using PDF JavaScript APIs, we embedded the game logic and UI elements into the PDF structure. Buttons and text fields in the PDF serve as input/output interfaces.
  3. Styling: The PDF layout was designed to emulate the classic 2048 game board, ensuring clarity and responsiveness.
  4. Testing: We tested the PDF across multiple platforms and readers to ensure compatibility and smooth gameplay.

Challenges we ran into

  • PDF Constraints: PDFs were not designed for dynamic content, so embedding JavaScript required careful handling of file structure and script compatibility.
  • Compatibility Issues: Not all PDF readers support embedded JavaScript, which limited the platforms where the game could run.
  • Debugging: Debugging JavaScript within a PDF was more complex than traditional environments due to limited feedback and tools.

Accomplishments that we're proud of

  • Successfully creating a playable 2048 game inside a PDF file.
  • Overcoming compatibility challenges to ensure a smooth experience on supported platforms.
  • Innovating a unique way to combine gaming with document technology.

What we learned

  • The potential and limitations of JavaScript within PDF files.
  • How to adapt traditional game logic to unconventional platforms.
  • The importance of cross-platform compatibility in user experience design.

What's next for 2048 in a PDF

  • Improved Compatibility: Researching ways to expand support for more PDF readers.
  • Enhanced Features: Adding customizations like color themes and scoring animations.
  • Educational Use Cases: Exploring how similar techniques could gamify educational content in PDFs.

Try it yourself

  1. Download the 2048_game.pdf from our repository, or generate it using our script.
  2. Open the PDF in Google Chrome or any Chromium-based PDF reader.
  3. Use WASD or arrow keys to slide and combine tiles, or click the on-screen buttons.
  4. Reach the 2048 tile to win! 🎉

Enjoy the challenge of 2048 like never before—in a PDF!

Share this project:

Updates