--- Log opened Mon Oct 28 00:00:08 2019 |
00:51 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
01:32 | | Derakon[AFK] is now known as Derakon |
02:40 | | Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
03:01 | | Degi [Degi@Nightstar-u87g98.dyn.telefonica.de] has quit [Ping timeout: 121 seconds] |
03:10 | | Degi [Degi@Nightstar-nipc2c.dyn.telefonica.de] has joined #code |
04:05 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
04:07 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
04:09 | | Vorntastic [uid293981@Nightstar-2dc.p8m.184.192.IP] has joined #code |
04:10 | | mode/#code [+qo Vorntastic Vorntastic] by ChanServ |
04:12 | | Derakon is now known as Derakon[AFK] |
05:25 | | celticminstrel [celticminst@Nightstar-ocfc15.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:27 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has quit [Ping timeout: 121 seconds] |
06:52 | | Kindamoody[zZz] is now known as Kindamoody |
09:08 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code |
09:08 | | mode/#code [+o himi] by ChanServ |
10:17 | <@ErikMesoy> | What's the suggested Java collection type/data structure to use, when tracking which nodes in a graph are connected to which other nodes? |
10:52 | <~Vorntastic> | In other languages I'd use a list<set<int>>, or if there's additional data, list<pair<node, set<int>> |
10:53 | <~Vorntastic> | Or dict<keytype, set<keytype>> |
10:54 | <~Vorntastic> | For very dense graphs (say, average degree higher than half the order of the graph) you might be better off with an adjacency matrix |
10:55 | <~Vorntastic> | I don't know the precise details of java types |
11:12 | <@ErikMesoy> | There's a three-digit number of nodes and each is connected to a one-digit number of other nodes, for what that's worth |
11:17 | <~Vorntastic> | Ok. |
11:44 | | Kindamoody is now known as Kindamoody|afk |
12:18 | | celticminstrel [celticminst@Nightstar-ocfc15.dsl.bell.ca] has joined #code |
12:18 | | mode/#code [+o celticminstrel] by ChanServ |
12:53 | | celticminstrel is now known as celmin|away |
13:26 | <@sshine> | ErikMesoy, Map<Node, Node>? |
13:32 | <&ToxicFrog> | sshine: it would have to be a multimap. Map<Node, Set<Node>>. |
13:39 | <@sshine> | oh, right. |
13:45 | <&ToxicFrog> | Which is probably what I would use, given the stated graph size. |
13:48 | <~Vorntastic> | Beware |
13:50 | <~Vorntastic> | Doing it by reference will make the connection map highly circular. You will leak large objects each time you drop a graph until gc catches it |
13:53 | <~Vorntastic> | I blew up vornonoi -- though I grant that was lua -- with regularity until I switched to indexes |
13:54 | <&ToxicFrog> | The JVM uses mark-and-sweep and AFAIK has no refcounting aspect. |
13:54 | <&ToxicFrog> | Same deal with lua, although IIRC it lacks some of the optimizations JVM has like generational collection. |
13:58 | <~Vorntastic> | Refcounting is pre-"gc" in both of these, from what I am aware |
14:00 | <~Vorntastic> | I know that love2d would literally run out of memory if I didn't police my brass. |
14:01 | <~Vorntastic> | (but once I did - with either a manual finalizer or by simply not generating references - my memory usage was near-constant for the 60fps sector generator) |
14:23 | <&ToxicFrog> | That's weird and interesting. |
14:26 | <&ToxicFrog> | Lua doesn't refcount at all; it's incremental pure mark and sweep with some tuning parameters to control how often the gc ticks and how much work it does per tick. What did the "manual finalizer" do? |
14:27 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
14:27 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
14:28 | | * TheWatcher notes that "manual finalizer" sounds like a euphemism for a hitman. |
14:36 | <~Vornicus> | the manual finalizer emptied all the tables; each table had references to other tables: each edge table has a reference to the vertex at its start, the face at its left, the next edge forward around the face, the previous edge backward around the face, and the twin edge that is "the same edge" but in the opposite direction and attached to the other face. |
14:38 | <~Vornicus> | (and then face tables and vertex tables each refer to one of the edges; face tables also had a reference to the matching hierarchical face and vice versa, and each hierarchical face had references to child hierarchical faces and also its three vertices) |
14:39 | <~Vornicus> | And then when I was also generating the dual I also had edge <-> dual edge, face <-> dual vertex, vertex <-> dual face, and the dual had everything above except the hierarchy |
14:41 | <&ToxicFrog> | What this sounds like is that a reference to at least one of those tables (and thus by implication the whole thing) was left dangling somewhere |
14:42 | <~Vornicus> | There wasn't. Each vornonoi object was referenced exactly once outside its own object; that reference was deleted every 1/5 second |
15:06 | | * TheWatcher feels vaguely bad linking this, but finds it pretty neat anyway: https://observablehq.com/@mbostock/hover-voronoi |
15:15 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
15:17 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
15:20 | <~Vornicus> | *examines code* oh, okay, so it's doing it the easy way |
15:21 | <~Vornicus> | (it replaces the voronoi diagram with a new one each frame, so it doesn't have to know how to remove points) |
15:22 | <~Vornicus> | (I don't know how to do that) |
16:04 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
16:06 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
16:09 | | Vorntastic [uid293981@Nightstar-2dc.p8m.184.192.IP] has quit [[NS] Quit: Connection closed for inactivity] |
16:21 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
16:59 | | Pink` [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
17:02 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
17:05 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
17:05 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
17:07 | | Pink` [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
17:38 | | Derakon[AFK] is now known as Derakon |
20:14 | | VirusJTG_ [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
20:14 | | KiMo|autorejoin [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
20:14 | | mode/#code [+o KiMo|autorejoin] by ChanServ |
20:15 | | mac [macdjord@Nightstar-rslo4b.mc.videotron.ca] has joined #code |
20:15 | | mode/#code [+o mac] by ChanServ |
20:17 | | macdjord [macdjord@Nightstar-rslo4b.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
20:17 | | Kindamoody|afk [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
20:17 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Ping timeout: 121 seconds] |
20:40 | | KiMo|autorejoin is now known as Kindamoody |
21:07 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
21:07 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
21:58 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
22:31 | < Mahal> | https://pulsesecurity.co.nz/advisories/untitled-goose-game-deserialization |
22:32 | <&McMartin> | HONK |
23:03 | < Yossarian> | "Untitled Goose Game used the dotnet BinaryFormatter to read and deserialize save game files." |
23:04 | | * McMartin steals all the stack frames, throws them on the heap |
23:04 | <&McMartin> | Yossarian: Yes, it's written in Unity, that means it uses .NET libraries |
23:05 | < Yossarian> | It's a feature (TM)! |
23:05 | <&McMartin> | The bug isn't in BinaryFormatter, it's in telling to to trust the data implicitly |
23:05 | <&McMartin> | This looks like more or less the same attack you use to root your Wii with Twilight Princess |
23:06 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
23:08 | < Yossarian> | That's funny, I was just thinking about rooting consoles with load function not sanitizing or treating the savegame data in a special way. |
23:10 | < Yossarian> | Are these methods in the dynamic libraries .NET specific or Unity specific? |
23:11 | <&McMartin> | I don't know offhand. |
23:11 | < Yossarian> | Maybe I'm getting rusty but the idea of such a high-level function to serialize game data that's already made, I dunno. |
23:11 | <&McMartin> | This sounds not entirely unlike the stuff in java.io,Reader, though. |
23:12 | < Yossarian> | Explains why lotsa software is pretty crappy these days. |
23:12 | <&McMartin> | Not sure what you think the alternative is |
23:12 | < Yossarian> | I'm a sadist so I'd probably try to roll my own serialization and de-serialization methods. |
23:12 | <&McMartin> | This case is a binary parser routine |
23:12 | <&McMartin> | Yeah, that's a good way to make bugs that don't show up in standard tools~ |
23:12 | < Yossarian> | yeah the issue is that it treats de-serialization as binary data, ya? |
23:13 | <&McMartin> | And then serializing memory directly just stops working whenever you rebuild~ |
23:13 | < Yossarian> | or reading again, the use of BinaryFormatter |
23:13 | < Yossarian> | Looks like a bad call, in terms of design/writing. |
23:14 | <&McMartin> | That's something you can argue about for basically forever |
23:14 | <&McMartin> | Remember, you're feeding it bad data |
23:14 | <&McMartin> | If your XML format allows you to mismatch attributes with contents the deserializer might still overrun. |
23:14 | <&McMartin> | That kind of thing is the bug |
23:15 | <&McMartin> | Here, it's mentioning "TypeConfuseDelegate", which I suspect means that the attack does something like give a parent node the wrong children. |
23:17 | <&McMartin> | The attack appears to be on the Mono runtime here. |
23:17 | <&McMartin> | It is not clear to me how divergent Mono and stock .NET are now, since both are open-source at this point and controlled by the same company. |
23:17 | < Yossarian> | Hmm, maybe this is the rusty me talking again but seems like the serialization process is more advanced than just state data, serializing somewhat complex objects it seems as well. |
23:18 | < Yossarian> | well, state data might be wrong choice of words |
23:18 | <&McMartin> | I'm extrapolating based on my experience with Java and Objective-C here... |
23:18 | <&McMartin> | ... but I think this is the kind of serializer that can correctly serialize and recreate object graphs that have cycles in them |
23:20 | < Yossarian> | In my past experience, it has always served me well to create the simplest code first and get it working and then focus on more detail. I'm not familiar with this particular game or Unity but it seems like what is serialized might be overkill for a save game, but I dunno. |
23:21 | < Yossarian> | That's the thing with high-level languages like Java, Objective-C, et cetera... |
23:22 | <&McMartin> | Obj-C is less 'high-level' and more 'has libraries' |
23:22 | < Yossarian> | With high-level stuff and in my experiences with Java, it is very easy to create quite a mess because of the high-level and how OOP is approached by the language. |
23:23 | <&McMartin> | For the kind of binary deserialization you're describing yourself as wanting to do, python's "struct" module pretty much does all of that and you would be heavily criticized for rolling your own. |
23:25 | < Yossarian> | On the other hand, being able to serialize that much data in high detail and even recreate the stack, object graphs, etc makes me think that I haven't seen a game outside of an emulator where a save is actually the state of the game, well, furthermore, in an emulator that shoots for architectual accuracy and also tries to capture the idiosyncracies of the hardware |
23:25 | < Yossarian> | being able to do that is pretty cool |
23:25 | <&McMartin> | Um |
23:25 | <&McMartin> | Pretty sure you have! |
23:25 | <&McMartin> | That's how quicksaves work in almost every FPS since Quake |
23:26 | <&McMartin> | Now, sometimes they don't quite hit all the points, but those are acknowledged as glitches and the bug was that it didn't capture enough of it |
23:27 | <@Alek> | not just FPS. I've seen quicksaves in sidescrollers, I'm pretty sure... |
23:27 | < Yossarian> | Ah, I suppose you're right. Although some games do take shortcuts with quicksaves, I can't remember but there are some titles where quicksave and loading has unintended side-effects. |
23:27 | <&McMartin> | (We may be talking past each other here; they aren't full memory dumps because such a save would not be transportable across architectures. But they are usually "have the entire game state in one structure and the current stats and locations of every object in the world graph in another, then write those all out" is quite common) |
23:28 | <&McMartin> | Alek: Earliest example I can think of is Commander Keen IV. |
23:28 | <@Alek> | haven't played that series... |
23:28 | <&McMartin> | I *think* Keen 1 just stored which levels were beaten and where you were on the map |
23:28 | <&McMartin> | IV is the only one that actually holds up to modern eyes, IMO. |
23:28 | <@Alek> | I do have the Complete Pack on Steam... |
23:28 | < Yossarian> | I can't think of the title but there was one where quicksave and load would unintentionally remove your effect statuses (RPG) |
23:28 | <&McMartin> | The Keen series as a whole had the flaw common to Shareware where the free demo episode has all the cool stuff to entice buyers and the followup episodes, well, they already have your money. |
23:29 | < Yossarian> | and such things like that |
23:29 | <&McMartin> | Yossarian: Oh, the Elder Scroll engines are infamous for this as well |
23:29 | < Yossarian> | Morrowind, maybe? |
23:29 | <&McMartin> | Certain kinds of save/load setups where you end up suddenly rocketing around at a thousand miles an hour |
23:29 | < Yossarian> | I was thinking of Elder Scrolls games when I'd said that :) |
23:29 | <&McMartin> | Any% Skyrim speedruns involve ramming a horse into the ground and thus moving at warp speed |
23:29 | <@Alek> | I seem to remember at least one game where quicksaving didn't store your health state so you always restored with full health, but that's more common with checkpoint games. |
23:30 | <&McMartin> | Yeah, and there were some other cases where some progress was lost but others was not and it was always infuriating. |
23:30 | <&McMartin> | The last game I played that I got mad at for this was Bio Menace, but it's very old also not good |
23:30 | <&McMartin> | I eventually hex edited my saves to beat it because screw you too, buddy |
23:32 | <@Alek> | checkpointing can actually be annoying too, I just finished replaying a game where there's one checkpoint that saves you before you step through a one-way door but restores you AFTER that door... And there's a missable secret in the room leading to the one-way door, too. |
23:32 | < Yossarian> | I like playing games and finding interesting quirks in the code, even before I started writing code. Morrowind was the first Elders Scrolls game where you could abuse the intelligence stat for potion making by driking potions of intelligence and stack it, I discovered this independently although it was probably already known and probably on GameFAQs. At the time, on a hunch, I wondered since |
23:32 | < Yossarian> | intelligence directly effected crafted potion efficacy and soon I was making potions of agility so high I'd jump past the skybox and crash the game. |
23:33 | <@Alek> | ha |
23:33 | <&McMartin> | Yup, the Intelligence Ramp is a classic Morrowind strat. |
23:33 | <&McMartin> | It's, like, 4 hours long |
23:33 | < Yossarian> | Toned it down a bit and jumping through several zones is pretty funny. This was before speedrunning was a thing, I believe, so... |
23:33 | <@Alek> | the related Cross-Skill Ramp in Oblivion is also a thing. |
23:33 | <&McMartin> | But GamesDoneQuick Express 2019 has a heavily yet comprehensively glitched run of Paper Mario: The Thousand Year Door that you may enjoy. |
23:34 | <&McMartin> | It even involves some glitches that carry across "load a different game"! |
23:34 | <@Alek> | hwut |
23:34 | <&McMartin> | Which seems to be very rare for console games |
23:34 | < Yossarian> | Oh and I ended that experiment by, forget who the big bad in Morrowind is but stacking int to get strength and one-hitting him. |
23:34 | <&McMartin> | Yossarian: Yep! |
23:34 | <&McMartin> | I think any% runs of Morrowind are like five minutes |
23:34 | <&McMartin> | Also fun: because of the way it wants motion to look roughly the same regardless of where the camera is |
23:34 | < Yossarian> | The weird sneak/steal mechanic in Morrowind and that potion or scroll of jumping you find on that wizard who falls to his death I believe gave me the idea. |
23:35 | <&McMartin> | Taller characters move faster, so speedruns always pick the tallest race so that you get to the broken parts faster. |
23:35 | <~Vornicus> | i find myself wondering: is there a game and situation where you can jump high enough on flat ground that you get fall damage when you land |
23:35 | <@Alek> | now I'm reminded of reading of some cheats for Genesis that abused "load a cartridge, while the game is loading pull the cartridge out and insert a different one"... |
23:35 | <&McMartin> | https://www.youtube.com/watch?v=i4dc4fyqGVc |
23:35 | <&McMartin> | Vornicus: Pretty sure that was a gag in either Morrowind or Oblivion |
23:36 | <&McMartin> | You leave the noobtown and some dude comes flying screaming out of the sky and falls dead at your feet. |
23:36 | <&McMartin> | You of course then loot the body, and find he was wearing seven league boots. |
23:36 | <&McMartin> | Which you can put on, and jump incredibly high! |
23:36 | <&McMartin> | It does not grant immunity from falling damage. |
23:36 | <~Vornicus> | nice |
23:36 | < Yossarian> | There is a game you guys probably haven't played that had a very obvious problem, it was a jet fighter sim, cannot remember the title name, had F-22 in it but if you rolled the aircraft in a certain way you'd increase your speed and you'd get up to IRL Mach levels that were ridiculous, around Mach 4-5 game tended to crash, heh. |
23:37 | < Yossarian> | <&McMartin> You leave the noobtown and some dude comes flying screaming out of the sky and falls dead at your feet. |
23:37 | < Yossarian> | That's the guy, it was a funny joke and even without cheesing the game, it was a neat thing. I mean, Arena or Daggerfall never had anything like that. Daggerfall spooked me as a child. |
23:39 | < Yossarian> | Talk about a buggy engine, that Daggerfall... falling through the floors of the dungeons at random. Saving was imperative. Also, have there been Elder Scrolls games since where you could choose between vampirism and lycanthrope...ism? |
23:39 | <~Vornicus> | opy |
23:39 | <@Alek> | Oblivion had vampires, don't recall lycans. |
23:39 | <@Alek> | ESO has both, you can get either, both, or get cured. |
23:40 | < Yossarian> | I saw someone at GDQ I think do a Elders Scrolls back-to-back speedrun, I think Arena might have been skipped and Daggerfall was the starting title. |
23:40 | <@Alek> | players who have either can, once a week, infect someone else of their choice. or you can just buy your own on the Crown Store if you're impatient. |
23:41 | <@Alek> | the vampire thing gives you a pale look that some RPers prize. |
23:41 | < Yossarian> | Is ESO an MMO like Everquest or Guild Wars or neither? I've lost my joy of games as I've gotten older and more stressed out, I guess. |
23:42 | <@Alek> | I've not played Everquest. not like GW, though, more like GW2, in that it's open-world. |
23:42 | < Yossarian> | Everquest / WoW / typical MMO fare I suppose. |
23:43 | | Kindamoody is now known as Kindamoody[zZz] |
23:43 | < Yossarian> | You're making me nostalgic, the first MMOs I've played were Merridian 59 and The Realm (Sierra Online) |
23:43 | <@Alek> | however, any given part of the open world can have secret instances, people who have not done a given story quest will see and be in one version while people who have, will see and be in a different version. |
23:43 | < Yossarian> | Realm still has servers up, I think? |
23:44 | <@Alek> | NPCs being instanced based on quest completion was done before, I'm pretty sure, but map section instancing was new to me. |
23:44 | < Yossarian> | They might both be the first MMOs that were MMOs and not MUDs, but I'm not quite sure. I remember being young and seeing people get married in The Realm was trippy as hell. |
23:45 | <@Alek> | in an open world, anyway. |
23:46 | <~Vornicus> | whyats the difference anyway |
23:46 | <@Alek> | ? |
23:46 | <~Vornicus> | between mud and mmo |
23:46 | <@Alek> | Multi-User Dungeon, Massively Multiplayer Online... hmm. good question, actually. |
23:47 | < Yossarian> | The coolest thing about The Realm was PVP and how player houses were handled. You could go to anyone's house if you typed their nameand since the game's graphics worked on sprites on a 2d plane you could go hide behind the tree in someone's house and do invisibility, if they were online and decided to visit their house, you run in the door behind them. On dialup you had good chances. They |
23:47 | < Yossarian> | eventually had to add a button that banished all players from their property that appeared when home. Lots were too lazy to just use it right away just in case |
23:47 | < Yossarian> | and every house graphically had the same set/2d scene, however it was custom to decorate your outside with flowers or wolf pelts or something |
23:48 | <&McMartin> | Vornicus: MUDs came first, basically |
23:48 | <@Alek> | hm. quick google says MUDs were text-only but MMOs have at least some graphical elements, even text-based one MMOs. |
23:48 | < Yossarian> | getting into someone's chest while invisible or ganking their fancy pelts added an aspect of criminality to the game that gave one something to do other than grind I guess what we now call instances and particular zones |
23:48 | <@Alek> | I'm dubious but too lazy to keep looking. |
23:50 | <@Alek> | while we're on the topic of classic gaming, Diablo+Hellfire is on sale at GoG, 8.49 |
23:50 | <~Vornicus> | yep. that's a cow all right |
23:50 | <~Vornicus> | Hellfire made duping vastly easier. I can't pretend it's not intentional |
23:50 | < Yossarian> | I quit MMOs after WoW beta and then release, I had all the time in the world to play because I was having ah, I guess social problems or mental health, social anxiety disorder; around the time I quit freshman year WoW came out. I did have teachers come to my house and then I did go back and finish school but WoW not allowing Paladins to smite undead players in PVP zones in battle like the beta |
23:51 | < Yossarian> | was ugh |
23:52 | < Yossarian> | But after my third max level character (60 at the time) and battlegrounds came out, I was pretty jaded. Go wait in a queue and PVP in a safe space to gain rank to wear items you can only use... in PVP? I bounced after that, never looked back. If there were MMOs that were "dangerous" again and less grindy, I'd be down. Ultima Online had pretty big consequences for death, didn't it? |
23:53 | < Yossarian> | I think I remember my uncle's fiance at the time dying by making some mistake in UO and she was pissed |
23:53 | <&McMartin> | Well |
23:53 | <&McMartin> | It basically turned the game into an organized crime simulator where you were most likely not one of the gangsters |
23:53 | <&McMartin> | This is a bad experience! |
23:54 | <~Vornicus> | non-consensual pvp is a surefire way to make a game suck for people who aren't shithead |
23:55 | < Yossarian> | Well in UO you could cut down trees and craft a house? Honestly I liked Star wars Galaxies (before the expansions and before people found out the mundane secret to unlocking Jedi), I thought it was a good MMO with its similiar system to UO of skills and free-form economy |
23:56 | < Yossarian> | I heard strange things about Eve Online, like, in the same vein of SW:G or UO in terms of large swaths of human factions and economies emulating real life and having like, the largest battle in an online MMO or game of any type, ever. |
23:56 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has joined #code |
23:56 | | mode/#code [+o himi] by ChanServ |
23:58 | <&McMartin> | Yes, EVE was a game that was notable for widespread corruption and skullduggery |
23:58 | < Yossarian> | Vornicus: I understand that viewpoint but I like how The Realm did PVP. You could have PVP on in non-PVP areas and fight those who did the same, another option was to challenge duels I think in a safe area/non-PVP area and then there were areas that PVP was available for everyone, despite your set status. There were quite a few areas, lucrative for grinding, that were PVP enabled, soooo, you want |
23:58 | < Yossarian> | good loot, you have to take a chance. |
23:58 | <&McMartin> | "You want good loot, you don't get to keep it" |
23:58 | < Yossarian> | and death meant you dropped an item at random |
23:59 | <&McMartin> | UO in particular had the delightful property that logging out left all your items out in the world unguarded |
23:59 | < Yossarian> | that was it, I don't think you lost experience or skill or anything |
23:59 | <&McMartin> | So screw up guard shifts of actual real human beings and log in to find everything you own gone |
23:59 | <&McMartin> | Hope it didn't take you any time to get all that |
--- Log closed Tue Oct 29 00:00:10 2019 |