🦋 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
|