Developing interaction rules/protocols among multiple agents is one of the central research topics in multi-agent systems. For cooperative agents, we need to develop protocols so that agents can achieve some common goal if they follow the protocol. Also, for competitive/selfish agents, we need to design mechanisms/protocols so that some socially desirable outcome can be achieved, even if agents act selfishly. This article presents a brief overview of the author’s works on this topic over the last five years.