[1:01pm] Ordona: Must be heard to type like that

[1:01pm] TOAST7312: Actively.

[1:01pm] Ghostar: Kyren did you do the code work for the terrain generation?

[1:01pm] demanrisu: Y'know, it's funny, overuse of the word "alas" doesn't make people think you're smarter

[1:01pm] demanrisu: >_>

[1:01pm] Ordona: If you check what threads the devs are looking at, a lot of the time it will be suggestions TOAST7312.

[1:02pm] kyren: yes I do

[1:02pm] Ghostar: Then I have to ask...

[1:02pm] Ghostar: WTF

[1:02pm] demanrisu: Wednesday, Thursday, Friday?

[1:02pm] Ghostar: I have been trying to replicate some of the terrain

[1:02pm] kyren: yeah, we do read the suggestion forums, I'm sorry if I don't read it very often though, I'm.. busy

[1:02pm] kyren: a lot

[1:02pm] Ghostar: and I cannot see how some of it is tiled

[1:02pm] Ordona: I see George browsing suggestions often

[1:02pm] demanrisu: I'd assume they do blending, Ghostar

[1:02pm] kyren: haha, it's complicated

[1:02pm] FrozenDeath550: but no really demanrisu what are some fun cool whatever downloadable games. I wish I had Wanderlust Rebirth. I hear its fun.

[1:02pm] MysteryMan: what are you talking about Ghostar?

[1:02pm] Ghostar: It is indeed!

[1:02pm] FrozenDeath550: -wink wink

[1:02pm] Ghostar: Well think about it.

[1:02pm] demanrisu: FrozenDeath550: do you have a Steam account?

[1:02pm] TOAST7312: You don't need to apologize, kyren.. <_<

[1:03pm] FrozenDeath550: yes

[1:03pm] Ghostar: Any game thats 2D is generally tiled

[1:03pm] TOAST7312: You're kind of developing a game.

[1:03pm] Ghostar: but I cannot find out how exactly Starbound is tiled

[1:03pm] TOAST7312: Which is kind of a big deal in case you didn't know.

[1:03pm] kyren: it's tiled with variants

[1:03pm] Ghostar: Kyren: is the game actually tiled?

[1:03pm] kyren: yes

[1:03pm] Ghostar: With variants?

[1:03pm] kyren: there are variants of each material image

[1:03pm] kyren: yes

[1:03pm] kyren: and it's a static 2d field of integers

[1:03pm] kyren: that pick which variant for each spot

[1:03pm] TOAST7312: o_O

[1:03pm] kyren: so that it doesn't look repeated and boring

[1:03pm] kyren: based on planet seed, in fact

[1:04pm] Ghostar: I see, thats something I was unable to replicate.

[1:04pm] MysteryMan: how many are there?

[1:04pm] kyren: depends on the material

[1:04pm] kyren: 3-5

[1:04pm] kyren: sometimes just 1

[1:04pm] Ghostar: I attempted to do that with my Darkbound suggestion, like Make a planet.

[1:04pm] huhlig-home: one question kyren. Tiy has said worlds are endless, so is the galaxy. is it actually endless or just to the size of a 64 bit int?

[1:04pm] Ghostar: But it ended up looking like it was completley tiled

[1:04pm] kyren: uh, worlds aren't endless but they're very big, we *can* have endless worlds but we don't atm

[1:04pm] kyren: they actually wrap around

[1:04pm] kyren: like a tube

[1:05pm] TOAST7312: Endless worlds sound like ridiculous.

[1:05pm] kyren: yeah ghostar, you have to use multiple variants

[1:05pm] Ghostar: a tube of You?

[1:05pm] huhlig-home: kyren, how do you handle coordinates for even players at the ends

[1:05pm] TOAST7312: They also sound like they would make your computer explode.

[1:05pm] Ghostar: Then curses!

[1:05pm] kyren: well, even then it would be the size of a 64 bit int

[1:05pm] Ghostar: It makes it very difficult to replicate it for suggestions!

[1:05pm] kyren: and would be "endless"

[1:05pm] kyren: unless you used an arbitrary precision number system

[1:05pm] huhlig-home: kyren, ahh ok... thats what I thought

[1:05pm] kyren: but.. that would be silly

[1:05pm] kyren: and unnecessary

[1:05pm] huhlig-home: I was trying to parse endless in my head and failing misrably

[1:06pm] kyren: "endless"

[1:06pm] FlutterAi is now known as Nimrod.

[1:06pm] kyren: even arbitrary precision numbers aren't "endless"

[1:06pm] huhlig-home: so the larges world size is 32 bits in eigther direction from start

[1:06pm] kyren: because of limitations of memory

[1:06pm] Nimrod is now known as FlutterAi.

