--- Log opened Thu Feb 23 00:00:36 2017 |
00:15 | | LadyOfLight` [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
00:26 | | Turaiel [Brandon@Nightstar-8t8.2pu.55.45.IP] has joined #code |
00:26 | | mode/#code [+o Turaiel] by ChanServ |
00:28 | | LadyOfLight`` is now known as LadyOfLight |
00:29 | < LadyOfLight> | McMartin: amusingly, this system is replacing the defunct attempt from four years ago that suffered from precisely the problem you specified re: mutability, though |
00:29 | | Kindamoody is now known as Kindamoody[zZz] |
00:32 | | himi [sjjf@Nightstar-dm0.2ni.203.150.IP] has joined #code |
00:32 | | mode/#code [+o himi] by ChanServ |
03:33 | | Alek [Alek@Nightstar-cltq0r.il.comcast.net] has quit [Ping timeout: 121 seconds] |
03:37 | | Alek [Alek@Nightstar-cltq0r.il.comcast.net] has joined #code |
03:37 | | mode/#code [+o Alek] by ChanServ |
03:58 | | LadyOfLight` [catalyst@Nightstar-eq00tc.dab.02.net] has joined #code |
04:01 | | LadyOfLight [catalyst@Nightstar-9lu59t.dab.02.net] has quit [Ping timeout: 121 seconds] |
04:02 | | * McMartin does tremendous violence to a TS1000 program by doing raw POKEs into the BASIC program space |
04:02 | <&McMartin> | This is actually working out fantastically, and suggests that I should be able to replicate my preferred link-loading technique from the C64 world into TS1000/ZX81 |
04:02 | <&McMartin> | Where it works better than what appears to be the traditional technique over there. |
04:17 | | * Vornicus thought you meant TIS-100 for a minute |
04:20 | <~Vornicus> | that is also pretty tremendous violence |
04:41 | | Turaiel is now known as Turaiel[Offline] |
05:45 | | himi [sjjf@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds] |
07:00 | | LadyOfLight` is now known as LadyOfLight |
07:08 | < LadyOfLight> | I realised that symbols are not maps, but maps may be interpreted as canonically represented symbols, so my abstractions were backwards |
07:11 | < LadyOfLight> | Which means that in theory you could look up a lookup in a map |
07:29 | | macdjord|wurk is now known as macdjord|slep |
09:10 | | Kindamoody[zZz] is now known as Kindamoody |
09:42 | | Kindamoody is now known as Kindamoody|afk |
10:01 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code |
10:01 | | mode/#code [+o himi] by ChanServ |
10:28 | | LadyOfLight` [catalyst@Nightstar-1behms.dab.02.net] has joined #code |
10:30 | | LadyOfLight [catalyst@Nightstar-eq00tc.dab.02.net] has quit [Ping timeout: 121 seconds] |
10:33 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
10:38 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code |
10:38 | | mode/#code [+o himi] by ChanServ |
10:55 | < LadyOfLight`> | It just dawned on me that Reduct makes absolutely no distinction between data and function type |
10:56 | < LadyOfLight`> | Which was part of the initial point, but now just feels natural |
10:57 | | LadyOfLight` is now known as LadyOfLight |
10:59 | <~Vornicus> | "The reliability goals for Windows 2000 included continuous uptime that exceeded the time between power failures in the Redmond area." |
11:01 | <@Tamber> | "And then we figured out what a UPS was."? :p |
11:03 | <~Vornicus> | It was a post explaining the presence of a bunch of generator trucks at the MS campus. |
11:05 | <@Tamber> | Ahh |
11:05 | < LadyOfLight> | x) |
11:29 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
12:48 | | Alek [Alek@Nightstar-cltq0r.il.comcast.net] has quit [Ping timeout: 121 seconds] |
12:51 | | Alek [Alek@Nightstar-cltq0r.il.comcast.net] has joined #code |
12:51 | | mode/#code [+o Alek] by ChanServ |
14:39 | | Alek [Alek@Nightstar-cltq0r.il.comcast.net] has quit [Ping timeout: 121 seconds] |
14:42 | | Alek [Alek@Nightstar-cltq0r.il.comcast.net] has joined #code |
14:43 | | mode/#code [+o Alek] by ChanServ |
14:54 | | * TheWatcher hairpulls at this code |
14:54 | <@TheWatcher> | You're checking whether this exists or not, it clearly doesn't, so why aren't you fucking creating it?!? |
15:29 | < LadyOfLight> | XD |
15:30 | < LadyOfLight> | Too much effort |
15:38 | | macdjord|slep is now known as macdjord|wurk |
16:11 | | gnolam_ [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code |
16:11 | | gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [Ping timeout: 121 seconds] |
16:21 | | gnolam_ is now known as gnolam |
16:21 | | mode/#code [+o gnolam] by ChanServ |
16:58 | | LadyOfLight` [catalyst@Nightstar-fjtujp.dab.02.net] has joined #code |
17:00 | | LadyOfLight [catalyst@Nightstar-1behms.dab.02.net] has quit [Ping timeout: 121 seconds] |
17:07 | < LadyOfLight`> | Game developers are crazy |
17:12 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
17:12 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
18:02 | | LadyOfLight` is now known as LadyOfLight |
19:12 | | LadyOfLight` [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
21:29 | <@TheWatcher> | LadyOfLight`: Why (this time)? |
21:34 | | LadyOfLight [catalyst@Nightstar-fjtujp.dab.02.net] has quit [[NS] Quit: Bye] |
22:47 | | LadyOfLight [catalyst@Nightstar-6s7hf5.dab.02.net] has joined #code |
22:53 | < LadyOfLight`> | TheWatcher: people just think of the strangest and most roundabout ways to formulate things |
22:53 | <@TheWatcher> | Oooh, right. honestly, I think for that, you could really just s/Game // ;) |
22:57 | < LadyOfLight`> | Elite is a very special case |
22:57 | < LadyOfLight`> | I'm not going to detail why, though :d |
22:57 | < LadyOfLight`> | just... spfou qwpot uiqe3[0t7=h[3u5y]-48uh]rj |
22:57 | < LadyOfLight`> | </incoherence> |
22:58 | < LadyOfLight`> | Apropos of nothing, I think I've come up with the simplest possible formulation of Reduct |
22:59 | | * TheWatcher notes that as a Canonn Research member, he is obliged to regard that as some form of encoded message, and spend vast computational power attempting to analyse and decode it~ |
23:00 | | Turaiel[Offline] is now known as Turaiel |
23:02 | <@TheWatcher> | ... ohgods, this does no validation whatsoever on quest variable names |
23:02 | <@TheWatcher> | Fffffffff |
23:05 | | Kindamoody|afk is now known as Kindamoody |
23:10 | < LadyOfLight`> | TheWatcher: good luck in your question |
23:10 | < LadyOfLight`> | quest* |
23:10 | < LadyOfLight`> | btw, you know more about Elite than I do |
23:11 | < LadyOfLight`> | aside from low level hardware abstraction layers :P |
23:11 | <@TheWatcher> | :) |
23:11 | < LadyOfLight`> | I find out Elite gameplay features from talking to my obsessed friend |
23:11 | < LadyOfLight`> | it's great |
23:11 | < LadyOfLight`> | she does all of the distant worlds stuff :D |
23:14 | <@TheWatcher> | I'm not really dedicated enough to do those, and get too easily distracted. I'm slowly doing the 9000ly trip out to the Formidine Rift, but keep getting distracted by undiscovered systems |
23:20 | | * McMartin finds himself idly wondering how the Sinclair Spectrum series wasn't annihilated in the marketplace basically everywhere |
23:24 | <&McMartin> | "By being half the price of a BBC Micro," I guess |
23:29 | <@TheWatcher> | Sod it, the game engine may not enforce rules on these things, but if I don't it'll be madness and spiders everywhere. |
23:29 | <@TheWatcher> | possibly even sorrow spiders. |
23:30 | <&ToxicFrog> | At least it's not void crabs. |
23:30 | <&McMartin> | What are you modifying here? |
23:31 | <@TheWatcher> | Working on my dark engine scripting framework |
23:35 | <@TheWatcher> | Specifically the part that allows mission creators to use simple calculations as part of script parameters, so you have "SomeScriptParameter=$qvarname*4.5". except that qvar names can potentially contain any character, so is that *4.5 a calculation, or part of the name? |
23:37 | <&McMartin> | Oh goodness |
23:37 | <@TheWatcher> | I could potentially check whether 'qvarname*4.5' exists as a quest variable, but not existing initially doesn't necessarily imply it won't later: another script might /create/ that qvar later |
23:37 | <&McMartin> | Can you insist on whitespace? |
23:37 | <&McMartin> | eg $qvarname * 4.5 |
23:38 | <@TheWatcher> | That's actually a valid qvar name, too! |
23:38 | <~Vornicus> | What the drugs |
23:38 | < LadyOfLight`> | ...your naming scheme is fucked |
23:38 | <~Vornicus> | That is too many drugs. |
23:38 | <@TheWatcher> | Don't blame me, blame looking glass studios |
23:39 | < LadyOfLight`> | :D |
23:39 | < LadyOfLight`> | Bethesda still seem to be winning |
23:39 | <&ToxicFrog> | It's kind of reassuring to know that even they creating the occasional spectacular awfulness |
23:39 | < LadyOfLight`> | UnrealScript feels like a positively excellent choice of first modding language from this distance |
23:40 | <&ToxicFrog> | LadyOfLight`: having used uscript, it's definitely a better choice than bethscript, and based on what TW has told me of Dark scripting over the years, better than that too |
23:40 | <@TheWatcher> | McMartin: less facetiously, I can simply say "if you want to use these scripts/this framework you need to follow these rules for quest variable naming", and enforce those within my code. |
23:41 | < LadyOfLight`> | uscript had replication { } blocks that told you what variables got broadcast |
23:41 | < LadyOfLight`> | so the same script ran on both host and clients with RPC that replicated too |
23:41 | < LadyOfLight`> | it was kind of wonderful |
23:41 | < LadyOfLight`> | you could also partially overload classes with game state blocks |
23:41 | < LadyOfLight`> | :d |
23:41 | <&McMartin> | TW: Checks out |
23:42 | <&McMartin> | Actually, since we seem to have some UK folks here of various ages |
23:42 | <@TheWatcher> | Because otherwise I may as well just link a perl 'terp in here and go full Azathoth on it~ |
23:42 | <&McMartin> | What kind of computers were The Computers Of Your Youth |
23:42 | | * Vornicus wishes for a lua-oid that doesn't fight its embedded language's indexing scheme. |
23:43 | <~Vornicus> | er, embedding target, er, something |
23:43 | <~Vornicus> | The big language it is a little language in. |
23:46 | <@TheWatcher> | McMartin: zx spectrum 48k and Dragon 64 (at home), BBC micro and Acorn Archimedes (at school), leading into the Amiga 500, then 1200 |
23:46 | <&ToxicFrog> | Vornicus: host language. |
23:46 | <~Vornicus> | Thank you. |
23:47 | <&ToxicFrog> | TBH it wouldn't be hard to make Lua that language. |
23:47 | <&ToxicFrog> | The 1-index convention isn't a configuration knob, but neither is it a supremely fundamental part of the language; change {} and # and you're most of the way there. |
23:48 | <~Vornicus> | it's true, there's probably like ... a couple dozen places where it would need to get changed, in {} and # and probably a couple spots in the table lib. |
23:48 | <@TheWatcher> | McMartin: for reference, I'm 40. |
23:49 | <&McMartin> | Checks out. I'm only a few years younger than you and that's the comparison level I was seeking |
23:49 | <@TheWatcher> | (which still feels fucking weird to say) |
23:49 | <~Vornicus> | But then you have all the places others depend on it and that's the real problem, really |
23:49 | <&McMartin> | I'm mainly curious as to when convergence happens, because it seems like it's the late 1990s at the earliest |
23:50 | < LadyOfLight`> | an Amiga of some sort, a PC that could play Wing Commander, BBC micros with turtles at school |
23:50 | < LadyOfLight`> | a SNES, I suppose |
23:51 | <&ToxicFrog> | Vornicus: the string lib too, if you want 0-indexed strings |
23:51 | <&ToxicFrog> | But yeah, this isn't something you could use as a drop-in replacement for lua, it would be your game's specific variant of lua |
23:51 | <&ToxicFrog> | Which, to be fair, is kind of how lua is meant to be used |
23:51 | < LadyOfLight`> | (I'm 30, I guess) |
23:51 | <&ToxicFrog> | Lots of games modify not just the stdlib but also the syntax |
23:52 | <&ToxicFrog> | (sometimes with unfortunate results -- Supreme Commander added # as a comment character, among other things, meaning they could never upgrade to 5.1) |
23:52 | <&McMartin> | TheWatcher: I've been messing around with the Speccy's predecessor the ZX81 and learned last night to my surprise that the horrific K/L/G/F/E split was not abandoned until alarmingly late |
23:52 | <&McMartin> | And furthermore that some people thought this was not merely forgivable but actually a feature |
23:54 | <&ToxicFrog> | KLGFE? |
23:54 | <&McMartin> | So, As You Know (tm), BASICs are an interpreted language |
23:55 | <&McMartin> | And the way they tended to work is they'd be tokenized as you typed in them in, so that, say, you type in PRINT and that turns into a single command byte to cram it into RAM. |
23:55 | <&McMartin> | (If you recall the Compute! thread, some of us were bodging about modifying or creating BASIC code in-place with POKE, exploiting this) |
23:55 | | Kindamoody is now known as Kindamoody[zZz] |
23:55 | <&McMartin> | Computers made by Sinclair Research until the Amiga era were like that too, but they did not have tokenizers |
23:56 | <&McMartin> | You had to shift the cursor into one of several "keyword modes" and then hit a key, essentially typing out your bytecode directly. |
23:56 | <&McMartin> | It did a *bit* of mode guessing but less than one might like. |
23:56 | <&McMartin> | Also, because of the way commands work, they were only actually mnemonic about 35% of the time |
23:56 | <&McMartin> | so sure, P is PRINT and L is LET is G is GOTO |
23:57 | <&McMartin> | But then Y is RETURN and H is GOSUB |
23:57 | <&McMartin> | And V is CLS |
23:57 | <@TheWatcher> | https://en.wikipedia.org/wiki/ZX_Spectrum#/media/File:ZXSpectrum48k.jpg - they helpfully put it on the keys!~ |
23:57 | <&McMartin> | And if you type out FOR A=1 TO 4 you'd better have hit Shift-4 for that " TO " or it's not going to run despite looking exactly correct on the screen |
23:57 | <&McMartin> | Yes |
23:58 | <&[R]> | Is there no ${qvarname * 4.5} syntax? |
23:58 | <&McMartin> | Also note that to type, say, BEEP |
23:58 | <&[R]> | (RE: Dark Engine) |
23:58 | <&McMartin> | That is "hold down BOTH shift keys, and then ONLY THE RIGHT shift key while hitting Z" |
23:58 | <&ToxicFrog> | |
23:58 | <&McMartin> | Now, Sinclair Research attempted to sell their computers in North America |
23:59 | <&McMartin> | Where they were described as "unforgivable" by BYTE Magazine and the vast bulk of their sales were due to Commodore offering a $100 tradein for other computers for the purchase of a new C64 |
23:59 | <&McMartin> | ... and the TS1000, their flagship product in North America (the predecessor to the one pictured), retailed for less than $100 |
--- Log closed Fri Feb 24 00:00:38 2017 |