This paper presents the "Multi-Role Project" method (MRP), a broadly applicable project-based learning method, and describes its implementation and evaluation in the context of a Science, Technology, Engineering, and Mathematics (STEM) course. The MRP method is designed around a meta-principle that considers the project learning activity as a role-playing game based on two projects: a learning project and an engineering project. The meta-principle is complemented by five principles that provide a framework to guide the working practices of student teams: distribution of responsibilities; regular interactions and solicitations within the team; anticipation and continuous improvement; positive interdependence and alternating individual/collective work; and open communication and content management. This paper presents the implementation of MRP in a course teaching software engineering, UML language, and project management. The results show that MRP helped the course's students to acquire important professional knowledge and skills, experience near-real-world professional realities, and develop their abilities to work both in teams and autonomously.