« first day (1850 days earlier)      last day (3160 days later) » 
00:00 - 19:0019:00 - 00:00

12:00 AM
I have all the major browsers installed
Ill test it for you Joe :D
 
Pip
Here's all that I got as far as an error:
InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable
 
Joe
something about no longer available object
yea
 
Oh no Joe
 
Joe
i have the fix @Pip... Chrome
 
Joe your canvas doesn't scale correctly
It starts using antialising
Here do this
 
Pip
12:01 AM
@Joe fuck you :D
 
Joe
lol
 
context['mozImageSmoothingEnabled'] = false;
context['msImageSmoothingEnabled'] = false;
context['imageSmoothingEnabled'] = false;
This will allow it to render crisp/pixelated correctly
 
Joe
hmm i was using the last one
do i need the others?
 
You're not supposed to need the others
But those are just incase
You also need another set of them
here is some CSS you need
	canvas {

			image-rendering: optimizeSpeed;
			image-rendering: -moz-crisp-edges;
			image-rendering: -webkit-optimize-contrast;
			image-rendering: -o-crisp-edges;
			image-rendering: optimize-contrast;
			image-rendering: pixelated;
			-ms-interpolation-mode: nearest-neighbor;
		}
 
Joe
oof im already 150 bytes over
dont know if ill be adding any of this haha
 
12:03 AM
Lol but Joe its worth for the points
 
Joe
ill have to see what i can cut
 
You get more points for supporting more browsers
Joe :P Want me to optimize all your spritesheets?
 
Joe
not worth it if i get disqualified for being over 13k
i already did
 
With gimp?
Lol ill look at your final build :D
@Joe wait I cant find your build D:
 
Joe
what are you looking for?
 
12:09 AM
the final compressed minified file :D
 
Joe
hmm i must have git ignored it
added zip dir
 
WHOA @Joe @Pip
You gotta check that out
ITS A FULL BLOWN GAME AS THE FAVICON
 
looks cool.
 
12:47 AM
You have been visited by the programmer nightmare, you'll have to debug code with this: catch (Throwable T) {}
 
Pip
12:57 AM
lol
 
