Is it possible to just use one policy in a self-play setting?

I would like to ask is it possible to train an agent under self-playing setting but with just one policy to be trained? What are the foreseeable problems with such an implementation? My concern is as such: suppose agent A starts off as in role 1, and later goes role 2 (which is role 1’s opponent) after a few iteration. When A switches to role 2, it might use the information gained when A was in role 1 to its current role’s advantage. And after another few iterations when A switches back to role 1, A might use the information gained when A was in role 2 to its current role’s advantage. This is because we assume there is just one policy for agent A, so the weights are updated and kept when A switches its role. The information gained can be things such as new strategies learnt, new information gained (when the agent’s knowledge of the environment is incomplete), etc. So a more sensible way of training I think would be using two agents A and B with two separate policies to train – more like in a generative adversarial network setting in some sense. But then by definition this is not considered as self-play isn’t it?

Add-on: So relating to the case of Alphazero playing chess, if the agent is really just playing with itself, despite chess belongs to the so-called perfect information game, but the opponent’s thoughts/strategy/decision making process should be still unknown to the player. But if my assumption of how self-playing is true, then the agent A will have the thoughts/strategy/decision making process of role 2 when it is in role 1. Isn’t that cheating (because in reality those knowledge are not attainable; rather one can only guess what are those information from its opponents)? (I haven’t read through the Alphazero paper yet because I am not proficient enough to understand those technical details, so I would really appreciate it if anyone could explain the relevant part to me)

Setting up secure personal system for managing sensitive data and high volume trading

So I’ve been mining and investing bitcoin for almost 5 years, and have reached the point where the volume of cryptocurrency I manage demands I take the time to create a secure cloud environment and set up a secure laptop. The fact that I handle some assets for family and close friends makes this need ever more pressing.

More generally, I am looking to establish a more secure digital presence, and believe an environment I can trust is the place to start. I should be able to trust this set up for any application (within reason, I’m not smuggling state secrets).

I have a beginner’s understanding of security principles, and experience in software. I am comfortable with less user friendly UIs and know my way around a terminal. I’m willing to put 10-20 hours into setting this up, and am ready to familiarize myself with material if necessary. This is what I’m looking for:

  1. Remote system with solid hard drive encryption. Nothing crazy, I’m thinking 256 bits, generating a random sequence of words that I will be able to memorize. I want to minimize the data that is left vulnerable when I connected, such that I don’t have to worry about theft after logging in.

  2. Encrypted traffic and browsing from cloud system, an anonymous VPN or Tor would be ideal.

  3. Backup mechanism. I need to be able to access the system from any trusted computer, in the event of damage to the laptop.
  4. Firewall settings on laptop that allow only traffic to and from cloud environment. Essentially a close to cold system with only one connection, SSL.
  5. Disabled/non-existent physical ports to protect from malicious software and USB killer type things. I am thinking a VM instance for the cloud side, but I have no experience in dealing with that stuff, so I need some guidance. On the physical end, I don’t really know where to start, and would very much appreciate any help.

I know this may sound like overkill, but rest assured I’m not a paranoid maniac, I just want to make sure security is not a concern.

Setting NS for Subdomain to Another Hosted Zone with Same Apex Domain

Suppose I own example.com.

I delegate the subdomain www.example.com to a particular set of NS that is say a Route53 Hosted Zone. The rest of the example.com zone is not on R53 and contains important information for other subdomain/records. You can consider this Zone 1, and you can consider the new R53 Hosted Zone as Zone 2.

I want to have www.example.com CNAMEd to a particular endpoint, say a cloudfront distribution. Since I can’t CNAME the apex domain, instead hosted zone 2 is created in R53 with the original apex domain: example.com. Then, inside that hosted zone, there is a record for the subdomain www.example.com with the CNAME to xxx.cloudfront.net.

I can’t directly configure www.example.com with the CNAME in hosted zone 1 for various reasons, including that the CNAME is always changing and the person controlling the CNAME only has control over zone 2.

So the full chain looks like this: User types in www.example.com, they get NS hosted 1 records. In that zone, the record for www.example.com points to Hosted zone 2 records. In this zone (which was created with apex example.com) the record for www.example.com is a CNAME to the proper endpoint.

My question: will any DNS resolvers mistakenly cache the NS from the second zone as apex domain records? Obviously, I want those NS accessed only for the www.example.com records. If example.com NS records are mistakenly thought of as in hosted zone 2, there can be a lot of issues.

