LcdDem v0.030 Browser Edition

Project started on Aug 19 2021
The goal: Fully and functionally recreate the experience of LcdDem v0.030 in browser form.
Inspired by Kenome's Yume Nikki Browser.
Relies on Javascript and localStorage to work.
Also, make sure to allow autoplaying audio for music.

Changelog:

2024/09/25 - Fixed more sounds, began changing gif animations to spritesheet css animations, added a debug feature to quickly access any world
2024/09/03 - Sounds are now dynamically handled through a function in the parent window, using an AudioContext instance. Slowly fixing all the sounds
2024/09/02 - Fixed music (all sounds broke some time ago due to updates to Discord), improved Light World performance
2023/11/26 - Added functionality to import from xml format to the overlay maker. Maps are converted to xml using lcf2xml
2023/11/21 - Added import/export functionality to the overlay maker
2023/11/20 - Made a tool to help create chipset overlay images, an improvement over the former method of combining them all into one huge image
2023/11/19 - Fixed music fade code for real this time, added Stone Wall (Green), accessible through Shore (Inside 1)
2023/09/27 - Red Maze added, first connection between nexus worlds
2023/09/25 - Rewrote music fade code to fix a bug and improved it in general
2023/09/24 - Tunnel main area finished, inside 1 finished (moon effect acquirable), small code rewrites
2023/09/22 - Worked on it more to show your currently equipped effect, also started work on the Tunnel area accessible from the Sea world
2023/09/16 - Started work on showing where you come from upon entering a new area
2023/07/04 - Fixed two bugs
2022/11/24 - Added Light world; still needs optimization, npcs and the alt area
2022/11/17 - A few days of updates: Made a tool to help make animations for NPCs, updated my tool to calculate/copy coordinates, added shore interiors (needs some final touches) and fixed a bug where music wouldn't play between areas if the bgm differed and the volume was the same
2022/10/21 - Rewrote music to be handled in the parent window, meaning smooth transitions between areas
2022/10/18 - Rewrote Nexus door animations in CSS
2022/10/17 - Rewrote fade ins/outs to use CSS animations over JS, moon effect functional (currently only available with cheats), fixed title screen images
2022/10/08 - Shore World added
2022/06/29 - Added effect/orb counters to menu, fixed bug with effect order upon finding a new effect
2022/06/28 - Added missing unique Nexus door sound effects
2022/02/08 - (nearly) finished up Hole World
2022/01/29 - Started work on Hole World, collectible axe effect added
2022/01/27 - Fixed the horrible blurry rescaling for anyone not on Firefox, collectible helmet effect added, Dark Ruins finished
2022/01/26 - Sea world finished, improved fade in/out, started work on Dark Ruins, added redirects & "debug mode" to circumvent it
2021/10/06 - Luminescence World finished, collectible seaslug effect added, started work on Sea World
2021/10/05 - Started work on Luminescence World
2021/10/04 - Image & code optimizations, Pink Ruins finished, collectible spacesuit effect added
2021/10/02 - Progress on Pink Ruins building insides
2021/09/23 - Started work on Pink Ruins
2021/09/21 - Wake up fail animation when already awake
2021/09/09 - Effects menu finished, images and wake up animations for all effects
2021/09/08 - Effects menu implemented
2021/09/05 - Effect frame added in menu
2021/09/04 - Title screen, option to quit added
2021/09/03 - Collectible pajamas effect, basic menu, ability to wake up added
2021/08/30 - Code optimizations: Common functions moved to .js file and additional cleanup
2021/08/29 - Menu system framework added
2021/08/28 - Clover World finished, global variables introduced
2021/08/26 - Tiny optimizations, Clover World added
2021/08/24 - Nexus finished
2021/08/21 - Chie's Room and Chie's Balcony finished, Nexus added
2021/08/20 - Chie's Room refinement and Chie's Balcony (both versions) added
2021/08/19 - Chie's Room (both versions) added

To do:

Fix sounds
Spritesheets and css animations instead of separate images/gifs
Music preloading (for adjacent areas?)
Fix Red Maze chipset animations
Change npc animations to use steps and transitions
Make it clearer where you came from in small areas with multiple doors, and even in general
Option for whether to draw areas from the left, right, or center
Fix fades for areas that aren't meant to have them
Volume options
Fix Hole world gifs
Seamless transitions between areas where applicable (by temporarily restricting what's visible)
Change Javascript animations into css animations
NPC kill animation
Reliable way of resetting gif images
Proper transition upon falling asleep
Option to import/export/clear save
Other two menu styles
Instructions screen on new game + effect use
Effect get animation
Effect functionality

enter