:( the C++ lounge told me it was nothing but a unpleasant dream
 
Joe
1:11 AM
@TheMuffinCoder so what did you conclude from your analysis of my scrubby code
 
Lol i didnt check yet
@Joe Hey Joe you know you can save more bytes
By copying the javascript code into your <script> tags
Then there's no need to have that additional files and reduces unneeded byte like adding src to it and file name
 
Joe
you are absolutely right
 
:D did i help you then?
 
Joe
thats definitely something, at lest 20 chars
so yea ty
 
@Joe OUCH i know why your code is so big now
The compiler can't optimize your code well because of all the classes and objects
Look here for example
n.velocity
It should had renamed velocity to another shorter name like abc
 
Joe
1:15 AM
yea i saw that too
but i dont know how to resolve it
 
If you want you can manually just do
ctrl find and replace all
and just put something like adc
 
Joe
i bet the minifier has a property name flag hmm
 
@Joe One last thing
Don't include the spritesheet in your javascript file
It's way bigger than if it were a separate file and just have to load it
Once it gets encoded into base64 or whatever its called it can't be as compressed as the .png file can
 
Joe
its not way bigger its like 20%?
let me look into that
 
:P but isn't less than 20% enough just to help you reach 13k?
Lol i hope my tips help you
 
Joe
1:18 AM
i guess that could get me there i liked having my build be two files
 
hey joe how many bytes are you over?
 
Joe
i think its just shy 200 bytes
 
:D
Then don't bother with the spritesheet yet till you try shortening the variable names
 
Joe
but i could stand to make more space
i still have features i wanted
 
:D
Then you can add fancy particles like mine :D
Joe I'm actually scared of what Kevin is going to do
 
Joe
1:20 AM
thats on my list
 
If anyone goes with Webgl, they're already a scary entry
 
Joe
important thing is what you do, i just want to finish what i started
 
 
6 hours later…
user92578
7:17 AM
Hi
 
7:31 AM
Hi
 
7:42 AM
\o
@TheMuffinCoder evil laugh
I figured out procedural generation for images
 
user92578
7:56 AM
Kevin you had a thing for generating the 48 tiles for bitmapping from 5 smaller tiles, right?
 
I have a thing that generates both the 5 smaller tiles and the 48 bigger tiles
That can be easily changed to do what you want
 
user92578
I'm getting tired of making sprite mistakes and having to replace ~20 tile corners by hand
 
user92578
Was the tool on GitHub?
 
user92578
Got a link?, I don't remember your GitHub username anymore
 
user92578
8:00 AM
sorry
 
user92578
thanks
 
user92578
I only get "PaletteGen"
 
user92578
I need to change a branch or something?
 
user92578
8:07 AM
aight got it
 
user92578
So does the tool do what I want it to do? I supply 5 tiles to it and it generates the 48 tiles for me?
 
11 mins ago, by Kevin van der Velden
I have a thing that generates both the 5 smaller tiles and the 48 bigger tiles
Nope, the change is easy though
 
user92578
Ohh
 
user92578
Okay
 
user92578
Can you guide me trough it or do I start diving in to your code?
 
8:14 AM
Just start hacking, there's one place where it saves the small file, just replace that with loading the file
 
user92578
output.save( 'out_minimal.png' )?
 
user92578
Ah, I think I see it
 
user92578
I want to read in an image that's 5*small_tile_size wide?
 
No
Look around the quoted message, it shows an example of the output
 
user92578
That quoted message from 11 mins ago?
 
8:18 AM
Oh wait
I quoted the wrong thing
Or uuh, I didn't quote it
 
user92578
:D
 
I copied it
Aug 24 at 19:30, by Kevin van der Velden
user image
 
user92578
Ah
 
user92578
So I want to draw an image like that
 
user92578
And load that into the generator
 
user92578
8:19 AM
That's two tiles high and 3 wide, right?
 
Yeah
Tile (1,2) doesn't need to be filled of course
 
user92578
(2, 1)?
 
Uuh yes
Derp
I'm doing other stuff =p
 
user92578
:D
 
user92578
Sorry if I taking your time away
 
8:21 AM
Naah
 
Omnath has changed a bit since we last saw him! (before the emergence of the Eldrazi)
 
user92578
assert source.bytesPerPixel == dest.bytesPerPixel
 
user92578
That's failing
 
Make sure everything is 24 bits
 
user92578
now array index is out of range
 
8:26 AM
Stacktrace?
 
user92578
Traceback (most recent call last):
  File "E:\Devel\Workspace\Visual\C++\GunHeroRemake\GunHeroRemake\GunHeroTool\Tile\generate.py", line 159, in <module>
    blit16x16( output, fullOutput, sections[section], fullOutput.I( x, y ) )
  File "E:\Devel\Workspace\Visual\C++\GunHeroRemake\GunHeroRemake\GunHeroTool\Tile\generate.py", line 93, in blit16x16
    dest.pixels[x + destStart] = source.pixels[x + sourceStart]
IndexError: array index out of range
 
Is your tile size not 32x32?
 
user92578
It's 16
 
user92578
Soooo
 
user92578
Replace "16" with "8"?
 
8:29 AM
Pretty much
It's a prototype I made in a few hours that I opensourced for pip
 
user92578
Yeah I understand that it's not perfect
 
user92578
And I guess I also need to change the sections = (...) data
 
user92578
that almost worked
 
Uuuh don't remember, maybe
 
user92578
Yeah I got it
 
user92578
8:37 AM
getting my hair cut, bb in ~1h
 
Grow your hair out! No need to get it cut
 
user92578
8:57 AM
It looks ugly when it gets past a certain point
 
user92578
My hair style is making it up a little from the front
 
user92578
Cant do that with longish hair
 
user92578
Ive thought about getting a true metal hair
 
user92578
But I was like "nah"
 
Step 1 of procedural generation of my floortiles :D
 
user92578
9:08 AM
Cool
 
Now to add some noise and done
 
user92578
:D
 
user92578
My first tiles were always just color + noise
 
user92578
Is this for the JS thing?
 
user92578
9:10 AM
When is the deadline?
 
user92578
Ah
 
user92578
And youre making the reversed Invis Inc?
 
Is the plan
 
user92578
Sounds really cool
 
9:21 AM
Hmm, value noise, I don't think it works 100% but
Damnit brain, that's an image on a monitor, it does not have depth
(I flipped the shadows and now my brain is refusing to not see the dark sections as being deeper)
(I think that means I did it right btw)
 
9:45 AM
Oooooh, it's less than 13k zipped
3041 bytes :D
(I am totally not brute forcing every zip compression level to pick the smallest one, noo not at all)
(Incidentally, -6 is 1 byte smaller than -9)
 
10:49 AM
Yeah
 
user92578
Nice
 
user92578
I think I'm finally happy with the tiles:
 
user92578
 
user92578
Now I just need to figure out how the fuck am I going to blend those two together somehow smoothly
 
user92578
because that looks just horrible
 
10:56 AM
@Tyyppi_77 You should be, they look good
 
user92578
thanks
 
user92578
The noise overlay is a bit buggy
 
user92578
But otherwise I'm satisfied
 
user92578
The system for multiple terrain types on the same layer is still a bit work in progress
 
user92578
But yeah
 
user92578
10:59 AM
hmm
 
Jon
11:17 AM
:D
why would anyone want to buy this? It apparently has 2 gpus on the same card
 
user92578
11:36 AM
mum brought me coffee and a bowl of marshmallows :)
 
