dwitter.net | tomxor (29547)

+ New dweet
function u(t) {
} //
122/140


Please log in (or register) to post a dweet (copy-paste the code somewhere safe to save it meanwhile)


u(t) is called 60 times per second. t: Elapsed time in seconds. S: Shorthand for Math.sin. C: Shorthand for Math.cos. T: Shorthand for Math.tan. R: Function that generates rgba-strings, usage ex.: R(255, 255, 255, 0.5) c: A 1920x1080 canvas. x: A 2D context for that canvas.
Try the new frontend: beta.dwitter.net
Current theme challenge: #Food
show FPS hide FPS share fullscreen

function u(t) {

}//
129/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • u/tomxor
    Mwahaha, an excellent name for a villainous weapon

Please log in (or register) to comment.

show FPS hide FPS share fullscreen

function u(t) {

}//
130/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • Bounce Back Warp Portal
  • u/tomxor
    :P are you going to reconstruct your game in 140char chunks?
  • u/KilledByAPixel
    Now that I've made a portal, maybe we can pull the rest of the game through it.

Please log in (or register) to comment.

show FPS hide FPS share 1 remix fullscreen

function u(t) {

}//
139/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • 240 character message and uncompressor!

Please log in (or register) to comment.


function u(t) {

}//
98/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • Smaller uncompressor, only takes about a second to boot up!
  • Show more commentsโ€ฆ
  • u/tomxor
    Really need a larger charset though :/ I think 64 should be enough for most, which bumps it up to 6 bits, but that requires a lot more code to extract, might still be better than 184 though?
  • u/tomxor
    Nah, before even considering extra decompression code, 6 bits with 32 dictionary barely provides 192 chars, as soon as you start actually filling the dictionary with more you quickly go under 140 encoded chars. I think you hit the best balance for this method.
  • u/KilledByAPixel
    i think 5 bits is the sweet spot, it is definitely tough writing code that only uses 32 chars but maybe we can see some programs that would not otherwise be possible
  • u/DataMeta
    #hiddengem

Please log in (or register) to comment.

show FPS hide FPS share 1 remix fullscreen

function u(t) {

}//
107/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • u/tomxor
    Reduced character set encoding :P I was literally thinking to do the same thing, also this is how some SMS txt compression standards work apparently.

Please log in (or register) to comment.


function u(t) {

}//
140/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • New 4-1 compressor proof of concept! In this example the compressed code is 208 chars.
  • u/KilledByAPixel
    #COMPRESSOR replace $ with your code... $="for(c.width|=i=9;i--;)x.fillRect(400+i*99+S(t)*300,400,50,200)";n=[...new Set([...(';'+$)])].join(o='');for(v=i=0;(q=$[i])||i%4;++i)v+=q?n.indexOf(q)<<i%2*5:0,i%2?(o+=String.fromCharCode(((i%4==3?55:54)<<10)+v),v=0):0;throw 'for(I=O="";Q="'+o+'".charCodeAt(I/2);O+="'+n+'"[Q>>I++%2*5&31]);eval(O)'
  • u/tomxor
    This is way better than my crazy delta compressor, but it's still surprisingly difficult to stick to a 32 char set.

Please log in (or register) to comment.

show FPS hide FPS share fullscreen

function u(t) {

}//
93/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • Limited Range Delta Compression - Fit 200 chars! with extreme limitations :D
  • u/tomxor
    Each char is encoded as 5 bits (fitting 4 into each 20bit surrogate pair), representing the numeric difference between the previous and current ASCII codepoint. Since 5 bits only provides 32 values this is limited to shifting -16 to +15 codepoints each char, this makes it rather challenging to write code with since you can only reach a max of 1/3 of the useful ASCII codepoints at a time.
  • u/tomxor
    Here's the encoder if you are looking for a very contrived adventure: f=(s,x=96,b=16,o='')=>{for(p=0,i=0;i<s.length;){x+=d=s.charCodeAt(i)-x;p|=d+b<<((i%4^2)*5);++i%4?0:p=o+=String.fromCodePoint(p+0x10000)}return o;}; f('helloooworld')
  • u/tomxor
    ... don't try this, seriously, you can't even get a for loop started
  • u/tomxor
    #compressor

Please log in (or register) to comment.

show FPS hide FPS share 1 remix fullscreen

function u(t) {

}//
134/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • Slow Uncomprepssor - Saved 6 more bytes! - (At 60 bits per second, give it about 10 seconds to uncompress)

Please log in (or register) to comment.

show FPS hide FPS share 1 remix fullscreen

function u(t) {

}//
128/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • Say hi to Monty

Please log in (or register) to comment.

show FPS hide FPS share fullscreen

function u(t) {

}//
130/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • Saved 9 more... although it decodes at 1 bit per second !!
  • u/tomxor
    Decoder now = 90 chars, leaving 50*20/7 = 142 chars of content yay! +2 chars
  • u/tomxor
    To break even with 184 chars, 184*7/20 = 67 20bit chars, leaving 73 for decoder, not sure this is possible :/
  • u/tomxor
    ... I guess 1bit/s is just not good enough for the internet of the 21st century XD

Please log in (or register) to comment.

Loading...
Next page