[1:06pm] kyren: I mean..

[1:06pm] Ghostar: Kyren: might I make a suggestion on something the forum might like? Show an image of one biome with all the variants or at least a few.

[1:06pm] kyren: busy beaver of 100

[1:06pm] kyren: there, you can't have a world that big

[1:06pm] kyren: no matter what

[1:06pm] Ghostar: I know I would be very interested to see how they interact with eachother.

[1:07pm] kyren: you have seen them

[1:07pm] kyren: you've seen all the variants of dirt

[1:07pm] kyren: tiles are 8px x 8px

[1:07pm] kyren: with a border

[1:07pm] Ghostar: wait, they are?

[1:07pm] kyren: that's auto-tiled with a custom auto-tiling system

[1:07pm] kyren: yes

[1:07pm] Ghostar: my estimate was way off...

[1:07pm] kyren: there are only 4 or 5 variants of dirt, iirc

[1:08pm] RealEyes: i went to J-crew today

[1:08pm] TOAST7312: These are the times when I wish I knew how to program. Although this still does make some sense.

[1:08pm] kyren: huhlig-home: yeah, but right now they're not that big because they wrap and have upper and lower bounds

[1:08pm] Ghostar: Hm I see. I need to go over the current images again.

[1:08pm] FrozenDeath550: Thank you demanrisu you are so awsome. you are cooler than my cat. His name is Riley.

[1:08pm] kyren: I think one of the largest planets we have right now is like 16k around

[1:08pm] demanrisu: #swag

[1:08pm] FrozenDeath550 left the chat room. (Quit: Page closed)

[1:08pm] kyren: and how do we handle wrapping coordinates? *carefully*

[1:08pm] Ordona: I read that as "frozen cat" O_o

[1:08pm] kyren: non-euclidean coordinate systems are, to put it mildly

[1:09pm] kyren: *a frigging pain*

[1:09pm] huhlig-home: kyren, ok that makes sense. I assume you dont try to hold the entire world in memory at once

[1:09pm] demanrisu: sigh

[1:09pm] kyren: no ofc not

[1:09pm] demanrisu: that guy did NOT thank me as much as I should have :u

[1:09pm] demanrisu: *he should have

[1:09pm] Ghostar: "Shes got the whole world, in her hand."

[1:09pm] demanrisu: >:u

[1:09pm] Cyan6: she's got the wold word, in her memory

[1:09pm] MysteryMan: lol

[1:09pm] FrozenDeath550 joined the chat room.

[1:09pm] kyren: they're loaded / genned sector by sector

[1:09pm] MysteryMan: That's funny XD

[1:09pm] FrozenDeath550: Sorry demanrisu i accidently closed the page

[1:09pm] Solatrus left the chat room.

[1:09pm] demanrisu: lawl

[1:09pm] Cyan6: how large are sectors? in blocks?

[1:10pm] demanrisu: just keep on heapin' the praise on~

[1:10pm] Ordona: MysteryMan: I can't do name changes from this computer; its too slow for the forums

[1:10pm] TOAST7312: Suggestion; non-euclidean liquids.

[1:10pm] kyren: 32 x 32, but we might change it.. it's not really hard to change it's only specified in one place

[1:10pm] Ghostar: Reminds me of "Chunks" from minecraft.

[1:10pm] kyren: yeah, that's it basically

[1:10pm] demanrisu: I think that's the point, Ghostar

[1:10pm] kyren: they're chunks

[1:10pm] Cyan6: same concept. only 2d.

[1:10pm] MysteryMan: Ordona: You are doing this on purpose.

[1:10pm] MysteryMan: xD

[1:10pm] Ghostar: Then I have a question

[1:10pm] kyren: it influences the maximum size of some objects in some ways

[1:10pm] kyren: but that's about it

[1:10pm] demanrisu: kyren: how big is each chunk?

[1:11pm] demanrisu: in b/kb

[1:11pm] Ghostar: How will monster spawning work? Will it be offscreen?

[1:11pm] kyren: oh oh

[1:11pm] Ordona: MysteryMan: Nah, could show you a screenshot, but it basically says 'The server did not respond in time. Please try again.'

[1:11pm] kyren: uh.. compressed, like.. tiny

[1:11pm] kyren: lemme see!

[1:11pm] kyren: I think the last time I checked like.. far less than 512

[1:11pm] demanrisu: so you can load worlds really quickly?

[1:11pm] MysteryMan: It does that to me all the time too

[1:11pm] kyren: like 200 bytes

[1:11pm] kyren: or less

[1:11pm] demanrisu: also: do you store them as 2D arrays or something else?

[1:11pm] Cyan6: 512 kb? or 512b?

[1:11pm] kyren: yeah, loading is always fast

