You are browsing as a guest. Sign up (or log in) to start making projects!

Booksole

  • 5 Devlogs
  • 22 Total hours

A html based Console plus book hybrid inspired by text based games and the "Give Yourself Goosebumps" series by RL.Stine,here books become the game cartridges.(you need to use .epub files that are in the choose your own adventure format)

Ship #1

BOOKSOLE is an interactive platform based on the idea of the retro game-console for Choose your own adventure books like the ones from goosebumps which are my favorite now you can play these books directly in your browser. The idea behind the application was to allow the users to feel that they were inserting a cartridge into the old game console, not just opening some document reader. The whole project is done using only one HTML-file and comprises such features as a library, ability to import TXT- and EPUB-formatted books, parser of branch stories, save slots, achievements, journal, searching and many more.

The main difficulties in the process of development of BOOKSOLE were to develop an adaptable parser that could parse various gamebooks with different styles, page numbering and endings, and to coordinate all the features of the application. It was difficult to create a proper parser because of different styles of writing the gamebooks and to develop something that would be able to correctly parse all the books. One of the other problems is connected with application state management. Due to the presence of saves, achievements, endings found, journal and statistic information the application had to keep track of all of these at once.

A user interface design was yet another crucial aspect of the project. Instead of working on a common reader app, I aimed at creating the whole process to be similar to playing with an old retro game console. This includes such elements as a booting process, cartridge library, achievements display, saving slots system, and several themed menus, all of which have the same aesthetic design. Moreover, the latest version of the software contains a redesign of an introductory animation, which involves changing a mere placeholder to a wider screen space, better pixel art and more sprites.

There are a lot of aspects in my project I am particularly proud of, but the most noteworthy is the number of features implemented in just one HTML file. The process of development changed a simple reader program into a complex platform with progression, collectibles, searchable stories, saving system, paths tracking, and library management of several books. Besides, I believe that I achieved success in terms of presentation: whereas many other IF programs are concerned only with their functionality, BOOKSOLE is more playful and nostalgic.

For testing the project, it is necessary to firstly download the html file from Github and open the downloaded HTML file ,Watch or skip through the intro and go straight to the boot screen with the help of a special button. After loading the system, you should import an acceptable TXT or EPUB file and open the cartridge with the imported gamebook. You can begin playing and making choices. You can try forming save slots, achieving accomplishments, finding keywords, and exploring story lines. All found endings will be registered in the journal, and all visited places will appear on the map of endings.

  • 5 devlogs
  • 22h
  • 19.39x multiplier
  • 418 Stardust
Try project → See source code →
Open comments for this post

4h 9m 13s logged

Introduction Cutscene Redesign This build focused exclusively on overhauling the intro cutscene that plays before the BOOKSOLE boot sequence. At the start of development, BOOKSOLE was already a complete self-contained HTML application featuring a retro game-console styled gamebook reader, cartridge library, EPUB/TXT importers, branching-choice reader, save slots, achievements, journal, and search functionality. The only unfinished-looking component was the opening cutscene, which functioned correctly but felt more like a placeholder than a polished introduction.The original cutscene ran on a 480×270 canvas with 3× pixel scaling. Characters were built from simple flat rectangles with very little detail, while backgrounds consisted mostly of solid colors and basic shapes. Rather than patching the existing artwork, the entire rendering system was rebuilt. The canvas size was increased to 640×360 while maintaining the 16:9 aspect ratio, and logical pixel size was increased from 3px to 4px. This provided significantly more room for detail while preserving the chunky pixel-art style.A major part of the redesign was expanding the color palette. The original palette contained around 25 colors, which limited shading options. The new palette contains roughly 60 colors organized by material type, allowing characters, props, and environments to use highlights, shadows, and depth. Every major sprite was rebuilt with proper shading and detail. New assets such as the moon, roof, curtains, chimney, mailbox, and ground elements were added, alongside three new creatures: a ventriloquist dummy, a haunted mask with glowing eyes, and a sinister garden gnome.Because the larger canvas changed the coordinate system substantially, all seven intro scenes were rebuilt from scratch rather than modified. These scenes include the title card, Victor spying on his neighbors, Victor’s laboratory, the package delivery, Max opening the package, the digital vortex sequence, and the final library reveal.A significant amount of work came from visual issues that automated testing could not detect. Screenshot reviews revealed problems such as furniture partially covering characters’ faces, fan letters floating unrealistically above a mailbox, an incorrectly proportioned hand holding the cartridge, and perspective lines that unintentionally converged behind a character’s head. These issues were corrected through scene-by-scene layout adjustments. The computer monitor in Victor’s lab was also redesigned so its display resembled actual code instead of loading bars.Another major improvement involved the dialogue system. The original dialogue box occupied a large opaque panel that obscured much of the artwork. It was replaced with a slimmer translucent gradient banner that automatically adjusts to the amount of text being displayed, allowing players to see more of each scene while maintaining readability.A final narrative pass strengthened the ending by moving previously hidden monsters into the foreground and adding narration that draws attention to them. Additional in-universe book titles, including The Babysitter’s Basement and Camp Deadlake, were added as flavor text to reinforce the horror-book atmosphere.Testing combined headless runtime simulation with manual screenshot review. Automated testing successfully identified runtime issues, while screenshot reviews were essential for catching visual composition problems. The intro remains a scripted sequence with click-to-advance dialogue and a SKIP INTRO option that jumps directly to the boot sequence. No changes were made to the library, parser, reader, saves, achievements, journal, or search systems; this update was focused entirely on improving the quality and presentation of the seven-scene introduction.

0
0
1
Open comments for this post

5h 24m 5s logged

BOOKSOLE v0.5 — It Finally Feels Like a Real Thing