^^
 
@Jon SLI but without the hassle, ooh and way worse cooling (comparatively)
 
user92578
11:49 AM
That looks good, doesn't it?
 
user92578
 
I'd say so, there might be a bit too much difference in colour though
A bit darker perhaps?
 
user92578
The border?
 
user92578
I'm thinking about changing the whole foreground terrain border color to match more the stone color
 
user92578
11:56 AM
The current sandish color might be too bright
 
user92578
How does this look?
 
user92578
 
12:11 PM
@KevinvanderVelden I see the same thing, so yes you did it right :P
@Ali.S I would, but I dont have a screwdriver of the right fit
 
@Hjorthenify actually you don't need an screwdriver to take a single key out
you just need lots of force, and the belief that it won't break!
 
I thought you wanted me to disconnect it :P But yeah.. I guess I could give that a shot
Or should I make use of the warranty on it and just make them fix it?
If I do there's 33% chance that I'll be the one fixing it anyways :D
 
@Hjorthenify you sure, it's only 33%?
 
1/3 so more precisely 33.33333%
 
base on the little I have with warranties, there is 100% chance that I will eventually fix it, and 33% that they break it more :P
 
12:20 PM
I'm one of three who fixes laptops at the place she bought it from :P
 
@Hjorthenify ok... that makes sense :D
 
So yeah.. 33% chance that I'll be assigned to it and another 33% that i'll break it even more :D
 
user92578
12:33 PM
Can I write this shorter somehow? if (overlayBackgroundLayer->GetTileAt(m_PositionX, m_PositionY) && overlayBackgroundLayer->GetTileAt(m_PositionX, m_PositionY)->GetTileType() == m_TileType)
 
auto tile = overlayBackgroundLayer->GetTileAt(m_PositionX, m_PositionY);
if ( tile && tile->GetTileType() == m_TileType )
 
user92578
Well yeah, that I guess
 
user92578
Nice use of the auto, you really didn't know what it returned :D
 
@Tyyppi_77 C++? I would go with something like this:
if (auto tile = overlayBackgroundLayer->getTileAt(m_PositionX, m_PositionY))
    if (tile->getTileType() == m_TileType)
    {
        ...
    }
 
user92578
I see
 
user92578
12:40 PM
As that's such a common pattern in my brush code, I just ended up making a macro
 
user92578
#define TILE_EXISTS_AND_IS_OF_TYPE(l, x, y, t) (l->GetTileAt((x), (y)) && l->GetTileAt((x), (y))->GetTileType() == t)
 