[1:11pm] kyren: 512b

[1:11pm] Cyan6: o-o

[1:11pm] Cyan6: /mindblown

[1:12pm] kyren: less than that

[1:12pm] kyren: well, that's just the block dat

[1:12pm] kyren: *data

[1:12pm] kyren: there's also entity data

[1:12pm] Cyan6: still.

[1:12pm] kyren: which, good question lemme print it out

[1:12pm] Cyan6: and entity data isn't really part of the sector....

[1:12pm] • demanrisu = best questioner

[1:12pm] Cyan6: unless... are entities static?

[1:12pm] demanrisu: Cyan6: you'd hope not!

[1:13pm] Cyan6: i'm saying entities like creatures....

[1:13pm] demanrisu: again: you'd hope not!

[1:13pm] Cyan6: why not?

[1:13pm] huhlig-home: Cyan6, creatures, furniture, torches

[1:13pm] demanrisu: because creatures should be dynamic, not statuc

[1:13pm] demanrisu: *static

[1:13pm] kyren: no, they're not static

[1:13pm] kyren: but they're serialized that way if they're "asleep"

[1:13pm] kyren: by sector

[1:14pm] MysteryMan: my internet SUCKS

[1:14pm] kyren: and they can overlap and stuff, so there's always a bit of a border around things

[1:14pm] kyren: and they end up in "a sector"

[1:14pm] kyren: but not necessarily the only sector they're in

[1:14pm] kyren: it works

[1:14pm] huhlig-home: kyren, curious. is play calculated out of sight

[1:14pm] Cyan6: i mean if you were to quit starbound and start it back up, would they stil be where they were when you left?

[1:14pm] kyren: depends

[1:14pm] huhlig-home: I.e. water flowing down if its offscreen. Or circuitry work offworld?

[1:14pm] kyren: it depends on what it is

[1:14pm] kyren: water flowing yes, circuitry yes if it's in the same world

[1:15pm] kyren: we haven't decided about worlds in which *nobody* is on

[1:15pm] huhlig-home: fair enough

[1:15pm] MysteryMan left the chat room. (Remote host closed the connection)

[1:15pm] Sean__ joined the chat room.

[1:15pm] huhlig-home: It was always annoying in terraria when water would just stop flowing if you were too far down

[1:15pm] kyren: we can do basically whatever we like, it's just a matter of balancing performance / making it make sense

[1:15pm] huhlig-home: yeah

[1:15pm] Cyan6: is starbound multithreaded?

[1:15pm] AmazingPerson: Add in ALL the things!

[1:15pm] huhlig-home: makes sense

[1:16pm] kyren: yes oh god yes

[1:16pm] Sean__ left the chat room. (Client Quit)

[1:16pm] huhlig-home: Cyan6, I would hope so

[1:16pm] kyren: so many threads

[1:16pm] kyren: too many

[1:16pm] demanrisu: kyren, Tiy mentioned in his AMA that the game runs perfectly on a min-spec Macbook Air - have you guys tested it on any other, less powerful PCs?

[1:16pm] kyren: we need to add thread pooling honestly to some things

[1:16pm] huhlig-home: kyren, are you using threadqueues?

[1:16pm] Cyan6: you can never have too many threads.

[1:16pm] Cyan6: nevar.

[1:16pm] huhlig-home: Cyan6, uhhh

[1:16pm] huhlig-home: yeah you can

[1:16pm] Cyan6: if it causes excess overhead, yeah....

[1:16pm] kyren: we have

[1:16pm] huhlig-home: you really should be using more threads then you have cpus

[1:16pm] huhlig-home: err shouldnt

[1:16pm] kyren: and the main performance issue right now is windows / opengl something

[1:16pm] kyren: some kind of

[1:16pm] kyren: something

[1:17pm] huhlig-home: otherwise cache coherancy goes out the window

[1:17pm] kyren: nah, most of the threads spend their time sleeping huhlig-home

[1:17pm] kyren: like.. threads for network etc

[1:17pm] huhlig-home: ahh

[1:17pm] huhlig-home: why not use task queues

[1:17pm] huhlig-home: I would think the thread overhead would kill you

[1:18pm] Cyan6: because, starbound is like a finely woven blanket. it needs a lot of threads.

[1:18pm] Guest76964: how soon till beta release?

[1:18pm] Cyan6: there probably won't be one <_>

[1:18pm] kyren: I would love to use thread pooling

[1:18pm] kyren: we just have to get there

[1:18pm] huhlig-home: Guest76964, december

[1:19pm] huhlig-home: kyren, using boost?

[1:19pm] Cyan6: huhlig-home: he asked about beta

[1:19pm] kyren: no, c++11

[1:19pm] huhlig-home: how are native threads in C++ 11?