For a while, BOOKSOLE could load interactive books, parse them, and let you navigate choices, but it still felt like a tool. Functional, but not something with an identity.

This update was about changing that.

The biggest addition is the new library system. Instead of dropping straight into a book, you now land in a cartridge-style library where every story lives on a shelf. You can browse covers, check metadata, see your progress, and launch a book like you’re pulling a game off an old console rack.

That shift sounds small, but it completely changed how the project feels.

The other thing I spent an unreasonable amount of time on was the intro sequence.

I could have gone with a simple splash screen, but instead I ended up building a fully animated pixel-art opening scene from scratch. Every character, prop, and background element is drawn procedurally on a canvas. Max, Victor, the mysterious cartridge, the old CRT aesthetic—it’s all there.

Was it necessary?

Absolutely not.

But it was fun, and BOOKSOLE is the kind of project where atmosphere matters.

After the intro, the application now boots like a retro console. There’s a fake startup sequence, loading messages, scanlines, pulsing graphics, and all the little details that make it feel like you’re powering on a strange forgotten machine rather than opening a web app.

I also added a proper book details screen. Books now have their own dedicated page with cover art, author information, descriptions, tags, and progress statistics. It makes imported stories feel more like collectibles and less like files sitting in a folder.

On the gameplay side, save slots finally arrived.

This was something I wanted from the beginning because gamebooks are all about experimentation. Sometimes you want to make the reckless choice just to see what happens. Multiple save slots make that possible without destroying a perfectly good run.

To support replayability even more, I built an ending discovery system. BOOKSOLE now keeps track of endings you’ve found and visualizes them through a simple ending map. Good endings, bad endings, weird endings—you can slowly fill out your collection as you explore different routes.

There’s also a lightweight achievement system now. Nothing too serious, just a way to track things like choices made, pages visited, endings discovered, and total runs. It’s a small thing, but it reinforces the idea that reading these books is closer to playing a game than reading a novel.

Another feature I’m surprisingly happy with is the journal.

While testing branching stories, I kept finding myself taking notes elsewhere. So now BOOKSOLE has a built-in journal where players can leave thoughts, theories, and route notes while they play. It feels especially useful for mystery stories or books with hidden paths.

A few quality-of-life improvements made it in too:

  • Search across story pages
  • Adjustable font sizes
  • Backtracking through visited pages
  • Import/export support for saves and progress
  • Better organization of runs and statistics

Looking at the project now, it finally feels like the original vision is starting to come together.

The idea was never to build another ebook reader.

The idea was to build a fictional retro console dedicated entirely to interactive fiction.

A place where opening a book feels like inserting a cartridge.

Version 0.5 is probably the first release where that idea actually comes across.

Next up, I’m focusing on better EPUB support, smarter metadata extraction, richer achievement systems, and generally making the stories themselves feel more alive inside the platform.

But for now, I’m pretty happy with where BOOKSOLE is.

It’s weird.

It’s overly nostalgic.

And it’s finally starting to feel like its own thing.

0
0
5
Open comments for this post

4h 29m 21s logged

Devlog 2

Added a boot screen and implemented a proper parser. I tested it with Give Yourself Goosebumps #15: Don’t Feed the Vampire, and it worked very well. This was a major milestone and greatly increased my confidence in the project.

My next goal is to add support for user-created stories so that players can create and share their own interactive adventures. This will make the project more flexible and allow the community to contribute new content.

0
0
3
Open comments for this post

1h 55m 8s logged

When Books Become Cartridges

A self-hosted, browser-based book console where your CYOA novels are the game.

I’ve been thinking about what it would look like if the “Give Yourself Goosebumps” series never stopped being a game. You’d pick up the book, flip to a page, make a choice, flip again — and the whole time it felt less like reading and more like playing. The book was the cartridge. You were the console.

That’s the idea behind Booksole.

What is it?

Booksole is a , single-file HTML app (for now)that turns choose-your-own-adventure books into playable games — complete with save slots, multiple playthroughs, auto-generated achievements, and an endings tracker.

You drop in a plain .txt copy of your book. The app parses it, maps out all the branching paths, counts the endings, and boots it up like a game cartridge being slotted into a console. No server. No sign-up. No subscription. Just a file in a browser.

The whole thing runs locally. Your books never leave your device.

The Inspiration

R.L. Stine’s Give Yourself Goosebumps series was my first experience with non-linear storytelling. You weren’t just reading — you were playing. Every “turn to page 52” was a decision with consequences. Some paths led to victory. Most led to something horrible. And the thrill was in finding all of them.

Modern games have achievements, save states, completion trackers. Why don’t books?

Stardance answers that question. It treats your book like a game ROM. It reads the branching structure, builds a graph of every page and decision, and wraps the whole thing in an interface that feels like a retro console — monospace font, dark terminal aesthetic, endings map, achievement popups.

Every book you upload gets its own automatically generated achievement list based on its structure: find your first ending, reach a good ending, discover all the bad endings, finish in three choices or fewer. The game figures out what’s achievable by analyzing the book itself at parse time.

v0.1 — What’s in it

Cartridge loading — drop a .txt file and the parser scans for page markers and “turn to page X” instructions, rebuilds the branching tree, and launches
Multiple save slots — run through the book multiple times simultaneously, each as a separate playthrough
Endings map — a dot grid showing every ending in the book, colored by type (good / bad / neutral), filling in as you discover them
Auto-generated achievements — built from graph analysis at load time, no hand-crafting needed
Achievement toasts — unlock notifications that feel like a game, not a reading app
Session stats choices made, pages visited, play throughs started, endings found Persistent saves everything lives in localStorage, survives page reloads the entire app is one .html file, no build step, no dependencies, no installing any software

If any one has any suggestions on any features to add or any technologies that could be incorporated to make the development or the user experience easier please do give feedback

0
0
9

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…