00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:10:47  * evboguejoined
00:11:28  * jibay_joined
00:13:24  <hij1nx>dominictarr
00:14:53  <mbalho>chrisdickinson: wow i didnt even know contextmenu was an event
00:15:00  <evbogue>Is Storm --> https://github.com/nathanmarz/storm kind of like ZeroMQ just Twitterized?
00:17:49  <evbogue>(or maybe it's just not relevent in the context of node?)
00:25:46  <st_luke>substack: have you had any time to check out this PR for optimist for collecting args without echoing them in the shell? https://github.com/substack/node-optimist/pull/58 (not from me)
00:44:46  <st_luke>actually nm it's easy enough to use keypress along with optimist
00:52:23  <substack>Raynos_: https://gist.github.com/2657075
00:52:40  <substack>I'm #12, you're #21!
00:52:45  <substack>dominictarr is #33
00:53:12  <substack>gozala: you're in there too
00:54:26  <substack>odd that isaacs isn't showing up
00:54:55  <CoverSlide>not odd at all
00:55:29  <CoverSlide>probably reads and reviews a lot more code than he gets to write
00:55:45  <substack>his profile says 3655 https://github.com/isaacs
00:55:54  <CoverSlide>and is this # of commits, # of lines?
00:56:12  <mbalho>if only mine was accurate :(
00:56:49  <mbalho>substack: have you ever created png heightmap from vector contours before?
00:57:00  <substack>vector contours?
00:57:07  <mbalho>yea
00:57:16  <mbalho>like elevation relief contours
00:57:48  <gozala>wow
01:06:38  * nk109quit (Quit: Computer has gone to sleep.)
01:07:32  <defunctzombie>When I try to set an environ variable for an app that doesn't exist it fails
01:07:45  <defunctzombie>however, I don't want to deploy my app before I set the vars
01:07:51  <defunctzombie>or is there a way to deploy but not start?
01:13:08  <defunctzombie>bah
01:13:14  <defunctzombie>wrong room
01:13:26  <defunctzombie>guess no one in here wants to help me with my nodejitsu problems :p
01:15:25  <mbalho>substack: im hacking on voxel san francisco right now :D
01:17:50  <isaacs>substack: yes, i should be on that list.
01:17:57  <isaacs>substack: that makes me think that probably a lot of people are missed
01:26:39  <Raynos_>substack: now that is silly
01:27:44  * nk109joined
01:50:02  * jibay_quit (Quit: Leaving)
01:50:11  * jibayquit (Quit: Leaving)
01:54:45  * tilgoviquit (Remote host closed the connection)
01:56:48  * dominictarrjoined
02:03:21  * dominictarrquit (Quit: dominictarr)
02:38:27  * st_lukequit (Ping timeout: 248 seconds)
02:41:06  * st_lukejoined
03:09:20  * evboguequit (Ping timeout: 255 seconds)
03:12:32  * dominictarrjoined
03:23:13  * evboguejoined
03:27:16  * dguttmanquit (Quit: dguttman)
03:33:50  * tilgovijoined
03:43:30  * evboguequit (Remote host closed the connection)
03:50:52  <jjjjohnnny>substack: the sod gun has excellent range and accuracy
03:51:22  <dominictarr>mbalho: hey had an idea yesterday
03:51:41  <substack>jjjjohnnny: indeed!
03:51:49  <jjjjohnnny>LETS PLAY GUESS THE IDEA
03:51:51  <substack>jjjjohnnny: I want a block-smashing sniper rifle
03:51:59  <dominictarr>what about a programming tutorial that is just opening the console and messing with sites via js
03:52:14  <dominictarr>WEB CHEATCODES
03:53:02  <jjjjohnnny>cheated
03:53:07  <dominictarr>like in twitter you have jquery and you can do stuff like
03:53:16  <dominictarr>$('.favorite').click()
03:53:29  <dominictarr>and instantly favorite everyone
03:53:58  <dominictarr>I did that yesterday, and like 15 new people followed me
03:54:04  <jjjjohnnny>dominictarr: i don't know if we should teach js the same way we learned it :\
03:54:21  <jjjjohnnny>that is jquery first
03:54:40  <dominictarr>well, not all sites have jquery
03:54:51  <dominictarr>like facebook doesn't
03:55:06  <dominictarr>the point is, to show kids where the controls are
03:55:16  <dominictarr>show them what power they have
03:55:42  <jjjjohnnny>its a good idea tho i like it #swish
03:56:42  <jjjjohnnny>dominictarr: i tried to get my NKO team to do an a similar idea for the command line
03:56:52  <dominictarr>how so?
03:57:01  <jjjjohnnny>basically adding a layer of fine customization on top
03:57:08  <jjjjohnnny>curate specific functionality
03:57:42  <dominictarr>not sure what you mean. can you elaborate?
03:58:02  <jjjjohnnny>well, adding simple UI to the CLI
03:58:09  <jjjjohnnny>addomh search
03:58:12  <jjjjohnnny>adding
03:58:33  <jjjjohnnny>by command line, i mean a CLI built in HTML5
03:58:43  <jjjjohnnny>which runs your programs CLI style
03:58:59  <dominictarr>right. the web dev console? or the terminal?
03:59:08  <jjjjohnnny>terminal
03:59:44  <jjjjohnnny>you know, use play, rec, youtubedl, and myriad node programs
03:59:50  <jjjjohnnny>tuner
04:00:15  <jjjjohnnny>but for people who dont use the CLI at all yet
04:01:00  <jjjjohnnny>instead of having an icon somewheres, they can type "timer 20 dingdong,mp3
04:02:17  <dominictarr>right… so is it just a terminal in the browser?
04:02:29  <dominictarr>or is there additional handholding involved?
04:02:35  <jjjjohnnny>plus some small amount of style and UI
04:02:54  <defunctzombie>dominictarr: has to be simpler than that
04:02:54  <jjjjohnnny>helpers
04:03:00  <defunctzombie>really the basics start with simple variables
04:03:05  <defunctzombie>and changing them to see results
04:03:23  <dominictarr>defunctzombie: yes seeing results is what i'm going for
04:03:38  <defunctzombie>the problem is even with teh jquery example you are bringing in a lot of notions that would not be obvious
04:03:45  <defunctzombie>like what is this ".favorite"
04:03:49  <defunctzombie>why is it in quotes
04:03:54  <defunctzombie>what is special about the $
04:04:00  <defunctzombie>why is the .click not in quotes
04:04:07  <defunctzombie>why are there two () after click
04:04:12  <dominictarr>yes, but you need to motivate first
04:04:30  <defunctzombie>when you start to break down a simple statement like that it is very complex in reality
04:05:04  <defunctzombie>software is complex because it is abstract
04:05:10  <defunctzombie>you gotta make it less abstract
04:05:14  <dominictarr>when you just start at "hey, so this is a variable, isn't that cool! numbers!" that is not exciting unless you can do something with it
04:05:22  <defunctzombie>this is why simple block based approaches work really well
04:05:25  <defunctzombie>and the lego stuff is great
04:05:30  <dominictarr>but people are familiar with cheatcodes
04:05:38  <dominictarr>as an arbitary pattern
04:05:42  <defunctzombie>that is a terrible way to start (the variable thing)
04:06:20  <dominictarr>but the difference with these cheat codes is that there is a logic to them.
04:07:02  <dominictarr>anyway… this is just another approach to try.
04:07:07  <defunctzombie>yep
04:07:08  <dominictarr>not the be-all-end-all
04:07:29  <defunctzombie>the problem with the cheat codes is that it isn't easy to think about it yourself outside the scope of what you were told to copy and paste
04:08:13  <dominictarr>that is when you direct users to a regular tutorial
04:09:01  <dominictarr>explaining something is one thing, but the most important thing is to get people to realize that programming is fun.
04:10:02  <dominictarr>if you have that, they can just teach them selves.
04:11:36  * gwenbelljoined
04:15:35  <dominictarr>hey gwenbell, welcome to stackvm
04:16:35  <gwenbell>oh hi, dominictarr!
04:17:22  <dominictarr>so, I googled you… I discovered you had written this interesting book
04:17:28  <gwenbell>haha oh god
04:17:33  <dominictarr>but I can't find anyplace to get a copy
04:17:43  <gwenbell>ok, i can send it to you if you want
04:18:05  <gwenbell>dw?
04:18:12  <dominictarr>yeah
04:18:25  <gwenbell>it feels so long ago now
04:18:35  <dominictarr>like a .mobi or something?
04:19:07  <dominictarr>[email protected]
04:19:13  <gwenbell>cool
04:19:30  <gwenbell>i'll get it off my hard drive. sorta transitioning out of the writerly world into the developery world
04:20:03  <dominictarr>cool
04:20:35  <gwenbell>what's new in the mad science channel today?
04:21:05  <dominictarr>scheming ways to teach programming
04:21:27  <dominictarr>(read: promote anarchism)
04:21:55  <gwenbell>i took some classes at codecademy, and i love eloquent javascript! what have you come up with?
04:22:20  <dominictarr>just an idea,
04:22:42  <dominictarr>a tutorial based on opening the dev console
04:22:56  <dominictarr>and poking about websites with javascript
04:23:17  <dominictarr>like, on twitter you can do $('.favorite').click()
04:23:32  <dominictarr>and favorite EVERY tweet that is on your timeline.
04:23:38  <gwenbell>nice
04:23:47  <gwenbell>for all time?
04:23:50  <dominictarr>I did that yesterday, and got 15 new followers
04:24:09  <gwenbell>b/c it pings them when they're favorited?
04:24:09  <dominictarr>no just the ones they are on the current page
04:24:14  <dominictarr>yes
04:24:25  <dools>spamtastic!
04:24:43  <dominictarr>yes
04:26:56  * tphummelquit (Quit: tphummel)
04:28:22  <dominictarr>you can also unfollow everyone using jquery
04:28:33  <fotoverite>YES!
04:28:37  <fotoverite>DO THAT!
04:28:42  <dominictarr>that is what marak did
04:29:17  <fotoverite>Is that how you did the favorite everything last night dominictarr
04:29:56  <dominictarr>no, I clicked every favorite button manually. with love.
04:30:33  <dominictarr>(yes, I used jquery, but still with love)
04:38:46  <gwenbell>dominictarr: sent!
04:38:55  <dominictarr>thanks
04:41:21  <mbalho>gwenbell: http://for-cats.com
04:41:35  <dominictarr>gwenbell: I think one of the problems with social media is that it's not just like regular life (which can get pretty hectic on it's own) but it's actually designed to addict you and change your behaviour.
04:41:45  <gwenbell>right
04:42:02  <gwenbell>that's why i quit all but github
04:42:14  <dominictarr>sometimes I wonder if you could design systems that people wanted to use, but didn't drain you emotionally
04:42:15  <gwenbell>which, now that it has a leaderboard thing going on is taking on an addictive quality all its own
04:42:37  <gwenbell>which may not be problematic if it makes us not just more prolific coders, but more thoughtful ones, too
04:43:09  <dominictarr>hmm, I'm not sure
04:43:40  <gwenbell>i just don't go to the web for nutrition other than to learn/find new info -- i don't go to the web as much for emotional connection anymore
04:44:08  <dominictarr>sure
04:44:44  <dominictarr>but for somethings, it would be impossible to build a community around without the internet
04:45:21  <dominictarr>because there is not sufficient density of people with that interest, except in a few places
04:45:42  <gwenbell>mbalho: amazing
04:49:31  <gwenbell>dominictarr: my guess is when we have a truly p2p connection with people, the addictive components will start to abate
04:49:37  * dominictarr_joined
04:49:50  <dominictarr_>I was about to quit, but then I realized that I could just unsubscribe from everyone - no newsfeed - and still use it to keep in contact with my overseas friends.
04:50:20  <gwenbell>when i quit i lost touch with everyone
04:50:22  <gwenbell>it was hella hard
04:50:25  <gwenbell>like, still is
04:50:43  * dominictarrquit (Ping timeout: 248 seconds)
04:50:43  * dominictarr_changed nick to dominictarr
04:55:50  <mbalho>substack: now with mountainous coloration http://maxogden.github.com/voxel-perlin-terrain/
04:56:23  <mbalho>gwenbell: your usage of hella suggests you live in oakland (like me and substack)
04:58:20  * dominictarr_joined
05:00:20  * dominictarrquit (Ping timeout: 265 seconds)
05:00:22  * dominictarr_changed nick to dominictarr
05:00:33  <substack>mbalho: damn that looks really good
05:00:44  <gwenbell>mbalho: haven't even been to oakland believe it or not, well, except passing through on the bart
05:00:58  <mbalho>ah
05:03:05  <gwenbell>i hear it's cool in oakland
05:03:13  <mbalho>hella chillll
05:03:53  * ralphthe1injajoined
05:04:06  <gwenbell>you guys wanna play me in browserquest?
05:04:10  <gwenbell>http://browserquest.mozilla.org/
05:04:39  * ralphthe1injaquit (Client Quit)
05:04:42  <mbalho>im about to go offline
05:04:54  <gwenbell>browserquest is written in node
05:05:03  <gwenbell>!!
05:05:14  <gwenbell>ok, bye mbalho
05:05:38  * dominictarrquit (Ping timeout: 244 seconds)
05:07:38  * tphummeljoined
05:13:38  * dominictarrjoined
05:24:13  * ralphtheninjaquit (Quit: leaving)
05:25:18  * ralphtheninjajoined
05:32:14  * ralphtheninjaquit (Quit: leaving)
05:32:32  * ralphtheninjajoined
05:33:17  * ralphtheninjaquit (Client Quit)
05:33:31  * ralphtheninjajoined
05:37:07  * dominictarrquit (Ping timeout: 248 seconds)
05:39:36  * dominictarrjoined
05:53:25  * gwenbell_joined
06:10:41  * tilgoviquit (Ping timeout: 255 seconds)
06:15:27  * dominictarrquit (Ping timeout: 276 seconds)
06:16:02  * dominictarrjoined
06:17:52  <jjjjohnnny>im playing
06:18:18  <jjjjohnnny>im stopped
06:20:15  <mbalho>jjjjohnnny: haha
06:20:29  <mbalho>jjjjohnnny: new hotness maxogden.github.com/voxel-perlin-terrain
06:20:39  <mbalho>jjjjohnnny: wanna help me write an efficient server implementation
06:20:47  <mbalho>jjjjohnnny: terrain one isnt multiplayer tho
06:22:03  <jjjjohnnny>whoa
06:22:41  <mbalho>substack: ive noticed that super noisy terrain (lots of holes) slows down rendering performance a lotttt
06:22:46  <mbalho>substack: but noisy surface terrain is fine
06:27:53  <jjjjohnnny>i'll have to decline your offer for now tho
06:28:04  <mbalho>dang
06:28:25  <jjjjohnnny>you should lower gravity by a lot
06:28:50  <jjjjohnnny>ive been following along tho
06:28:55  <jjjjohnnny>and reading some code
06:29:00  <jjjjohnnny>ima jump in soon
06:29:56  <jjjjohnnny>quite a view from the top o Mt. Voxel
06:31:13  * dominictarrquit (Quit: dominictarr)
06:37:14  * tilgovijoined
06:42:16  * dominictarrjoined
06:43:58  <mbalho>substack: also we need to write a demo using this https://github.com/thisandagain/logo
06:44:12  <mbalho>substack: so you can write logo macros and click to make them appear
06:46:54  <mbalho>substack: http://www.raspberrypi.org/archives/2872
06:51:47  <mbalho>substack: also you can apparently run firefox with webgl on the raspberry pi
06:52:14  * dominictarrquit (Quit: dominictarr)
06:57:14  <jjjjohnnny>mbalho: minecraft will have a (presumably) http API for programming the world
06:57:37  <jjjjohnnny>or that ras pi thing will
06:58:00  <jjjjohnnny>not as cool as directly programming the nevironment
06:58:23  <mbalho>jjjjohnnny: ive tried to write an http api for minecraft worlds
06:58:32  <mbalho>jjjjohnnny: its definitely not there yet
06:58:51  <mbalho>jjjjohnnny: also i think that is for the raspi minecraft only but who knows
07:00:35  * dominictarrjoined
07:07:47  * thatguydanquit (Read error: Connection reset by peer)
07:08:15  * AvianFluquit (Remote host closed the connection)
07:08:20  * thatguydanjoined
07:09:23  <dominictarr>mbalho! yes! must generate procedural castels, etc, instead of clicking!
07:09:55  <mbalho>dominictarr: write voxel-castle on npm and i will use it
07:11:32  <substack>http://substack.net/projects/voxel-forest/
07:14:17  * tilgoviquit (Remote host closed the connection)
07:24:29  <jjjjohnnny>i'll tell you what I want in an api for a 3d gameworld at this early stage
07:24:49  <jjjjohnnny>define a block
07:25:01  <jjjjohnnny>place a block some where in xyz
07:25:17  <substack>game.setBlock(pos, value)
07:25:19  <jjjjohnnny>translate and rotate a block my a matrix
07:25:27  <substack>value is just an int, pos is just an object with x, y, z
07:26:23  <jjjjohnnny>what is value for
07:26:34  <jjjjohnnny>object as in a three.js object?
07:27:25  <substack>value is the type of block
07:27:38  <substack>object is just something with x, y, and z
07:27:51  <substack>as in {}
07:34:54  <jjjjohnnny>very well halfway there
07:35:41  <jjjjohnnny>1/4 really
07:37:00  <mbalho>jjjjohnnny: the entire world in in memory and you can do fast bulk edits via x,y,z lookup
07:37:17  <mbalho>jjjjohnnny: and then you just have to call re-render on the chunks you edited
07:40:24  <jjjjohnnny>substack: how do you made the voxels move when exploded
07:41:10  <substack>game.addItem() handles gravity
07:41:18  <substack>and doing the item ticks
07:43:59  <mbalho>substack: im working on a website also
07:44:04  * dominictarrquit (Quit: dominictarr)
07:44:07  <substack>sweet!
07:48:39  * thatguydanquit (Ping timeout: 260 seconds)
07:50:03  <mbalho>substack: http://i.imgur.com/5LMDs.gif
07:50:19  <mbalho>substack: oops forgot to make it repeat
07:52:52  * gwenbell_quit (Ping timeout: 248 seconds)
07:54:15  * gwenbellquit (Ping timeout: 276 seconds)
08:32:23  <Altreus>I think substack is trying to reinvent minecraft in html5
08:32:41  <Altreus>substack: ah the forest works :)
08:38:35  * st_lukequit (Remote host closed the connection)
08:42:01  <substack>Altreus: mbalho and me both
08:42:12  <Altreus>:)
08:42:30  <substack>not reinventing so much as letting other people reinvent and extend the game in their own ways
08:42:59  <Altreus>The modding community is pretty big already
08:48:12  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
08:48:12  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
08:48:30  <substack>\o/
08:55:56  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
09:05:54  * tphummelquit (Quit: tphummel)
09:08:01  * gwenbelljoined
09:08:03  * gwenbell_joined
09:26:02  * thatguydanjoined
09:29:21  * dominictarrjoined
09:33:04  * defunctzombiechanged nick to defunctzombie_zz
09:36:04  <substack>mbalho: http://www.youtube.com/watch?v=OuimNuADS2E
09:36:37  <dominictarr>Raynos: idea: coupled scuttlebutts. so, one is updated, and that change is propagated to another via a filter.
09:37:21  <dominictarr>so, you could have some properties that are shared between two sets of scuttlebutts, but not others
09:37:31  <dominictarr>this could be good for security
09:41:23  <substack>also for efficiency?
09:46:48  <dominictarr>yes, if there are some clients that don't need all the data
09:55:14  <dominictarr>hmm, probably not to hard to do manually...
10:05:54  * gwenbellquit (Remote host closed the connection)
10:05:54  * gwenbell_quit (Remote host closed the connection)
10:14:46  * jibayjoined
10:42:49  * thatguydanquit (Remote host closed the connection)
10:43:05  * thatguydanjoined
10:47:11  * dominictarrquit (Quit: dominictarr)
10:56:08  * st_lukejoined
10:58:07  <st_luke>I was going to sleep then I woke up and thought of a silly module, I hope nobody's made this already https://github.com/st-luke/crawly
11:01:48  <substack>if you think up a silly module idea then you should WRITE IT UP AND PUBLISH IT IMMEDIATELY
11:02:19  <st_luke>haha thats what I did
11:02:23  <substack>else it might be lost FOREVER
11:02:27  <st_luke>I woke up and wrote it really quickly
11:02:27  <substack>oh that's good
11:02:53  <substack>check this out too: http://substack.net/projects/voxel-forest/
11:02:54  <substack>forests!
11:03:12  <st_luke>holy crap
11:03:37  <st_luke>fucking trees
11:04:52  <substack>it's fun to snipe them from far away
11:06:36  * AndChat|648704joined
11:08:02  * AndChat648704quit (Ping timeout: 255 seconds)
11:08:33  * thatguydan_joined
11:10:34  <st_luke>I didnt even realize i could blow them up
11:10:47  <substack>yep!
11:10:52  <jesusabdullah>I'm gonna write that awk-like lib one of these days
11:11:05  <substack>st_luke: using https://github.com/substack/voxel-debris
11:11:09  <jesusabdullah>require('awk')('pattern', fxn1, ...)
11:11:11  * thatguydanquit (Ping timeout: 255 seconds)
11:11:12  * thatguydan_changed nick to thatguydan
11:11:12  <jesusabdullah>you get the idea
11:11:14  <substack>jesusabdullah: build voxel-engine libs!
11:11:26  <substack>it's the most addictive thing ever
11:11:27  <jesusabdullah>what is voxel-engine
11:11:31  <jesusabdullah>show me
11:11:37  <substack>jesusabdullah: http://substack.net/projects/voxel-forest/
11:11:59  <substack>it's like minecraft, only as a commonjs webgl lib
11:12:10  <substack>https://github.com/maxogden/voxel-engine
11:12:55  <substack>jesusabdullah: and in this demo I got some creatures to bounce around http://substack.net/projects/voxel-demo/
11:13:43  <substack>each of these demos is a really small amount of code https://github.com/substack/voxel-debris/blob/master/example/simple.js https://github.com/substack/voxel-forest/blob/master/example/forest.js
11:14:51  <jesusabdullah>that's kinda cool
11:15:00  <jesusabdullah>one nitpick
11:15:07  <jesusabdullah>left and right should turn not sidestep
11:15:45  <substack>what do those keys do in minecraft?
11:15:54  <jesusabdullah>turn
11:15:54  <substack>I've mostly just been using the wasd controls
11:16:15  <jesusabdullah>I'll give those a try, wondering if they're different
11:16:21  <jesusabdullah>sidestep is nice if you have a "real mouse"
11:16:26  <jesusabdullah>on a laptop it's painful though
11:17:21  <jesusabdullah>yeah, wasd is a little better hands-wise but same behavior
11:19:14  <st_luke>works pretty well for me
11:19:21  <st_luke>with the sidestepping
11:21:40  <jesusabdullah>I still prefer turning
11:25:50  <jesusabdullah>inCORRECT Sir
11:26:54  * thatguydanquit (Quit: thatguydan)
11:39:55  * AndChat648704joined
11:43:44  * AndChat|648704quit (Ping timeout: 260 seconds)
11:58:39  <substack>jesusabdullah: lawlor is mostly using webgl for his simulations in computer graphics course this year!
11:59:03  <substack>I can't wait to start toying with some of those demos
12:16:43  <jesusabdullah>nice
12:19:45  <substack>http://www.youtube.com/watch?v=v7qTHbOEiDY
12:33:13  <jesusabdullah>lolwut
12:33:31  <jesusabdullah>and at least a little sexist
12:34:14  <jesusabdullah>haha, ythese actors
12:34:16  <jesusabdullah>these*
12:34:22  <jesusabdullah>"yeah I used a phone once"
12:35:34  <jesusabdullah>"liek txting!"
12:35:41  <jesusabdullah>"**I** have a hot girlfriend!"
12:38:19  * st_lukequit (Remote host closed the connection)
12:51:59  * AndChat648704quit (Ping timeout: 260 seconds)
12:59:20  * defunctzombie_zzchanged nick to defunctzombie
13:02:41  * defunctzombiechanged nick to defunctzombie_zz
13:51:20  <devaholic>substack: lol, fell to my death
14:19:12  * dguttmanjoined
14:21:45  * shuaibjoined
14:30:25  * dguttmanquit (Quit: dguttman)
14:45:38  * dominictarrjoined
14:45:59  * AvianFlujoined
14:49:36  * jibayquit (Quit: Leaving)
15:03:58  * Madarsjoined
15:43:13  * dguttmanjoined
15:48:28  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
15:48:28  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
15:55:55  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
15:55:55  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
15:59:07  * intabulasjoined
16:14:44  * dominictarrquit (Ping timeout: 248 seconds)
16:23:13  * mikealquit (Quit: Leaving.)
17:02:26  * shuaibquit (Ping timeout: 252 seconds)
17:34:54  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
17:34:54  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
17:56:46  * yorickjoined
17:56:46  * yorickquit (Changing host)
17:56:46  * yorickjoined
18:03:04  * shuaibjoined
18:03:46  * mikealjoined
18:17:43  <mbalho>jesusabdullah: a and d in minecraft sidestep
18:19:38  * tphummeljoined
18:20:01  <jesusabdullah>mbalho: hmm
18:38:23  * notelliottcablequit (Quit: Connection closed for inactivity)
18:51:20  * CoverSlidequit (Ping timeout: 252 seconds)
18:56:08  * CoverSlidejoined
19:24:03  * notelliottcablejoined
19:37:36  * AvianFluquit (Remote host closed the connection)
19:50:51  * mikealquit (Quit: Leaving.)
19:52:42  * mikealjoined
20:31:51  * st_lukejoined
20:33:49  * AvianFlujoined
20:39:01  <mbalho>substack: we should use http://workshop.chromeexperiments.com/examples/gui/#1--Basic-Usage mebbe
20:40:04  <CoverSlide>... wtf
20:43:14  * nk109quit (Quit: Computer has gone to sleep.)
20:46:41  <mbalho>substack: also https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
20:47:30  <CoverSlide>mbalho: also have you read: http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php
20:47:44  <mbalho>CoverSlide: yea
20:47:51  <CoverSlide>it's a pretty good article on the same idea
20:48:11  <chrisdickinson>also: http://docs.garagegames.com/tgea/official/content/documentation/Engine%20Overview/Networking.html
20:48:30  <mbalho>nice
20:48:47  * yorickquit (Remote host closed the connection)
20:50:15  * nk109joined
20:52:23  <Raynos>mbalho, substack: please write an open source latency compensation library :D
20:52:58  * Raynos_quit (Ping timeout: 245 seconds)
21:15:52  <mbalho>Raynos: doesnt seem like thats the hard part
21:16:21  <chrisdickinson>would love a predictive pvs for slim client updates
21:16:44  <mbalho>yea
21:17:51  <mbalho>im gonna hack on a multiplayer server that runs all the block collisions for players and sends authoritative position updates to all connected players
21:18:08  <mbalho>it shouldnt be too complicated since our world is all voxels
21:25:31  * tilgovijoined
21:31:48  * tilgoviquit (Remote host closed the connection)
21:37:48  <jez0990_>i love being able to climb the trees in voxel-forest, it's definitely a feature :D
21:49:14  <mbalho>jez0990_: haha yea its pretty awesome
21:53:22  * gwenbelljoined
21:53:24  * gwenbell_joined
22:26:15  <Raynos>mbalho: it is hard.
22:26:35  <mbalho>Raynos: what part? i admittedly have a naieve understanding
22:26:38  <Raynos>because your effectively doing time travel
22:27:01  <Raynos>the part where your client runs about n ticks behind the server
22:27:53  <Raynos>but when you shoot locally your actually sending a message to the server saying "I shoot gun at tick n" and server is at tick n + latency and it needs to go and merge that state change in the past and replay things
22:28:31  <Raynos>the main point is the server can't say event happened at SERVER_TIME because that sucks for gameplay for clients
22:28:45  <Raynos>and each client has it's own local clock and the server needs to play events in the past to match the clients clock
22:28:49  <Raynos>and shit is fucked up ._.
22:28:55  <Raynos>time travel. <rageface>
22:28:57  <mbalho>lol
22:29:02  <mbalho>well ill give it a shot and see how it goes
22:29:11  <Raynos>it doesnt matter for non real-time stuff
22:29:22  <Raynos>for bullet trajectories it's kind of important :p
22:29:44  <Raynos>don't create any short lived really fast entities like bullets :D
22:30:23  <Raynos>mbalho: there's another problem. Consider a pushable box in 3D and 4 players. Each player pushes the box at their own clock. Considering the emulation of the box's physic runs on the server, what's the correct state of the box at any time?
22:30:24  * Dspriggsjoined
22:30:37  <Raynos>note that correct is not about what's correct
22:30:43  <mbalho>well im just turning on and off voxels
22:31:01  <Raynos>it's about from a client's gameplay point of view what is interpreted as fair
22:31:06  <mbalho>gotcha
22:31:18  <Raynos>anyway.
22:31:19  <CoverSlide>TIL game development is hard
22:31:26  <Raynos>none of these edge cases are probably relevant
22:31:40  <Raynos>which is awesome because those edge cases suck
22:32:14  <mbalho>lol
22:32:35  <Raynos>mbalho: what's really interesting is thinking about how you can build a distributed server that allows each client to run it's own local emulation of game state and not have an authorative server
22:32:52  <Raynos>central authorative servers running the simulation of the game are boring
22:33:25  <mbalho>Raynos: what does a decentralized case offer in terms of game mechanics (and not just a new engineering problem to solve)
22:34:20  <mbalho>Raynos: or is it just about not having to pay for a server
22:34:29  <Raynos>well you make latency dissappear
22:34:34  <Raynos>because your doing all your emulations locally
22:34:41  <Raynos>there is still latency from other players
22:34:46  <Raynos>but there is no round trip to server latency
22:34:59  <Raynos>the other game mechanic you gain is offline play
22:34:59  <mbalho>Raynos: interesting, is there any game that has ever done that?
22:35:47  <mbalho>Raynos: i think seamline offline/online or at least syncing from a offline 'instance' to an online server somewhere would be compelling
22:36:06  <Raynos>mbalho: I can't think of any games like this, me and jden were talking about what it looks like to build a game where p2p is a feature
22:36:18  <mbalho>Raynos: but i think you can achieve offine and sync without abandoning synchronous server
22:36:31  <Raynos>mbalho: think of multiple universe game. Want new features / content / experience. Connect to a random peer and merge his parallel world into yours
22:36:57  * defunctzombie_zzchanged nick to defunctzombie
22:37:18  <mbalho>Raynos: sure, as long as the perceived latency 'feels' the same
22:37:50  <Raynos>the other thing about a p2p system
22:37:58  <Raynos>is the feature of being able to become a server
22:38:00  <Raynos>and host a game
22:38:02  <mbalho>Raynos: im gonna implement a centralized server first just to do it and get familiar but then this sounds interesting to hack on
22:38:07  <Raynos>but that's negated by just making it very easy to build a server
22:38:12  <mbalho>Raynos: yea
22:38:41  <Raynos>But dont listen to me
22:38:43  <Raynos>I have a p2p fetish
22:50:45  <chrisdickinson>i would think that the p2p clients would randomly "elect" a server
22:51:03  <chrisdickinson>and that to keep things fair-ish you could reelect every N turns
22:55:00  * j_dulaneyjoined
22:55:22  <j_dulaney>gwenbell or gwenbell: Ping
22:55:29  <j_dulaney>gwenbell_
23:09:55  <gwenbell>Hey, j_dulaney! You hang out here, too!
23:09:58  * defunctzombiechanged nick to defunctzombie_zz
23:10:12  * j_dulaneyremember y'all were here
23:10:36  <Raynos>chrisdickinson: I would think about partitioning the world into n partition and each client has control of a section
23:10:46  <Raynos>so only one client runs the emulation for a world partition at a time
23:11:00  <chrisdickinson>(aside from prediction)
23:11:03  <Raynos>which would work nicely with parallel worlds
23:11:17  <Raynos>because each client emulates it's own world.
23:11:22  <Raynos>I want to write a p2p parallel worlds came
23:11:23  <Raynos>game*
23:12:24  * defunctzombie_zzchanged nick to defunctzombie
23:13:51  <mbalho>Raynos: get webgl yo
23:14:02  <mbalho>substack: i accidentally just made this hehehe http://i.imgur.com/nQVhP.png
23:14:29  <Raynos>mbalho: maybe
23:14:52  <mbalho>Raynos: srsly its fun
23:15:11  * chrisdickinsonstarts working on "collision" module
23:15:29  <mbalho>chrisdickinson: whats the scope?
23:16:20  <chrisdickinson>it's basically to provide the collision modelling from fpsjs
23:16:27  <mbalho>chrisdickinson: all of our collision code is here https://github.com/maxogden/voxel-engine/blob/master/lib/game.js#L425 which calls this https://github.com/maxogden/voxel-engine/blob/master/lib/player-controls.js#L86
23:16:47  <Raynos>mbalho: it sounds fun.
23:17:40  <mbalho>chrisdickinson: ours is arguably easier because its a voxel world so we dont have to do raycasting, just penetration vectors (which we havent implemented really)
23:17:52  * chrisdickinsonnods
23:18:22  <chrisdickinson>though
23:18:41  <gwenbell>mbalho: if i visit oakland, will you go ghost ridin' with me?
23:19:01  <mbalho>gwenbell: yea and hella sideshows
23:19:08  <gwenbell>niiiice
23:19:12  <jez0990_>Raynos: "a distributed server that allows each client to run it's own local emulation of game state and not have an authorative server" -- we could totally have existential debate about that comment
23:19:17  <mbalho>lol
23:19:39  <chrisdickinson>i suppose voxels help more with "what could i hit", not "what do i do when i've hit it"
23:19:49  <chrisdickinson>hmm
23:20:29  <Raynos>what is a voxel?
23:20:34  <Raynos>BLARGH
23:20:37  <Raynos>I WANT TO HACK ON TIS
23:20:42  <jez0990_>ha!
23:20:52  <tanepiper>you guys doing minecraft stuff with node?
23:20:54  <CoverSlide>google ken silverman voxels
23:20:55  <mbalho>tanepiper: yar
23:21:11  <mbalho>tanepiper: https://github.com/maxogden/voxel-engine dont tweet yet
23:21:15  <chrisdickinson>so my original approach was going to be "give me an object with position, and computed current velocity, and a list of those objects" and it would transform the original object's velocity appropriately
23:21:37  <tanepiper>nice
23:23:36  <jez0990_>CoverSlide: Voxlap is genius ...http://www.youtube.com/watch?v=XaUt31ooCXs
23:25:00  <Raynos>chrisdickinson:
23:25:04  <Raynos>> Matt: Collision detection is trivial in voxel land
23:25:04  <Raynos>Really trivial
23:25:04  <Raynos>You have a fixed grid
23:25:04  <Raynos>You stepwise move any moving objects by a distance proportional to the grid size
23:25:04  <Raynos>And block test
23:25:38  <chrisdickinson>theoretically
23:25:59  <chrisdickinson>but really you want to do the penetration test because that's what you (for example) slide against a wall that you're running slightly into
23:26:07  <mbalho>thats what we do now but getting the velocity and collisions and crap to feel correctly is tricky
23:26:10  <mbalho>chrisdickinson: yes that
23:26:31  <mbalho>chrisdickinson: any ideas on how to implement sliding against a wall with our current collision setup linked above?
23:27:50  * j_dulaneypart
23:29:13  <jjjjohnnny>vectors plus vectors
23:29:17  <chrisdickinson>yeahhh
23:29:27  <chrisdickinson>so you're doing after the velocity has already been applied
23:30:04  <mbalho>i need to lerp some shiz dont i
23:30:25  * chrisdickinsonrereads his own collision code
23:30:37  <chrisdickinson>tbh i usually have to write and rewrite and rewrite collision code
23:30:59  <mbalho>chrisdickinson: it seems hard to generalize
23:31:22  <chrisdickinson>i feel like it could be generalized, especially with aabb-plane collisions
23:31:39  <chrisdickinson>and then you just need a "view" onto the voxel data that makes the voxels "look like" planes.
23:32:04  <mbalho>chrisdickinson: you can look up a x,y,z coord and you get if it is in a voxel or not
23:32:12  <mbalho>chrisdickinson: O(n)
23:32:24  <chrisdickinson>shouldn't it be O(1)?
23:32:41  <mbalho>oh right i always suck at tht notation
23:32:53  <chrisdickinson>ah okay :D just making sure it was just an array lookup
23:33:02  <mbalho>i try to be all smart sometimes
23:34:01  <mbalho>substack: also just accidentally made a noisy thing http://i.imgur.com/PIIHw.png
23:38:00  <Raynos>mbalho, chrisdickinson, substack: maintain a todo list of features for this voxel related stuff somewhere
23:38:04  <Raynos>so I can figure out what to work on :D
23:38:36  <mbalho>Raynos: will do, i just put all the current modules/demos into the voxel-engine readme github.com/maxogden/voxel-engine
23:39:17  <Raynos>mbalho: you can skip "npm install browserify -g" by using ./node_modules/.bin/browserify in yoru makefile
23:39:35  <Raynos>or move the targets in to npm scrips
23:39:43  <Raynos>and turn makefile into npm run x
23:39:51  <mbalho>Raynos: there are like 800 ways to do it yea
23:39:56  <mbalho>Raynos: its targeted at noobs
23:40:14  <Raynos>i just dont like having to globally install stuff :P
23:40:24  <Raynos>having a local browserify is nicer
23:40:46  <mbalho>Raynos: if you pull request a fix on a branch called bike-shed i will merge it :D
23:40:47  <chrisdickinson>aw, pointer-lock's not in there D:
23:40:52  <mbalho>chrisdickinson: interact is
23:40:56  <chrisdickinson>oh, lol
23:41:19  <Raynos>:D
23:41:31  * Dspriggsquit (Quit: Page closed)
23:42:00  <chrisdickinson>man, my collision code is hilaroius
23:42:06  <chrisdickinson>hilarious, even.
23:45:22  <chrisdickinson>so you subtract the new point from the target plane's origin to get the origin_to_new_point vector, get the vector from the origin of the plane to the top right of the plane, dot those two vectors together...
23:46:20  <chrisdickinson>if it's < 0 or > cube plane size, there's no collision and it can safely be skipped
23:47:56  * st_lukequit (Remote host closed the connection)
23:49:32  <mbalho>substack: http://i.imgur.com/y1N0E.png
23:53:00  * intabulasquit (Ping timeout: 276 seconds)