🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
00:03 b2gills joined 00:27 kurahaupo joined 00:58 softmoth joined 00:59 xinming joined 01:16 kvw_5 left 01:18 kvw_5 joined 02:13 abraxxa left 02:14 abraxxa joined 02:19 demo06 joined 02:37 lucasb left 03:18 abraxxa left 03:20 abraxxa joined 03:33 MasterDuke left 04:03 softmoth left
japhb 🎉‭🎉‭🎉‭ MUGS 0.1.1 released! See github.com/Raku-MUGS/MUGS/blob/mai.../v0.1.1.md for release notes, or come to #mugs to chat/ask questions. :-) 04:04
04:22 wamba joined 04:56 mahafyi joined 05:24 jmerelo joined, abraxxa left 05:25 abraxxa joined 05:29 abraxxa left
guifa japhb++ 05:29
05:32 abraxxa joined 05:35 abraxxa left 05:36 abraxxa joined 06:00 ufobat_ joined 06:06 Xliff left 06:13 neshpion left 06:19 domidumont joined 06:31 brtastic joined 06:34 abraxxa left 06:36 abraxxa joined 06:45 yacatuco joined 06:57 pecastro joined 06:58 Sgeo left 07:05 parabolize left 07:12 asymptotically joined, patrickb joined 07:16 clarjon1 left 07:20 rindolf joined 07:27 Manifest0 joined 07:28 xinming left 07:39 abraxxa left 07:42 abraxxa joined 07:46 mahafyi left
patrickb o/ 07:56
japhb: Can you add some bits to the MUGS description about what MUGS *isn't*? 07:57
Things that I suspect MUGS isn't but don't know: A high performance network stack suitable to drive Multiplayer 3D Action games. 07:58
japh: Btw. sI really like the project. So heads up! 08:04
It reminds me of a german website that offers a free service to play a rather large selection of board games and a rather elaborate "lobby" including a Meta game that tracks overall player interaction and has factions. (brettspielwelt.de) 08:07
It originated in 1998 I think and I suspect is way past its zenith in popularity. But I just recently discovered it and really like it, especially in the current times of social separation. 08:10
08:19 yacatuco_ joined, yacatuco left 08:22 docontherocks joined
docontherocks /quit 08:24
exit
08:24 docontherocks left 08:25 redhands left 08:39 sftp left 08:53 Geth joined 08:56 aborazmeh joined 09:31 aborazmeh left 09:37 demo06 left 09:40 aborazmeh joined 09:42 brtastic1 joined, brtastic left, brtastic1 is now known as brtastic 09:44 aborazmeh left 09:56 asymptotically left 10:01 natrys joined 10:20 Black_Ribbon left, doconthe2ocks joined 10:21 abraxxa left 10:45 wamba left, wamba joined 10:47 linkable6 left 10:49 linkable6 joined 11:33 hankache joined 11:35 wamba left 11:38 frost-lab joined 11:39 bdju joined 11:40 hankache left 11:41 jmerelo left 11:47 natrys left 11:50 wamba joined 11:51 frost-lab left, asymptotically joined 12:01 natrys joined, asymptotically left, asymptotically joined 12:10 natrys left 12:25 natrys joined
gfldex lolibloggedalittle: gfldex.wordpress.com/2021/04/16/al...ong-to-us/ 12:44
12:52 Kaeipi joined 12:54 Kaeipi left 12:55 Kaiepi left 12:57 mahafyi joined 12:58 asymptotically left 13:02 ggoebel_ left
moritz gfldex: "In he closing thought" the should be "In *the*" 13:08
moritz likes it
lizmat I've already notified gfldex of this and other typos 13:09
demostanis[m] Does Raku have a builtin cross-platform version of `my ($rows, $columns) = split " ", trim qx+stty size+; say "There are $rows rows and $columns columns."`? 13:22
moritz I'm pretty sure the answer is "no" :D 13:23
lizmat not in core
demostanis[m] <lizmat "not in core"> Where? 13:26
guifa there’s a module for it
demostanis[m] Which 13:27
?
lizmat forgets which one
greppable6 stty
greppable6: stty
greppable6 lizmat, 36 lines, 12 modules: gist.github.com/4b74f9388a311548fe...48be358000
lizmat hmmm..... looks like Term::Choose checks that 13:28
demostanis[m] Term::Choose?
get-term-size
Thanks 13:29
lizmat I don't see a module that exports that functionality like that
there's your chance!
guifa There’s one that gives the width
But not the height
github.com/raku-community-modules/...inal-Width 13:30
lizmat just uploaded modules.raku.org/dist/Array::Sorted::Util
afk for a few hours& 13:31
demostanis[m] <guifa "github.com/raku-communit"> Why not the height?//
guifa demostanis[m]: Zoffix probably wasn’t concerned about the height when he wrote it 13:32
but it looks like it should be easy enough to modify it to make Terminal::Height
demostanis[m] He probably thought terminals are in 1d
guifa lol 13:33
Zoffix was like lizmat — lots of super cool/useful modules, but really focused on the done one thing, and do it well principal 13:34
13:35 sena_kun left 13:37 sena_kun joined
ugexe Terminal::Width is the same code zef used to use to do terminal animations, but i eventually removed it because its way too fragile 13:37
guifa ugexe: fragile in that it didn’t support enough systems accurately? 13:38
ugexe github.com/ugexe/zef/blob/3c756183...fo.pm6#L10 is the now removed code
in that is often didnt work for systems it should have supported
one example can be seen above that code above -- resizing the terminal 13:40
guifa ugexe++ makes sense. Only asking because I’ve got a few modules that are cross-platform one-stop shops for user information and wanted to see where some pitfalls may be
ugexe but even without resizing the terminal it just didnt work a lot
i think Terminal::Print is the cutting edge when it comes to that stuff
in raku 13:41
leont Using tput instead of TIOCGWINSZ seems unfortunate 13:43
ugexe in my defense i think i originally wrote that code before NativeCall existed 13:57
also at a time when it ran on jvm, so even if nativecall did exist i guess i wouldnt have used it 13:58
13:59 redhands joined 14:09 sena_kun left 14:11 sena_kun joined 14:21 macarc joined 14:22 Sgeo joined
macarc Hello, I think examples.perl6.org/ is down (there's a link to it from the raku.org home page) 14:24
14:33 ufobat__ joined
moritz rba: ^^ 14:36
14:37 ufobat_ left, natrys left
lucs By the way, interestingly (maybe), examples.raku.org leads to a page titles "Perl 6 Design Documents", with links to the synopses, apocalypses, and exegeses. 14:38
*titled
14:42 natrys joined
rba I will take care of example, give me a few minutes... 14:43
14:45 sftp joined 14:52 __jrjsmrtn__ joined 14:53 _jrjsmrtn left 15:00 parabolize joined
rba Both examples.raku.org and examples.perl6.org should now work again. Let me know if there is something wrong again... 15:03
macarc Thanks :) 15:04
leont Can someone think of a easy but reliable way to figure out how many bits a number needs. 15:05
lucs rba: Thanks.
leont Currently doing «ceiling($number-of-values.log / 2.log)», but surely floating points are going to disappoint me
lucs How many bits _does_ a floating point require? 15:06
leont I mean how many bits an integer would take
15:06 macarc left
leont 4 takes 3 bits, 9 would take 4 bits 15:06
But .log returns a floating point, so that division may be off, especially if $number-of-values is a power of two and the division is like 4.0000000000001, which ceils to 5 instead of 4 15:07
lucs Ah, I see. 15:12
leont Wait, turns out there is a log2 method!
I knew there had to be an easy way to do this 15:16
Thanks all for being my rubber duck :-p
lucs :) 15:17
15:20 jmerelo joined 15:24 brtastic left 15:30 xelxebar_ left 15:34 xelxebar joined
parv Is anyone working on Raku(do) port for FreeBSD (either release or straight from Git repository)? 15:35
[Coke] I haven't about anything in particular, but would expect it would compile OK assuming libuv works there. 15:46
15:46 El_Che joined
[Coke] downloads page has BSDunder "Other Platforms" rakudo.org/downloads 15:48
parv [Coke], that's new to me, pkgsrc.se; that offers to install from source. In that case I could create a port my self to pull rakudo from Github & adapt their devel/{nqp,moarvm}. OTOH rakubrew looks like self contained for easier (& less flexible) access to Raku. 15:58
looks like I would start with rakubrew; move to pulling rakudo, nqp, moarvm from Github & building from source later and/or on popular demand. 16:01
16:05 mowcat joined 16:06 ___vi joined 16:07 __jrjsmrtn__ left 16:12 ufobat__ left 16:20 jmerelo left 16:21 justsomeguy left 16:25 domidumont left 16:27 asymptotically joined 16:50 ___vi left 16:58 justsomeguy joined 16:59 softmoth joined 17:03 Sgeo left 17:09 aluaces left 17:10 justsomeguy left 17:15 neshpion joined 17:24 Sgeo joined 17:36 aluaces joined
japhb demostanis[m]: stty, tput, TIOCGWINSZ, and "\e[18t" are all viable; MUGS uses that last one (github.com/Raku-MUGS/MUGS-UI-CLI/b...mod#L387), Terminal::Print uses the second one (github.com/ab5tract/Terminal-Print...pm6#L104). 17:51
demostanis[m] I never heard about "\e[18t". How does it work? `echo`ing it on my Terminal doesn't do anything. 17:56
japhb patrickb: MUGS is working its way "up from the bottom", in sorta the same way x86 and ARM have slowly worked their way up. So right now I absolutely wouldn't try doing a 3D FPS arena game using MUGS as a base. But I would (and have) done a simple 2D twitch game, and eventually I'll at least support complex 2D twitch games and very simple 3D games, but not in the short term. Also, I have done nothing about 17:57
sound support yet.
patrickb: So I don't want to define MUGS by what it doesn't do (because it might, eventually), but it sounds like you're asking for a first cut of "This isn't going to work for this use case *now*" -- is that what you meant? 17:58
17:59 aborazmeh joined
japhb demostanis[m]: If you look a few lines above at github.com/Raku-MUGS/MUGS-UI-CLI/b...umod#L363, you can see the generic query-terminal method. The idea is that *while in raw mode*, you send a query string to the terminal as an escape sequence and then read back its response (as another escape sequence) and parse it. 18:00
demostanis[m] japhb: What exactly is raw mode? Is there a way to parse the response from my shell (without using Raku)? 18:03
japhb demostanis[m]: I use github.com/krunen/term-termios/ to get to raw mode, as you can see in github.com/Raku-MUGS/MUGS-UI-CLI/b...kumod#L311 -- Raw mode is basically turning off a lot of the default stuff that a terminal driver does to the input and output data, like special handling for certain control characters, converting CR to NL, and so forth. 18:07
It also, critically, allows byte-at-a-time access to the input buffer.
demostanis[m]: If you're already using shell, than just use stty or tput. 18:08
demostanis[m] Is it cross-platform? 18:09
japhb It's VT100, so about as core as you can get for something that pretends to be a basic terminal. I use the XTerm Control Sequences doc as my reference, because it gives a lot of detail about exact support levels: invisible-island.net/xterm/ctlseqs/ctlseqs.html 18:10
Actually, not sure if that one is VT100. I've used a couple different sequences in the past. 18:13
demostanis[m] Oh ok, thanks, I've had never heard about a sequence to get the terminal size before
japhb Found it. It's dtterm, later extended by xterm. Search for XTWINOPS in that doc. 18:14
So yeah, it's not VT100-ancient, but it is pre-xterm ancient. :-) 18:15
I learned about it spelunking the Linenoise code, when I wanted to understand how they read the current cursor position, since TIOCGWINSZ doesn't give you that and it doesn't even make much sense for stty. 18:16
demostanis[m] If I understand correctly, some control sequences can even set the terminal to fullscreen? 18:19
`printf "\e[10;0t"` but that doesn't seem to work 18:20
`printf "\e[10;1t"`* but still doesn't
Oh that's xterm-specific 18:21
And it works on xterm
That's awesome
18:22 mahafyi left 18:32 MasterDuke joined
neshpion doesn't work on st ;-; 18:51
codesections neshpion: is that because it only reports how big your terminal screen was at compile time? :D 18:53
18:54 aborazmeh left 18:56 neshpion left, neshpion joined 18:57 aborazmeh joined 19:10 brtastic joined 19:18 MasterDuke left 19:19 MasterDuke joined
japhb neshpion: st? 19:23
neshpion suckless terminal 19:24
(re: the full-screen escape code)
19:42 kurahaupo left 19:45 kurahaupo joined 19:50 aborazmeh left
japhb I've been using gnome-terminal for quite a while, and though it's far from perfect, I do find it's pretty compatible. All the tricks I've tried with it work just peachy. 20:04
And it works with orca, so I can test screen-reader output.
20:07 stanrifkin joined
stanrifkin p6: 47.is-prim 20:07
camelia No such method 'is-prim' for invocant of type 'Int'. Did you mean
'is-prime'?
in block <unit> at <tmp> line 1
stanrifkin p6: 47.is-prime
camelia ( no output )
stanrifkin p6: say 47.is-prime
camelia True
20:12 rindolf left
patrickb japhb: I had the feeling I didn't grasp what MUGS actually wants to be, probably because the description sounded too broad. But I guess you are simply aiming high. Nothing wrong with that. :-) Adding a "currently you can do... and can't do ..." might be good to give people a perspective though. 20:13
japhb++
japhb Decent point, patrickb. Hmmm, lemme think how I want to phrase that.
20:17 Black_Ribbon joined
japhb Oh, I'll ask here as well (originally asked in #raku-gamedev), since people have been talking about it. Since people are asking about action game performance, I clearly need to put a few cycles into doing some twitch gaming for MUGS. But I need something IP safe, because I really don't want to Provoke The Lawyers. Any 2D arcade-style games that are known to be safe to clone? (Tetris and anything by 20:17
Nintendo are definitely NOT on that list, pretty much the opposite in fact.) 20:18
(To be clear, I don't just want to avoid provoking lawyers, I also want to be respectful of people's desires on that front. I started with board games in MUGS not because of the ease of implementation, but because it's easy to find board games literally hundreds or even thousands of years old.) 20:20
raydiak I seriously doubt anybody is going to try to claim copyright on an entire genra like a platformer/side scroller, as long as you aren't closely emulating distinctive parts of a specific commercial game like the art, character names, etc. Personally I'm a fan of top-down space shooters. 20:23
japhb raydiak: I actually spent some time reading about the case law on this. Clones of Asteroids and Galaga were example (real) cases, among others. As far as I currently understand it, beyond simple asset copying (always a no-no unless *explicitly* freed by the copyright holder), copyright is also held in the general presentation/embodiment, as separate from the ideas. So "top-down space shooter" is a general 20:28
idea that can't be copyrighted, but "the enemies look like brightly-colored insects and dive bomb in looping formations" is an embodiment.
Of course IANAL, so I tend to be conservative in my interpretation of such things.
20:29 brtastic left
raydiak then don't copy galaga 20:30
20:30 neshpion left
raydiak my point is don't copy anything, pick a genra and make your own thing. and if someone has a legal problem with that, which I'd bet money you won't encounter, then just take it down 20:31
20:31 neshpion joined
japhb I wasn't planning to. I was asking if anyone knew of 2D arcade games that had been *explicitly freed*, since copyright won't have expired on any computer program ever written. 20:31
raydiak chormium bsu is open source
though I'm not fond of its "don't let a single enemy pass you" mechanic 20:32
"Clarified Artistic License" whatever that means 20:33
tadzik Commander Keen has been freed: github.com/keendreams/keen
(the source code, not the assets I think)
20:34 Black_Ribbon left
japhb tadzik: Yeah, that's one of the traps (and typical of id Software historically). 20:35
raydiak: Hmmm, that's not a bad idea. Especially since it was Artistic License originally and apparently has unique gameplay elements, which is useful. 20:36
raydiak didn't id GPL the first 3 quake engines, eventually? 20:37
tadzik yep
japhb Yeah, but only the engines. The data is all still proprietary.
Same with Doom.
tadzik japhb: so you're looking for free code, free data?
at least with ID there's a very, very strong precedent of "we don't care if you redo the assets":) 20:38
raydiak en.wikipedia.org/wiki/List_of_comm...ource_code
en.wikipedia.org/wiki/List_of_open...ideo_games
japhb Free data more important than free code, but most especially, no one claiming ownership of the general design.
tadzik: Yeah, that is useful.
tadzik I don't think there's any example of someone claiming ownership on a 2d platformer 20:39
unless you literally want a plumber eating mushroom or something :P
japhb raydiak: A fair number of those are *really deep*, and thus not something I'm going to be able to implement in a couple weeks, but yeah, I will be using those lists eventually.
20:40 Black_Ribbon joined
codesections re: “IANAL, so I tend to be conservative in my interpretation of such things” – what you said sounds about right to me, and I _am_ a lawyer (though not providing legal advice, etc) 20:41
japhb Uh no, no mushroom-eating plumbers. :-)
codesections: Really? I didn't know we had any in #raku. :-)
tadzik teeworlds is *fairly* unique in its design, made from scratch, and narrow in scope 20:42
you could argue that it's actually a clone of liero or soldat, but I think that's quite a stretch 20:43
codesections Yep. I was litigating for a huge lawfirm in NYC and they asked me to help out with a legal app they wanted to build. That's when I discovered that I loved coding more than law
tadzik well, not a clone, but inspired. Then again, what 2d platformer isn't inspired by something at this point
raydiak codesections I read that story on your website :) pretty cool
codesections thanks :) 20:44
20:44 brtastic joined
japhb codesections: I worked with a (gifted) reverse engineer at a company back in ~2000, and when I asked them what they used to do before getting into network protocol analysis, they said they were a lawyer, but had a case that they never thought they'd be able to top, so gave up law to be a programmer instead. Excellent decision. :-) 20:45
codesections ha. Seems like it 20:46
raydiak wrt assets, a quick search turns up things like itch.io/game-assets/free and opengameart.org/ ...maybe there'd be something useful in there somewhere?
japhb raydiak: That's a good idea, I should see if I can find some not-horrible-together sets with CC0 or so. 20:47
raydiak yes from glancing at those, "not horrible" does seem to be the main criteria to look out for when it comes to free game assets :) 20:49
20:51 mowcat left
japhb tadzik: Yeah, looks like teeworlds was fully opened at some point, and has a community of modded versions, so that's a good sign. 20:54
20:54 patrickb left 21:05 asymptotically left, kst joined 21:13 mowcat joined 21:31 __jrjsmrtn__ joined, g0nk joined 21:32 telex joined 21:46 wamba left 21:51 xelxebar left, xelxebar joined 21:55 clarjon1 joined 21:57 mahafyi joined 22:16 brtastic left 22:29 redhands left 22:47 softmoth left 22:51 mowcat left 23:08 g0nk left 23:09 stanrifkin left 23:24 pecastro left 23:26 softmoth joined, simcop2387_ joined, simcop2387 left 23:29 neshpion left 23:30 simcop2387_ left, simcop2387_ joined, simcop2387_ is now known as simcop2387