0x40-web
0x40-web copied to clipboard
Pretty images and colours
0x40-web
A fairly complete HTML5/CSS3 Canvas + Web Audio clone of the 0x40 Hues Flash.
Should work on most modern browsers.
Example pages:
Default Hues

420 Hues

Halloween Hues

Christmas Hues

You can also have animations that sync perfectly with the beats of the songs. Inspired by Kepstin's Integral experiments.
420 Hues, Snoop Edition

"Montegral"

More Cowbell

For some examples of fast, complicated and fancy maps, here are some of my personal creations:
Black Banshee - BIOS
Drop It
Atols - Eden (buildup only)
AAAA - Hop Step Adventure
ミュン・ファン・ローン - MACROSS 82-99
MDK - Press Start (VIP Mix)
Alex Centra - Roguebot [Inspected]
Elenne - Vertical Smoke
Nicky Flower - Wii Shop Channel (Remix)
Nhato - Logos
Finally there's these, which hook into the Hues javascript events to do something fresh:
Doors
Does Lewis Have A Girlfriend Yet (xox love ya)
Creating your own songs
0x40 Hues comes with an integrated editor to create new songs and inspect existing ones. Read how to use it here - it's easier than you think!
Install (Make your own Hues website)
- Start by downloading the latest release. These are minified and load faster.
- Put your respack zips somewhere they can be found by your web server. My hues have a
respacks/folder under the main directory. - Edit
index.html: - If your html is in a different location to your
libfolder: * EditworkersPathto point to the correct (relative) location. - Edit the
defaultsobject so therespackslist contains the respacks you wish to load. - Optional: Add any extra settings to the
defaultsobject. - Upload everything to your server!
Example settings
var defaults = {
workersPath : "lib/workers/",
respacks : ["./respacks/Defaults_v5.0_Opaque.zip",
"./respacks/HuesMixA.zip"
],
firstSong : "Nhato - Miss You",
};
Settings object
See HuesSettings.ts for the possible options you
can put into the defaults object.
Query string
Any setting that can go in the defaults object can also be dynamically specified in the URL.
For example: http://0x40.mon.im/custom.html?packs=BIOS.zip,kitchen.zip¤tUI=v4.20
There are two special settings here:
firstSongcan just be written assong.- Anything given as
packsorrespackswill be appended to the respacks specified in thedefaultsobject, as opposed to overwriting them.
Building
Install Node.js. I used v16, but it should work with newer releases. Install the required packages for the build:
npm install
Build with npx webpack. It will create a dist folder. For seamless
development with auto-reload, npx webpack serve - if you do this, put any
respacks in public/respacks so they're found by the local server.
Adding a new beat character
There's a few places to change, here's a list:
- The documentation in the INFO tab. Found in HuesInfo.svelte
- The mouseover documentation & button for the beat in EDITOR. Found in HuesEditor/Main.svelte
- The list of beats in HuesCore.ts
- If you've added some new display behaviour:
- A new beat type in the
Effectenum - A handler in the
beaterfunction - Appropriate state for the effect in HuesRender.ts
- Appropriate rendering code in HuesCanvas.ts
- A new beat type in the