@Tyyppi_77 you wrap all but the 2 where it matters in parenthesis =[
 
user92578
Really???
 
Yup, x and y won't have ambiguity in resolving them, both l and t could cause problems
 
user92578
how?
 
12:43 PM
TILE_EXISTS_AND_IS_OF_TYPE( condition ? front : back, x, y, t )
 
@Tyyppi_77 Make a get tile type at function in the background layer
 
user92578
1:35 PM
What?
 
user92578
@KevinvanderVelden Good point, fix'd
 
If you use that function so often why dont you just add a GetTileTypeAt(index) function to your background layer?
 
user92578
Because it's the tiles responsibility to maintain that information
 
user92578
And it doesn't make sense to add that to the layer
 
user92578
It's better as an utility, tied to the brush
 
1:40 PM
So you only need it in the brush?
 
user92578
Yup
 
user92578
2:05 PM
This stuff gets really tricky really quickly
 
user92578
Might have to re-program this for clarity
 
user92578
Almost works now
 
user92578
2:18 PM
I wonder if it had been a better idea to let every tile check it's mask by itself
 
2:39 PM
Ubuntu would be a good distro for someone who has never used Linux before, right?
 
user92578
That's what I've heard, but I have no experience of it myself
 
College is (finally) starting on Monday, and they assume you have access to a Mac or Linux machine
So I'm finally going to try Linux
 
user92578
Ah
 
user92578
Now I'll do something easy, like a tree brush
 
user92578
All tough I need to add a new UI element for that, item variations
 
2:43 PM
@Lokkij Ubuntu is easy, yes. Many are also recommending Arch though
 
Hmm
 
user92578
I wonder if I should implement a nice generic base for "stamp" brushes...
 
3:18 PM
@KevinvanderVelden Hey kevin are you going to make another stream for the js13k like you did for the ludam dare? :P
 
Maybe occasionally
 
Oh okay :D
I want to see the master code in webgl
 
Right now I'm figuring out if my math library is dumb or if I'm dumb
 
It's not doing what I expect
 
3:19 PM
I shall predict your winning position
 Math.random() * 10 | 0
Third place!
Okay im going try it for myself
:( it predicted that I'm going to get 7th
 
Okay, I'm blaming the library
 
I'm just doing translation and it's rotating
So, anyone know any good javascript math libraries?
 
For webgl?
 
user92578
3:25 PM
@KevinvanderVelden I usually just blame floating point precision :D
 
user92578
3:41 PM
 
Joe
@KevinvanderVelden most libraries are > 13k anyways?
 
@Joe that's what minification is for but yeah
 
Joe
even minned i mean
 
Well, I've also got a javascript compiler that removes dead code
So, yes, the library is 36k unminified, but the total thing is currently 6k
 
Joe
nice
 
3:47 PM
Hey joe any new features?
 
Joe
i have a new feature called 13281 bytes total
trying to figure out if thats < 13k
 
How are you guys compressing it?
 
Joe
standard zip after concatentating and minifying all html and js
 
I use the closure compiler and
Ultra by hand optimization
 
Joe
"uglifyjs"
 
3:48 PM
I write all my code in 1 file and use no classes and very few objects
 
I've got closure, then uglifyjs (takes off a whole 80 bytes) and then compression
 
@Joe @KevinvanderVelden look at this >:^)
 
user92578
 
Joe
3:49 PM
depending on the uglify version... it might not be doing name mangling
 
user92578
Sorry for the spam, I'm just making some progress :)
 
Joe
@Tyyppi_77 its cool man im jealous
 
@Tyyppi_77 you've seen what happens when I make progress =p
 
Im jelly
 
Joe
i never made an in game editor
 
user92578
3:49 PM
Thanks guys :)
 
user92578
I'm still suuuper hyped about this
 
Lol i always love the art style @Tyyppi_77
My pixel art always looks like trash if i try to do anything bigger than 16x16
 
user92578
All my tiles are 16x16
 
user92578
But thanks a lot
 
oh LOL
See, it has so much detailed I thought it was 32x32
 
user92578
3:51 PM
Thanks
 
We have to make a 3D game for next years js13k
 
Joe
i just wrote my first C style one line song algorithm and its awesome
"t*(3&t>>10) - t*(6&t>>10) + (t*(9&t>>10))&128" wurstcaptures.untergrund.net/music
and that link totally didnt work
 
rip head phone users
 
Joe
haha oh sorry yea that site starts with volume at 99999999
 
Joe
4:04 PM
yea ive been reading all of this guys stuff
 