[1:19pm] demanrisu: Cyan6: for all intents and purposes, we can refer to release as beta - they're essentially the same things unless the devs decide to do an open beta

[1:19pm] Ordona left the chat room. (Ping timeout: 245 seconds)

[1:19pm] kyren: c++11 threads were, up until recently, something to stay away frmo

[1:19pm] kyren: I think they're fine now?

[1:19pm] kyren: we're still using a home grown thin thread wrapper

[1:20pm] huhlig-home: ahh

[1:20pm] kyren: thread + mutex + condition variable

[1:20pm] kyren: but.. thread pooling isn't hard or anything

[1:20pm] huhlig-home: Ive used pthread in the past

[1:20pm] kyren: the implementation isn't hard

[1:20pm] kyren: it's making it so that everything ties together

[1:20pm] kyren: we'll get there

[1:20pm] Frozendeath550 left the chat room. (Ping timeout: 245 seconds)

[1:20pm] demanrisu: kyren: any estimate on how many lines of code Starbound has right now?

[1:20pm] demanrisu: not that it means anything, I'm just curious

[1:21pm] tramsan: kyren always spills the best beans

[1:21pm] tramsan: mm beans

[1:21pm] demanrisu: she does, haha

[1:21pm] kyren: a lot of it in the core/ folder is non-starbound related, tbh

[1:21pm] kyren: because I started the codebase

[1:21pm] huhlig-home: kyren, before tiy?

[1:21pm] kyren: and I dragged a lot of stuff from another codebase with it

[1:21pm] huhlig-home: ahh

[1:21pm] MysteryMan joined the chat room.

[1:21pm] kyren: tiy's not really a programmer haha

[1:22pm] huhlig-home: so are you guys actually planning on FOSSing starbound later

[1:22pm] MysteryMan: He's an artist

[1:22pm] kyren: but I did have some of the code that existed before meeting tiy

[1:22pm] Rayzond left the chat room.

[1:22pm] Gabranth123: Don't diss my boy Tiy, yo

[1:22pm] kyren: I would like to personally but I have zero say in it

[1:22pm] huhlig-home: ahh

[1:22pm] huhlig-home: I would love to see how you did the generation

[1:22pm] MysteryMan: An amazing, inspiring, awesome, beau...good artist.

[1:22pm] kyren: > 59449 lines total

[1:22pm] demanrisu: huhlig-home: that's why we use decompilers

[1:23pm] huhlig-home: demanrisu, decompilers suck for C++

[1:23pm] kyren: oh god no

[1:23pm] demanrisu: hee hee

[1:23pm] kyren: please

[1:23pm] demanrisu: I never said decompilers were /good/

[1:23pm] kyren: it's so bad

[1:23pm] Cyan6: what are you using as an IDE kyren?

[1:23pm] kyren: don't do that, I'd feel awful making people use decompilers to do what they want

[1:23pm] kyren: does vim count?

[1:23pm] Cyan6: /personal qustion

[1:23pm] Cyan6: ha

[1:23pm] Cyan6: sorta

[1:23pm] kyren: I wish I used an ide

[1:23pm] kyren: there's stuff I want from ides

[1:24pm] kyren: none of them let me use vim keys / macros / nonsense which has infected my brain

[1:24pm] Cyan6: what os are you running kyren?

[1:24pm] huhlig-home: kyren, actually there is a vimkeys mod for several

[1:24pm] huhlig-home: what OS?

[1:24pm] kyren: okay, here we go

[1:24pm] kyren: tile sector compressedSize 226

[1:24pm] kyren: entity sector compressedSize 58

[1:24pm] kyren: tile sector compressedSize 309

[1:24pm] kyren: tile sector compressedSize 142

[1:24pm] kyren: entity sector compressedSize 10

[1:24pm] kyren: tile sector compressedSize 96

[1:24pm] kyren: entity sector compressedSize 41

[1:24pm] kyren: tile sector compressedSize 197

[1:24pm] kyren: there's your answer

[1:24pm] demanrisu: oooh neato, thanks <3

[1:24pm] kyren: os x

[1:24pm] MysteryMan: this nerd talk is hurting my brain

[1:24pm] demanrisu: BEST O

[1:25pm] demanrisu: *best os

[1:25pm] huhlig-home: linux?

[1:25pm] kyren: os x right now

[1:25pm] kyren: I've used them all

[1:25pm] huhlig-home: ahh

[1:25pm] kyren: a lot

[1:25pm] Cyan6: sublime text has a (disabled by default) package with pretty decent vim command support..

[1:25pm] tramsan: This nerd talk is better than butter.

[1:25pm] Cyan6: at least in the dev version.

[1:25pm] Cyan6: s