Skip to content

in4k/sikistys

 
 

Repository files navigation

sikistys 1k js framework

This is 1k js framework supporting one fragment shader and byte beat. Included is tähtituho's lovebyte 2023 entry sikistys sikistys by tähtituho

Prerequisites

  1. install node
  2. run npm install -g http-server
  3. npm install node-zopfli
  4. npm install terser

Shader development

Custom build of Leviathan 2.0 is included for your convenience. Leviathan is great tool to write shaders, because it is really simple and aims to be productive. Custom build differs from orignal in following ways:

  1. You don't need to divide t variable at all. It is compatible with time variable from js.
  2. It does not support post processing

Use you favorite editor to write shader. Visual Studio Code with GLSL lint is recommended.

  1. Edit shader.frag
  2. Run tools/leviatha-custom-build.exe
  3. Leviathan will reload shader when you save shader in your editor

Testing with browser

When you feel like shader is ready to be executed in browser, do following steps:

  1. Minify shader by running startBrowser.ps1.
  2. Click somewhere in upper left segment of browser to start This should open new browser tab to address http://localhost:8080/index.html

Writing byte beat

Find onclick-function in main.js and there you will se comment saying "write tune here". Paste your byte beat into that. NOTICE your byte beat might need some tweaking if you wrote in it https://greggman.com/downloads/examples/html5bytebeat/html5bytebeat.html. Start http-server like you did with shader and listen to your tune.

Making release

When you feel that shader and byte beat are good as they get, you should do release.

  1. Run makeRelease.ps1
  2. Start http-server and try results at http://localhost:8080/release/index.html
  3. Submit entry to you favorite party with instruction how to run and start demo.

Shoutouts

Leviathan 2.0 For awesome shader editor

Shader_Minifier For minifying shader

Terser For minifying js

compeko For PNG compression

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 66.9%
  • GLSL 19.5%
  • PowerShell 11.4%
  • HTML 2.2%