--- Log opened Fri Mar 11 00:00:12 2016 |
00:12 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
00:16 | | Derakon[AFK] is now known as Derakon |
00:53 | | catadroid [catalyst@Nightstar-7nbjsh.dab.02.net] has joined #code |
00:53 | | catadroid [catalyst@Nightstar-7nbjsh.dab.02.net] has quit [A TLS packet with unexpected length was received.] |
00:53 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
01:00 | | catadroid [catalyst@Nightstar-7nbjsh.dab.02.net] has joined #code |
01:14 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has joined #code |
01:14 | | mode/#code [+o Reiv] by ChanServ |
01:25 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
01:32 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
01:35 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed] |
01:36 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
01:41 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code |
01:41 | | mode/#code [+o Vash] by ChanServ |
02:19 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
02:24 | <@Alek> | http://i.imgur.com/VoGvAoG.jpg |
02:36 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has joined #code |
02:36 | | mode/#code [+o Reiv] by ChanServ |
03:11 | | catadroid` [catalyst@Nightstar-ijvg70.dab.02.net] has joined #code |
03:13 | | catadroid [catalyst@Nightstar-7nbjsh.dab.02.net] has quit [Ping timeout: 121 seconds] |
03:40 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
03:42 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
03:57 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
03:57 | | mode/#code [+o Crossfire] by ChanServ |
04:03 | | Kindamoody[zZz] [Kindamoody@Nightstar-0lgkcs.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
05:11 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [Connection closed] |
05:11 | | JustBob [justbob@Nightstar.Customer.Dissatisfaction.Administrator] has quit [Connection reset by peer] |
05:11 | | JustBob [justbob@ServerAdministrator.Nightstar.Net] has joined #code |
05:11 | | mode/#code [+o JustBob] by ChanServ |
05:14 | | Derakon is now known as Derakon[AFK] |
05:24 | | mac is now known as macdjord|slep |
05:46 | | Turaiel is now known as Turaiel[Offline] |
05:51 | | JustLurk [justbob@ServerAdministrator.Nightstar.Net] has joined #code |
05:51 | | JustBob [justbob@Nightstar.Customer.Dissatisfaction.Administrator] has quit [NickServ (RECOVER command used by JustLurk)] |
05:51 | | JustLurk is now known as JustBob |
05:51 | | mode/#code [+o JustBob] by ChanServ |
06:23 | | Far [Asur@Nightstar-f15a90.dip0.t-ipconnect.de] has joined #code |
07:00 | | catadroid` is now known as catadroid |
07:05 | | himi [fow035@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds] |
07:36 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
08:08 | | Kindamoody[zZz] [Kindamoody@Nightstar-0lgkcs.tbcn.telia.com] has joined #code |
08:08 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
08:18 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
08:35 | | Kindamoody[zZz] is now known as Kindamoody |
08:47 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
09:32 | | Kindamoody is now known as Kindamoody|afk |
09:41 | | catadroid` [catalyst@Nightstar-koo7rt.dab.02.net] has joined #code |
09:44 | | Far|2 [Asur@Nightstar-iccba2.dip0.t-ipconnect.de] has joined #code |
09:44 | | catadroid [catalyst@Nightstar-ijvg70.dab.02.net] has quit [Ping timeout: 121 seconds] |
09:46 | | Far [Asur@Nightstar-f15a90.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds] |
11:14 | | Far|2 [Asur@Nightstar-iccba2.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds] |
11:47 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
12:25 | | Emmy-zZz is now known as Emmy |
12:33 | | catadroid [catalyst@Nightstar-koo7rt.dab.02.net] has joined #code |
12:33 | | catadroid` [catalyst@Nightstar-koo7rt.dab.02.net] has quit [Connection closed] |
12:52 | | You're now known as TheWatcher[d00m] |
12:59 | | Red_Queen [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
12:59 | | mode/#code [+o Red_Queen] by ChanServ |
13:00 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
13:01 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
13:02 | | mode/#code [+o Crossfire] by ChanServ |
13:03 | | Red_Queen [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
13:28 | | You're now known as TheWatcher |
14:10 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
14:15 | | Far|2 [Asur@Nightstar-iccba2.dip0.t-ipconnect.de] has joined #code |
14:32 | | starkruzr [quassel@Nightstar-b1nikp.dc.comcast.net] has quit [Operation timed out] |
14:56 | | gizmore [kvirc@Nightstar-5o5rtj.dip0.t-ipconnect.de] has joined #code |
15:06 | | catadroid [catalyst@Nightstar-koo7rt.dab.02.net] has quit [[NS] Quit: Bye] |
15:22 | | Far|2 is now known as Far |
15:42 | | Emmy is now known as Emmy-Out |
15:48 | | Emmy-Out [M@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
15:57 | | catadroid [catalyst@Nightstar-koo7rt.dab.02.net] has joined #code |
16:02 | | Derakon[AFK] [chriswei@Nightstar-5mvs4e.ca.comcast.net] has quit [Connection closed] |
16:03 | | Derakon[AFK] [chriswei@Nightstar-5mvs4e.ca.comcast.net] has joined #code |
16:12 | | catadroid` [catalyst@Nightstar-rpesjv.dab.02.net] has joined #code |
16:13 | | catadroid [catalyst@Nightstar-koo7rt.dab.02.net] has quit [Ping timeout: 121 seconds] |
17:03 | | catadroid` [catalyst@Nightstar-rpesjv.dab.02.net] has quit [[NS] Quit: Bye] |
17:07 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
17:07 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
17:23 | | Far [Asur@Nightstar-iccba2.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds] |
17:50 | | Kindamoody|afk is now known as Kindamoody |
18:09 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
18:09 | | mode/#code [+o Crossfire] by ChanServ |
18:31 | < Azash> | https://dspace.mit.edu/bitstream/handle/1721.1/97690/MIT-CSAIL-TR-2015-026.pdf?s equence=8 |
18:31 | | * Azash eyes the list of authors |
18:34 | <@gnolam> | That is a pretty good list, yes. |
18:57 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
19:16 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
19:16 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
19:20 | | kourbou [kourbou@Nightstar-deqg8j.fbx.proxad.net] has joined #code |
19:41 | | Xires is now known as ^Xires |
19:55 | | ^Xires is now known as Xires |
20:57 | | catadroid [catalyst@Nightstar-83o.6v0.221.90.IP] has joined #code |
21:07 | | * McMartin misreads "NTFS partition" as "NSFW partition" |
21:07 | < kourbou> | lol |
21:07 | < kourbou> | That's the partition you hold the illicit stuff in. |
21:08 | <@celticminstrel> | Heh. |
21:10 | <&McMartin> | Azash: I am amused but somewhat saddened that it is actually necessary to state "We take no issue here with law enforcement's desire to execute lawful surveillance orders when they meet the requirements of human rights and the rule of law" |
21:19 | | kourbou [kourbou@Nightstar-deqg8j.fbx.proxad.net] has quit [[NS] Quit: Bai.] |
21:22 | <&ToxicFrog> | Ok, monologue time. |
21:22 | <&ToxicFrog> | Right now, in ttymor, there are two ways of interacting with an entity: call a method on it, or send it a message. |
21:23 | <&ToxicFrog> | Method calls go to either the entity or exactly one of its components; it is a load-time error for multiple components in the same entity to declare a method with the same name, and a runtime error to call a method on an entity that doesn't define it. |
21:23 | <&ToxicFrog> | Methods can return values. |
21:24 | <&ToxicFrog> | Messages are received by zero or more components in the entity, in unspecified order. They cannot return values but can take arguments, including mutable arguments. |
21:24 | <&ToxicFrog> | *player* interaction with entities, meanwhile, is a complete dog's breakfast. |
21:25 | <&ToxicFrog> | There's a bunch of keybindings for things the avatar can do, like moving around or taking inventory, and then one binding for "frob" |
21:25 | <&ToxicFrog> | This sends a <frob> message to every entity within reach of the player, with an argument consisting of an empty mutable list; <frob> handlers then populate that list with (action name, action handler) tuples. |
21:25 | <&ToxicFrog> | It's then up to the caller to display this list to the player in a way that lets them choose a thing to do. |
21:26 | <&ToxicFrog> | Among other things this means that there's no good way to bind keys to actions, and no good way to test if an entity supports a given action. |
21:27 | <&ToxicFrog> | The solution I'm toying with is this. |
21:32 | | * catadroid has a sudden urge to go swimming |
21:32 | <&ToxicFrog> | Hee |
21:33 | <&ToxicFrog> | Define some set of verbs. A verb has a name, subject and object handler names, a description, and zero or more keybinds. |
21:33 | | gizmore|2 [kvirc@Nightstar-5o5rtj.dip0.t-ipconnect.de] has joined #code |
21:33 | <&ToxicFrog> | E.g. ("Drop", :drop, :dropped-by, "Drop an object", #{\d}) |
21:34 | | gizmore [kvirc@Nightstar-5o5rtj.dip0.t-ipconnect.de] has quit [Operation timed out] |
21:35 | <&ToxicFrog> | <frob> is replaced by <verbs>, which populates a set of which verbs are supported by the object. Unlike <frob> there is no need to specify handlers or menu entry information, since that's all in the information associated with the verb itself. |
21:35 | <&ToxicFrog> | Testing whether an object supports a verb can be done by sending a <verbs> message and then testing set membership. |
21:36 | <&ToxicFrog> | This makes the UI side of things a lot less horrible. |
21:36 | <&ToxicFrog> | Press the generic "frob" button and it sends <verbs> to all reachable objects and displays a list of all objects for which that returned a nonempty set. |
21:37 | <&ToxicFrog> | Select one of those objects to bring up a menu of the verbs it supports, or press the keybinding for a verb to do that immediately. |
21:37 | <&ToxicFrog> | That can, in fact, be how the inventory UI works, and any "list of objects" UI in general. |
21:38 | <&ToxicFrog> | Pressing a verb-keybind while on the map screen sends <verbs> to your surroundings and then shows only the objects that support that verb. |
21:39 | <&ToxicFrog> | So e.g. pressing \g shows all gettables, \e shows all equippables. I can even have this show things from both the inventory and your surroundings. |
21:39 | <&ToxicFrog> | (picking things up is a free action in Dredmor, so there are no unfortunate timing implications in equipping or eating stuff off the ground) |
21:40 | <&ToxicFrog> | In general, I think I should be using methods less and messages more, especially since questions like "how much damage does this entity do" may involve interrogating multiple components |
21:41 | <&ToxicFrog> | But in order to do that I think I need to come up with a good way for messages to return values. |
21:41 | <~Vornicus> | no five-second rule? |
21:41 | <&ToxicFrog> | I mean, they can always send replies, but that gets really ugly, really fast. |
21:42 | | gizmore|2 [kvirc@Nightstar-5o5rtj.dip0.t-ipconnect.de] has quit [Operation timed out] |
21:43 | <&ToxicFrog> | The current idea I'm toying with is that each message handler is passed whatever the previous one returned, and whatever the last one returns is what's returned from the send() |
21:43 | <&ToxicFrog> | This does mean that whatever they do to the initial value to build up the return value has to be commutative, though |
21:43 | <&ToxicFrog> | Since there are no guarantees as to the order in which message handlers are invoked. |
21:44 | <&ToxicFrog> | That said, everything I can think of offhand that I'd want to do with message return values involves either boolean or, set union, or vector addition |
21:44 | <&ToxicFrog> | So maybe it's ok? |
21:45 | <&ToxicFrog> | I don't thiiiink Dredmor has any multiplicative effects. |
21:45 | <&ToxicFrog> | (multiplication is commutative, but a mix of multiplication and addition is not) |
21:51 | | Kindamoody is now known as Kindamoody[zZz] |
21:52 | <&ToxicFrog> | There are some calculations that involve multiplication somewhere -- e.g. most spells have a cost of max(mincost, basecost - savvy*bonus) and a damage of (basedamage + spellpower*bonus) |
21:53 | <&ToxicFrog> | But in those cases you send a <stats>(savvy, spellpower) message and it adds up all the various things that make up those stats, and then you multiply. |
21:55 | <~Vornicus> | TF: apropos of little, factorio came out on steam -- and took the top spot for "percentage of reviews that are positive" |
21:55 | <~Vornicus> | Also: perhaps you can assign priorities to message handlers. |
21:55 | <&ToxicFrog> | I saw! |
21:55 | <&ToxicFrog> | And then evaluate them in priority order? |
21:55 | <&ToxicFrog> | -=============+ |
21:55 | <&ToxicFrog> | []q1ZAAAAAAAAAAAAAA |
21:56 | <~Vornicus> | Yeah. This is how Wordpress does it |
21:59 | <&ToxicFrog> | Possible. But if I can design things so that evaluation order doesn't matter, I will. |
22:10 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed] |
22:11 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
22:53 | <~Vornicus> | or you can, uh - present a structure that names the component that responded to the message and its response |
22:53 | <~Vornicus> | but that would require that you suss out the actual result from a bunch of component responses that honestly you shouldn't care about |
23:13 | <&ToxicFrog> | Yeah |
23:29 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
23:29 | | mode/#code [+o himi] by ChanServ |
23:29 | | jeroud [sid10043@Nightstar-h2b233.irccloud.com] has quit [Connection closed] |
23:30 | | Attilla [sid13723@Nightstar-ed0oqj.irccloud.com] has quit [Connection closed] |
23:30 | | jeroud [sid10043@Nightstar-h2b233.irccloud.com] has joined #code |
23:31 | | mode/#code [+ao jeroud jeroud] by ChanServ |
23:36 | | Attilla [sid13723@Nightstar-ed0oqj.irccloud.com] has joined #code |
--- Log closed Sat Mar 12 00:00:21 2016 |