code logs -> 2017 -> Tue, 05 Sep 2017< code.20170904.log - code.20170906.log >
--- Log opened Tue Sep 05 00:00:45 2017
00:05
< Mahal>
so if the LG is on the network, it'll drag anything else down to N-only. Just FYI.
00:05
< Mahal>
(wifi networks on a/b/g/n auto-negotiate to the shittiest device's requirements)
00:06
< Mahal>
this is why my home wifi has two networks - home and home-5g
00:07
<&[R]>
N isn't the best?
00:07
<&[R]>
What is?
00:08
<&[R]>
(Also the Tab A is my main device)
00:10 himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
00:11
< Mahal>
I meant if you have a wifi network that does a/n it'll drag down to N if the LG is on the network.
00:12
<&[R]>
Okay, I was only using the LG for testing, so A is the best of the set?
00:12
< Mahal>
Yup.
00:12
< Mahal>
Or the Note 3.
00:12
< Mahal>
but leave the LG out of the equation.
00:12
< Mahal>
(For now)
00:12
<&[R]>
AP can't do A anyways
00:12
<&[R]>
:p
00:14
< Mahal>
I'd also take everything but *one* access point out of the equation.
00:14
< Mahal>
get it working simply first, then add other devices to confuse things up later
00:16
<&[R]>
That's what I did
00:16
<&[R]>
I've only got one AP working right now
00:21
<&[R]>
Yeah, the APs all are limited to b/g/n
00:21
<&[R]>
As per their spec sheets
00:47
<&[R]>
MONKEY
00:47
<&[R]>
Ignore that
00:48
<@Alek>
HATE webp
00:48
<@Alek>
oh hey, Note 3. Still using mine nearly 4 years in. Love it, but it's showing its age.... the battery is about as good as it was from the factory (I got an OEM replacement that lasts just as long), it's the phone itself that burns power much faster. :/
00:52 Jessikat [Jessikat@Nightstar-bt5k4h.81.in-addr.arpa] has quit [Connection closed]
00:53 Jessikat [Jessikat@Nightstar-hojksd.dab.02.net] has joined #code
01:14
<&Derakon>
Let's say I have a map like this: http://i.imgur.com/irQbxq6.png
01:14
<&Derakon>
I want to create terrain for this map.
01:15
<&Derakon>
Let's define a "chunk" of the map as one square. I have a set of algorithms that each can convert some rectangular grid of chunks into terrain.
01:15
<&Derakon>
I'm trying to come up with a good way to define whether or not a given chunk can fit in a given position.
01:15
<&Derakon>
Constraints include:
01:16
<&Derakon>
- can only use chunks from the current room and as-yet unallocated (black background) chunks
01:16
<&Derakon>
- can only connect to other chunks in a somehow-defined manner
01:16
<&Derakon>
- if a lock is present (triangle going across the door), chunk must be compatible with that kind of lock
01:17
<&Derakon>
...sorry, the problem is to define whether or not a given chunk group can fit, with a chunk group being a rectangular selection of chunks.
01:18
<&Derakon>
Chunk groups have defined min and max widths and heights; they may or may not be of fixed size.
01:18
<&Derakon>
...that might not be a hard constraint, but I'd rather not have every chunk group have a fixed size, I feel like it'd make things monotonous eventually.
01:19
<&Derakon>
So yeah, I want some general-purpose way to configure how a given ChunkGroup can be placed into the map.
01:20
<&Derakon>
I can probably muddle my way through to something, but if any of y'all have any insight, lay it on me.
01:21
<&McMartin>
This sounds suspiciously like a bin-packing problem
01:22
<&Derakon>
I believe I can get away with a greedy algorithm.
01:22
<&Derakon>
So long as I have a simple 1x1 chunkgroup that can accept connections on all borders.
01:23
<@Alek>
Looks like classic metroidvania map creation, only using an algorithm instead of premade maps. I look forward to the results.
01:24
<&Derakon>
That's the idea, yeah.
01:24
<@Alek>
any reason you couldn't adapt horizontal mapping algorithms to the vertical? I'm sure they exist...
01:25
<&Derakon>
Horizontal mapping algorithms?
01:25
<@Alek>
placing rooms in a dungeon.
01:25
<@Alek>
etc.
01:25
<@Alek>
Roguelike stuff.
01:26
<@Alek>
maybe even Diablolike. :P
01:26
<&Derakon>
Everything I've seen has lacked the high-level structure necessary to define a metroidvania progression.
01:26
<&Derakon>
I've written extensively about that here: https://forums.somethingawful.com/showthread.php?threadid=3832387
01:26 * Alek reads
01:26
<@Alek>
wait crap, needs registration.
01:27
<&Derakon>
Ah, yes, sorry.
01:27
<@Alek>
I've gone this long without a SA account... >_>
01:27
<&ToxicFrog>
The Dredmor approach is just to have a shitton of prefab rooms, and try a bunch of rooms in any given location until you find one that makes valid connections to its neighbors, and then do a second pass on the room interiors to add locks and treasures and stuff; making that many prefabs is hard, though
01:27
<&Derakon>
TF: and it also doesn't produce the high-level structure I need.
01:27
<@Alek>
what do you mean by high-level structure though?
01:28
<&ToxicFrog>
Especially since for this you would have to have different sets for, e.g., "rooms navigable by anyone" vs "rooms navigable only using the double jump", since that can't be enforced by the high-level structure or second-pass lock addition
01:28
<&ToxicFrog>
(although stuff like "opening this door requires the power bombs" can be)
01:28
<@Alek>
ooh, that's a good point. requirements.
01:28
<&Derakon>
Breaking a continuous world into discrete-but-connected regions, where the player often returns to a previous region, but must navigate regions in a defined order.
01:29
<&Derakon>
Your average roguelike dungeon features completely undirected exploration; any given bit of dungeon is basically like the rest
01:29
<&Derakon>
Notable features are typically hardcoded.
01:29 * Alek nods
01:29
<@Alek>
right, right.
01:29
<&ToxicFrog>
Derakon: in principle the "high-level structure" can be enforced by that second-pass lock addition, but then they become, well, really obvious locks
01:29
<&Derakon>
TF: not just that, but exploration of such a map would tend to be very linear.
01:29
<&ToxicFrog>
Rather than "this area needs double jump to navigate" you end up with "there is a single map-tile of double-jump-mandatory terrain at each entrance to this area"
01:29
<&Derakon>
Speaking from experience, it's hard to bake in good loops into a map that isn't built with loops in mind.
01:30
<@Alek>
I think one of the GBA metroid games had multiple-tier locks for that.
01:30
<&ToxicFrog>
The loops are generated by the high level map generator, though
01:30
<&ToxicFrog>
I don't follow your objection here.
01:30
<@Alek>
and you had to get a cannon upgrade to unlock each successive tier, which gated the requirement progression.
01:31
<&Derakon>
TF: mm, maybe we're talking past each other. :\
01:31
<&Derakon>
Anyway, I have a high-level map with structure I'm satisfied by; the problem now is filling in the details.
01:31
<&ToxicFrog>
Yes.
01:31
<&ToxicFrog>
That was my understanding.
01:32
<&ToxicFrog>
Which is why I'm confused, because the loops, ordering requirements, and lock placement requirements already exist in that high-level structure.
01:32
<&Derakon>
And I'd like a general-purpose "figure out what bit goes where" algorithm that takes a list of generator funcs and the config that dictates the prerequisites for using a given generator.
01:32
<&ToxicFrog>
The low-level structure is required to implement most of those requirements, but they already exist.
01:33
<&[R]>
Derakon: have you read squidi.net at all (the 300 project)
01:33
<&Derakon>
The requirements exist, but matching them to the low-level structure generators is a hairy problem.
01:33
<@Alek>
Hm. how about multiple mapping passes? first pass adds the basic rooms, second pass adds the rooms that require the first upgrade, third pass adds rooms that require the second upgrade, etc.
01:33
<&Derakon>
R: no, I have not.
01:33
<&[R]>
He covers something like this, not sure if it has the details you need though
01:33
<&Derakon>
Alek: doesn't solve anything, really.
01:33
<&Derakon>
Plus you want to put the lock rooms down first, so they have the most freedom of placement.
01:33
<&Derakon>
R: do you know where specifically he covered it?
01:34
<&[R]>
There's multiple articles that'll be relevant
01:35
<&ToxicFrog>
Derakon: so, I've now completely lost track of which part you're stuck on. I thought it was just generating the low-level terrain.
01:35
<&ToxicFrog>
Well, "just"
01:35
<&Derakon>
TF: it is, yeah. Let's say I have a generator function that can build Speed Booster locks.
01:35
<&Derakon>
It requires at least 2 horizontal tiles' worth of space, and 1 vertical tile.
01:36
<&Derakon>
And the lock has to be at either horizontal end of this corridor.
01:36
<&Derakon>
It doesn't really care about other connections -- they can come in from above, below, the opposite end of the lock.
01:36
<&Derakon>
Now I'm looking at my map, and saying "What generator functions can I use for this specific part of the map?"
01:37
<&[R]>
http://www.squidi.net/three/entry.php?id=4 <-- covers how to make locked rooms in the PG map
01:37
<&Derakon>
And I don't want to have to write out test-fit functions for every generaetor function.
01:37
<&[R]>
http://www.squidi.net/three/entry.php?id=158 <-- expansion on that
01:37
<&Derakon>
I'd like to be able to have a blob of data that I can match against the map configuration to find which generators are viable.
01:37
<&Derakon>
R: thanks, will look.
01:38
<&[R]>
http://www.squidi.net/three/entry.php?id=160 <-- same deal
01:38
<&[R]>
http://www.squidi.net/three/entry.php?id=124 <-- randomly generated metroidvania
01:40
<&Derakon>
Mm, that's a substantially simplified approach.
01:40
<&Derakon>
It's broadly the prefab approach that Dredmor uses, but all the prefabs are the same size.
01:42
<@Alek>
I remember reading of a card-based dungeon generator (physical) back in the last millennium. you'd pull a card and draw the room or hall on map paper, keep going to generate your dungeon while you had open doorways.
01:43
<@Alek>
very basic stuff tho.
01:46
< RchrdB>
Too tired right now to read all the scrollback, but have you read about Spelunky's level generation? I thought I remembered reading they did something slightly odd and very clever kind of like "generate a random level, then simulate an AI navigating it to prove that it's possible to complete it without any tools. If it isn't winnable, perturb or re-seed the generator and try again"
01:46
<&Derakon>
Spelunky uses prefabs, actually.
01:46
<&Derakon>
It's just very clever about it.
01:47
<&Derakon>
It goes to a lot of work to disguise the prefabs, and they're very carefully-designed to be versatile and widely-applicable.
01:47
<&ToxicFrog>
Alek: all of this boils down to "fit prefabs together", i.e. the Dredmor approach cited earlier
01:47
< RchrdB>
Derakon, ah!
01:47
< RchrdB>
dang
01:47
<&Derakon>
I think there's also some kind of pathfinding test, like you said; in particular, the ice caves need a maximum fall height test.
01:47
<&ToxicFrog>
Which is quick and easy for bashing something together for testing, but making the results look and play will requires a shitload of prefabs of varying sizes and all tagged/constrained appropriately
01:48
<&Derakon>
I mean, I'm kind of resigned to making a ton of prefabs anyway, but with the added complication that they aren't prefabs, they're custom generators tailored to make a specific kind of room.
01:48
<&Derakon>
So instead of "room with table and chairs" you have "function that produces dining rooms in a variety of shapes and sizes".
01:48
<&ToxicFrog>
Dredmor has ~500 prefabs, and you start noticing repetitions pretty quickly -- and it doesn't need to worry about ordering or navigability constraints.
01:53 RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [Ping timeout: 121 seconds]
02:02 himi [sjjf@Nightstar-dm0.2ni.203.150.IP] has joined #code
02:02 mode/#code [+o himi] by ChanServ
03:17
<&Derakon>
In unrelated news, my map generator passed 3k lines of code. All Python.
03:18
<&Derakon>
If/when I ever tack an actual game onto this thing, I may have to port the generator to C#.
03:18
<&Derakon>
I don't know if Unity can call out to Python, but in any case I'd rather not leave the generator's source code lying around where anyone can read it, considering the effort I'm putting into it.
03:28
<&[R]>
GPL the sucker and be done with it
03:30
<&Derakon>
Nah.
03:50
<@Reiv>
Not trying for open-source this time, Der?
04:03
<&Derakon>
No, I'm not.
04:03
<&Derakon>
The difficulty with open-source being, if you want people to actually useit, then you have to build a community and then moderate said community.
04:03
<@celticminstrel>
I suppose it's technically possible to distribute pre-compiled Python maybe...
04:03
<&Derakon>
celticminstrel: it is, yes.
04:03
<@celticminstrel>
Assuming .pyc files are platform-agnostic.
04:03
<&Derakon>
There are programs out there that will turn your Python program into a standalone executable, even.
04:03
<&Derakon>
(A platform-specific executable, that is)
04:04
<@celticminstrel>
I know.
04:04
<@celticminstrel>
No idea if they actually strip out the textual source code though.
04:04
<&Derakon>
Anyway, if/when the game takes off, I can open-source parts of it if I feel like it, and be reasonably confident that there'll be a community interested in the code.
04:04
<&Derakon>
I don't see much point in open-sourcing before that point.
04:05
<@Alek>
There were programs that would do the same with BASIC - turn it into an executable. :D
04:05
<&Derakon>
Maybe one or two people will look at the code, which has pretty low value...and in exchange I'd lose a lot of power.
04:05
<@celticminstrel>
BASIC doesn't really count.
04:05
<@Alek>
you could make full, deep games or applications in it. why doesn't it count?
04:06
<@Reiv>
You make a fair point, Derakon.
04:47 ion [Owner@Nightstar-gmbj85.vs.shawcable.net] has quit [[NS] Quit: s/byte/bye]
04:53
<&McMartin>
BASIC has been a compiled language for a long, long, long time.
04:54
<&McMartin>
Py2Exe is... kind of a horrible hybrid technology of some kind, but it does work
05:00 Derakon is now known as Derakon[AFK]
05:03
<~Vornicus>
pycs are also platform agnostic.
05:08 Alek [Alek@Nightstar-7or629.il.comcast.net] has quit [Ping timeout: 121 seconds]
05:11 Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code
05:11 mode/#code [+o Alek] by ChanServ
05:38
<@celticminstrel>
Alek: Basically what McM said.
05:48 celticminstrel [celticminst@Nightstar-1vj9md.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:51
<@Alek>
fair.
06:00 Jessikat [Jessikat@Nightstar-hojksd.dab.02.net] has quit [The TLS connection was non-properly terminated.]
06:00 Jessikat [Jessikat@Nightstar-hojksd.dab.02.net] has joined #code
06:37 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
06:59 Jessikat [Jessikat@Nightstar-hojksd.dab.02.net] has quit [The TLS connection was non-properly terminated.]
07:00 Jessikat [Jessikat@Nightstar-hojksd.dab.02.net] has joined #code
07:02 ion [Owner@Nightstar-gmbj85.vs.shawcable.net] has joined #code
07:10 Jessikat` [Jessikat@Nightstar-b21.jtr.132.82.IP] has joined #code
07:13 Jessikat [Jessikat@Nightstar-hojksd.dab.02.net] has quit [Ping timeout: 121 seconds]
07:46 Kindamoody[zZz] is now known as Kindamoody
08:09 Jessikat` is now known as Jessikat
09:16 himi [sjjf@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds]
10:27 Kindamoody is now known as Kindamoody|afk
11:54 himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code
11:54 mode/#code [+o himi] by ChanServ
13:23
<@TheWatcher>
For some reason, any time I see the acronym NFC I never parse it as "near field communication", it's always "no fucking clue"...
13:36 * abudhabi headscratches.
13:37
<@abudhabi>
I'm trying to filter a list of numbers depending on whether I have a file related to that number. I want to skip over those I already have.
13:37
<@abudhabi>
interesting_numbers = [i for i in interesting_numbers if not isfile(dump_folder + '.html')]
13:37
<@abudhabi>
What am I doing wrong here?
13:38
<@abudhabi>
OK, found it.
13:38
<@abudhabi>
Thanks, guys!
13:38
<@TheWatcher>
Anytime~
13:40 Jessikat` [Jessikat@Nightstar-0v950i.dab.02.net] has joined #code
13:42 Jessikat [Jessikat@Nightstar-b21.jtr.132.82.IP] has quit [Ping timeout: 121 seconds]
14:46 Netsplit Golgafrincham.Nightstar.Net <-> Traal.Nightstar.Net quits: @[R], @PinkFreud, @Alek, @crystalclaw, @Orthia, @ToxicFrog, @Vornicus, @starkruzr, Mahal, @Derakon[AFK], (+14 more, use /NETSPLIT to show all of them)
14:46 Netsplit over, joins: Mahal, &jerith, @PinkFreud, &[R], ~Vornicus, @Orthia, &ToxicFrog, @Syloq, &Derakon[AFK], &starkruzr (+13 more)
14:47 mode/#code [+ao VirusJTG VirusJTG] by ChanServ
14:47 Netsplit over, joins: VirusJTG
14:51
<@abudhabi>
https://www.youtube.com/watch?v=Xq3isov6mZ8
--- Log closed Tue Sep 05 16:11:17 2017
--- Log opened Tue Sep 05 16:32:55 2017
16:32 TheWatcher [chris@GlobalOperator.Nightstar.Net] has joined #code
16:32 Irssi: #code: Total of 33 nicks [26 ops, 0 halfops, 0 voices, 7 normal]
16:32 mode/#code [+o TheWatcher] by ChanServ
16:33 Irssi: Join to #code was synced in 61 secs
17:59 Degi [Degi@Nightstar-ln7ajd.dyn.telefonica.de] has joined #code
19:04 Jessikat [Jessikat@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
19:06 Jessikat` [Jessikat@Nightstar-0v950i.dab.02.net] has quit [[NS] Quit: Bye]
20:17 RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code
20:26 Kindamoody|afk is now known as Kindamoody
21:47 Alek [Alek@Nightstar-7or629.il.comcast.net] has quit [Ping timeout: 121 seconds]
21:51 Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code
21:51 mode/#code [+o Alek] by ChanServ
22:01 macdjord [macdjord@Nightstar-ahbhn1.cable.rogers.com] has quit [[NS] Quit: Wenn ist das Nunstück git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput]
22:03 Vorntastic [Vorn@Nightstar-7cgtkn.sub-174-199-26.myvzw.com] has joined #code
22:10 Vorntastic [Vorn@Nightstar-7cgtkn.sub-174-199-26.myvzw.com] has quit [[NS] Quit: Bye]
22:15 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has joined #code
22:15 mode/#code [+o Reiv] by ChanServ
23:59 Degi [Degi@Nightstar-ln7ajd.dyn.telefonica.de] has quit [[NS] Quit: Leaving]
--- Log closed Wed Sep 06 00:00:46 2017
code logs -> 2017 -> Tue, 05 Sep 2017< code.20170904.log - code.20170906.log >

[ Latest log file ]