Skip to content

How to Become an Achievement Developer

The purpose of this document is to provide guidance on how to join the Junior Developer program and explain some helpful information to assist in development of an achievement set.

Anyone can become a RetroAchievements developer if they put in the effort.

Junior Developers are required to join the RetroAchievements Discord server. The server is where the Junior Developer program is administered. If you already know what game you want to work on, go ahead and ask for the Jr-Dev role in #role-request forum by creating a post tagged as Jr-Dev, posting your set plan for the game (you can use one of these templates), and pinging @Code-Reviewer role for set plan approval and Junior Developer program indoc.

Make sure to first get your account verified by following instructions in #welcome if you haven't already.

Finding a Game to Work on

Follow the guidelines on the Developer's Code of Conduct to find a game. Ensure the game complies with the Rules and Restrictions before working on achievements.

Planning your Achievement Set

Once you find a game to work on you need to plan your Achievement Set. Before claiming a game on site, Junior Developers must submit a set plan for approval in the #jr-dev-forum.

Be sure you know enough about the game to make a good set. Check the GameFAQs, wikias, watch longplay videos and try to learn more about the game, its secrets and details.

It's recommended that you post your plans on the official game's forum topic, so the community can leave suggestions and provide feedback.

IMPORTANT!: be open to receive feedback and suggestions.

See also: Achievement Design. It's an extensive guide on how to design good and interesting achievements. It's not about the technical side but the conceptual.

Claiming a Game and Beginning Development

Once a set plan has been approved by a Code Reviewer, Junior Developers may claim the game and begin development. To claim a game, it must have a forum topic. If it doesn't have one already, you can ask a Code Reviewer to make one in the #jr-dev-forum in our Discord server.

We recommend developing your first achievement set with a game that has 10 or fewer set requests. This allows you to focus on the learning process and refine your skills, as initial achievement sets often benefit from iteration. A smaller audience also helps manage initial support requests, preventing a sudden influx of tickets.

Required Knowledge

Every developer must know at least the basic concepts and techniques shown in these two docs:

  1. Getting Started as an Achievement Developer
  2. Achievement Logic Features

Junior Developer program graduates must demonstrate proficiency in the following concepts:

Helpful initial topics to study:

The Real Examples and Achievement Templates pages are useful resources to see how those techniques work.

Requesting a Code Review

After creating the achievement set, publish it to Unofficial and then create a post in #jr-dev-forum. Follow all of the requirements for requesting a Code Review.

When Will I Be Promoted to Developer?

Code Reviewers are charged with ensuring that graduates of the Junior Developer program will be value-added RetroAchievements developers. Being a developer is not a right nor an entitlement. It is important for the health of the project that developers be skilled, trustworthy, good teammates, and able to produce high quality achievement sets with little to no supervision.

The Code Reviewer team will consider a Junior Developer for graduation largely based on their assessment of the following criteria:

  • Their ability to publish work that meets or exceeds the standards of the Developer's Code of Conduct
  • The quality and complexity of their work
    • High quality is defined as strong set design, writing, badges, code notes and achievement logic
  • The time and thought they put into planning and working on achievements
  • Showing the will to use the Developer status with care and responsibility

Changelog

Released under the GPL-3 License. There are no copyright-protected ROMs available for download on RetroAchievements.