If this is the case, is there any way to make sure to DNS resolvers that the apex domain nameservers are zone 1, and zone 2 records are ONLY for www.example.com, even though they were created with the example.com apex domain?

I understand that there are other ways to do this (CNAME to separate domain, etc) but for logistical purposes (for now) I am only interested in setting the NS directly for the www subdomain.

Setting different steps for Y-Axes of ListPlot

I am trying to set the scaling interval of my Y-Axes different than Mathematica automatically does. So in steps of 1000 instead of 2000 (see picture)

At the moment I determined following PlotRange:

PlotRange -> {{1, 10}, {0, 8000}} 

enter image description here

Is there a simple option?

To get an overview over the command:

ListPlot [   MapThread[    If[Or[#1[[1]] === 3., #1[[1]] === 8.],       Callout[Tooltip[#1, #2], #2], Tooltip[#1, #2]] &, Annotated2],    FrameLabel -> {"Happiness Score",      "Education Expenditure (per capita)"}, Frame -> True,    GridLines -> Automatic, LabelStyle -> {GrayLevel[0]},    PlotRange -> {{1, 10}, {0, 8000}}] // Framed 

Setting up micro-transactions with UE4 and Steam

we have released a project (on Steam) and looking to add micro-transactions to it. We have no idea how to set up the server that would handle transactions. Could you explain the steps? Do we have to rent a dedicated server? Or should we buy hosting? Where in the server would we write what to do? Which folder, which filename, which code? I am giving a lot of different questions because apparently there is no documentation on doing this available so we are fully unaware of the process, as being game developers we have zero experience with web development and have no idea where to start looking, we just need a simple instruction on how to set up in game purchases on Steam. Do not recommend looking through the Steam SDK example – it reassure you it does not contain on how to set up servers.

Setting up second SSL certificate breaks images on first site

I have set up a new website and a new domain within my web space, but it appears that in doing so images on the original website have broken and I’m not sure how to rectify it.

The new website is located within a /p1/ folder of the root (https://www.p1-consulting.co.uk).

The original website is https://www.touringcars.net and runs WordPress, installed in the root directory.

TouringCars.Net has been running on an SSL certificate for several years now just fine.

I have now bought the new domain for P1 and an SSL certificate for it. But since doing so, images on TouringCars.Net are not displaying.

The .htaccess file in the root contains this rule:

RewriteCond %{HTTPS} !on RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$   https://www.touringcars.net/$  1 [R=301,L] 

Have I messed up in setting up the new P1 domain / SSL to affect the TouringCars.Net website?

Dragon Rider PRC question (DragonLance Campaign Setting)

Dragon Rider PRC (DragonLance)

Does the the bonus hit dice your dragon gains also apply to his age and/or size going up as well? IE: say a 17HD copper dragon (Large, Young Adult) get to apply his 8 bonus hit dice, does he then become a 25HD equivalent (Huge, Mature Adult, increased SR and caster level, etc)?

I wonder because some of the bonus feats in the PRC require you to be Huge size (Snatch) or a 10th level caster (Quicken Spell-Like Ability).

The section in the PRC does discuss the Bonus Hit Dice, but does not state if the age/size goes up or not. Also anyone know of any errata for the DragonLance Campaign Setting?

Is this proposed change to the Transmutation Wizard’s Master Transmuter class feature balanced for a setting without resurrection? [Version 2]

In my previous iteration of this question, I proposed a replacement for the Master Transmuter option Restore Life. the feedback I received identified that it was too powerful, so I have a new, much simpler proposal. The brief description below outlines the problem; see my other question for a more detailed explanation.


The School of Transmutation wizard archetype has a feature at level 14 called Master Transmuter. It can allow such a wizard to, once per long rest, destroy their transmuter’s stone and do one of a handful of options, one of which is:

Restore Life. You cast the raise dead spell on a creature you touch with the transmuter’s stone, without expending a spell slot or needing to have the spell in your spellbook.

Unfortunately, in my homebrew universe, there is no resurrection magic, so I’m looking into replacing this option with something homebrew that is not related to resurrection, but still at least broadly fits the theme of “Restore Life“.


Still considering greater restoration, I wonder if it would be balanced to simply allow Restore Life to cast it instead of raise dead, a direct trade with no other additions (i.e. not a “super charged” version like I proposed before)?

Restore Life. You cast the greater restoration spell on a creature you touch with the transmuter’s stone, without expending a spell slot or needing to have the spell in your spellbook.

My reasoning behind believing that this might be balanced, in light of the feedback, is a) it’s a 5th level cleric spell like raise dead, and b) it is not usually available to wizards, same as raise dead.

One the other hand, I’m concerned that this might be a bit weaker than the RAW raise dead version of Restore Life (after all, once you’re dead, greater restoration can’t help at all), so if that is true, I’m also considering waiving the costly material component of the greater restoration spell if cast in this way, since it seems you do need it for the raise dead version. If this is not weaker (or waiving the material component would make this vastly more powerful), then I won’t do that.


So my question is, in a setting where there is no resurrection magic, does my new proposed replacement of the Restore Life option of the Master Transmuter class feature seem balanced?
Ideally contrasting with and without my “waive the material costs” suggestion.

Setting SteamVR Camera Target Eye before SteamVR installed in Unity

I’m writing a plugin that can be used in both VR and non-VR projects. I have a Camera that is used to display UI containing some game info on a secondary monitor. My problem is that when the end-user adds my plugin and then imports steam vr, this UI camera’s Target Eye is set to “Both” by default.

I can’t have any SteamVR code in my plugin. But I can’t adjust Target eye property of the camera without it. I just want it so that the camera doesn’t change when a user imports SteamVR. I want it to always render to the main display (target eye = none)

So just to clarify,

  1. I have my plugin, written in a non-vr project with a standard Unity camera. There is no Target Eye setting for this standard camera.
  2. User wants to use it in VR project, imports plugin into SteamVR Project
  3. Camera used to render UI gets automatically converted (wrongly) into SteamVR camera
  4. Defaults to Target Eye = Both
  5. Need it to be Target Eye = None

At the moment to avoid users submitting countless bug reports, I have to provide warnings in like 6 places telling users to dig way into my built-in prefabs to adjust this setting manually if they use SteamVR. It’s not easy for new Unity users, and I want to make adoption as easy as possible.

Is this proposed tweak to the Transmutation Wizard’s Master Transmuter class feature balanced for a setting without resurrection?

The School of Transmutation wizard archetype has a feature at level 14 called Master Transmuter. It can allow such a wizard to, once per long rest, destroy their transmuter’s stone and do the following:

Restore Life. You cast the raise dead spell on a creature you touch with the transmuter’s stone, without expending a spell slot or needing to have the spell in your spellbook.

Unfortunately, in my homebrew universe, there is no resurrection magic, so I’m looking into replacing this option with something homebrew that is not related to resurrection, but still at least broadly fits the theme of “Restore Life“.

Unlike in my similar question about replacing resurrection related class features, I do actually have a player who has a transmutation wizard (they are currently “retired”, but the player is strongly considering “unretiring” them in the near future, so this character will almost definitely come back at some point and isn’t far off level 14); this player is also strongly in the camp of “resurrection magic cheapens death”, so they are definitely up for replacing this option of the class feature.


Given that it is called “Restore Life“, I considered replacing it with some kind of healing (say, the heal spell), but then noticed another option that the Master Transmuter feature offers:

Panacea. You remove all curses, diseases, and poisons affecting a creature that you touch with the transmuter’s stone. The creature also regains all its hit points.

So healing would look a bit redundant and underwhelming compared to that option.


Finally, I looked towards greater restoration, since a) it’s a 5th level cleric spell like raise dead, and b) Panacea is kind of like a super charged lesser restoration, plus healing. So I have come up with the following (a “super charged greater restoration“):

Restore Life. You end all reductions to all of the target’s ability scores and hit point maximum, and end one effect that imposes the petrified condition on the target.

I’ve not included the greater restoration spell’s removing curses (since I didn’t want overlap with Panacea) or ending charmed effects (because it doesn’t really fit the theme of restoring life). I also haven’t included regaining any hit points because I thought that might be too powerful compared with Panacea if it also healed the target (although I could have it at least restore hit points equal to the reduction of their hit point maximum, if it was reduced at all).


So my question is, in a setting where there is no resurrection magic, does my proposed replacement of the Restore Life option of the Master Transmuter class feature seem balanced, primarily comparing it to the raise dead spell and the Panacea option?