I have spent the past 10 minutes listening to those songs,
I think I killed my ear drums
 
user92578
Imma call it a day, bye guys!
 
Bye tyyppi!
Here takes this with you
(>")> here's a banana
 
user92578
Oh, thanks a lot!
 
user92578
4:12 PM
:D
 
4:35 PM
... so, flipping the matrices around before uploading them works
For some reason
 
4:52 PM
Hello guys, I'm not sure if it qualifies for a question here, so asking on chat:
I was wondering for a while, how to program a 'world' simulation. I dont think about physical world or physics rules but rather interaction of several entities. I tried to google some articels but all i can find are articles about our world being Matrix-Like simulation ;). Is there anything you could recommend for reading ?
 
Ouph, that's probably an incredibly broad topic
 
well let's try to narrow it. Let's say i would like to simulate a life in the village. Without physics rules. Just several citizens doing their daily stuff - farming, eating, talking (or other social interaction between them). Those things would modify citizen's indicators. If some are low, citizens would die. If some are high, citizens would reproduce.
Without some really deep stuff, maybe some dice chance based.
 
Jon
That enermax PS I found in my basement doesnt have a PCIE connection... damnit
 
5:09 PM
how to program a "world simulation" woa... that's a big one
@IcyDefiance @Lokkij ooch stuck hard on sequence peak detector
 
@user2475983 dwarf fortress does some of that
There's a few articles (mostly interviews) floating about
 
Dwarf Fortress is free but not open source, right?
 
TIS-100 is fuckin hard, once you get going on it
where I am, I'm not stuck trying to optimize, I can't even get a working solution
can't stuff enough code into one node
 
(Holy shit of dwarf fortress were open source, it'd probably be way better with benevolent dictator for life making content and the community improving the code (say, multithreading(#@&%#@%&, better interface))
2
 
5:25 PM
well maybe I said it just too greatly ... just simulation of entities interacting in some kind of world. Like the village example i mentioned ealier. The village is some kind of world for the villagers :). But thanks, gonna check out dwarf fortress articles.
good example would be 'game of life' but that's fairly too easy :P
 
I'd not call game of life a simulation
Also, yay! I has input working
And basic rendering
 
Pip
5:56 PM
eyo!
Can anyone recommend an IRC client for Linux? I'm using HexChat for Windows but I don't spend a ton of time there
@Joe I approve
It acutally sounds kind of cool to change the last number to a 127
Ooh 90 sounds cool as well
And 40 :P
Just messing with this is a surprising amount of fun
 
Joe
i got sucked into it for like 2 hours
 
Pip
Man
 
Joe
i think im just going to use what i have right now and submit
 
Pip
This is actually really entertaining
@Joe go for it!
 
Joe
i just wanted something more melodic
its soo repetitive
dont understand how to do that yet
 
Pip
6:03 PM
HAHA
t*(2&t>>10) - t*(1&t>>10) + (t*(9&t>>10))&128 - t*(23&t>>10)
The longer you seem to make the chain the more variation there is
 
Joe
((t*5&t>>7)|(t*3&t>>10))&255 is what i presently have on the game page
 
Pip
t*(2&t>>10) - t*(1&t>>10) + (t*(9&t>>10))&128 - t*(23&t>>10) + t*(1&t>>10)
I like it
 
Joe
i didnt change it i just found it
which sucks
its awesome though
 
Pip
Interesting
((t*5&t>>7)|(t*3&t>>10))&255 ^ t*10 + t*(t*2>>t) *t*t*t*t*t*t*t*t*t
I got some legible melody going with ((t*5&t>>7)|(t*3&t>>10))&255 ^ t*10 + (t*t ^ t >> 10)
anyway
too much of a time sink for right now :D
 
6:28 PM
It really annoys me when you're hands are so slow/weak that they slow you down while writing
My summer hw is so easy but i cant type it out :(
 
6:42 PM
@Joe note the heavy use of prime numbers in the ones in the video
that's one place the variation comes from
 
Pip
Fucking online class bullshit
 
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, RIGHT
 
00:00 - 19:0019:00 - 00:00

« first day (1850 days earlier)      last day (3160 days later) »