P.A.I.N.T. Logo

In this cooperative third-person shooter, you take control of the P.U.N.K.’s. Rebels that shoot their way through an evil factory with high-powered paint blasters. Sabotage the tyrannical corporation and fight your way through their factory to achieve the highest chaos score!

Trailer

Project Details

Websitepaint-game.com
EngineUnreal Engine 4
Development Time40 weeks
Team Size25 people
My RoleTech Lead
QA Lead
Programmer
TechnologiesC++, Blueprints, C#, Python, Batch
Target PlatformsWindows
PlayStation 4

Highlights

  • Managed programmers to a stable Steam release.
  • Responsible for QA pipelines.
  • Constant testing through CI/CD using Jenkins.
  • Setting up crash reporting.
  • Setting up Swarm review pipeline.

My contributions

Quality Assurance

Throughout the entirety of the project, I've been responsible for the technical side of quality assurance. I've been responsible for setting up our processes such as Helix Swarm reviews, setting up continuous integration using Jenkins, continuous delivery to Steam and in general, making sure we keep the build stable as much as possible.

All quality assurance pipelines are described in a single, easy to read document so that everyone in the team is able to read up on it should they need to.

Here are some things I've worked on that fall under my role as quality assurance lead;

Unreal Engine
Unreal Engine
Perforce
Perforce
Jenkins
Jenkins
Continuous Integration

For continuous integration, we are using Jenkins, which periodically checks for changes in our Perforce depot, and if there are any, it triggers a build for the different platforms we support. (Windows and PlayStation 4) This is done for both the development and shipping configurations. When a build succeeds or fails, a message is sent in Discord to notify the team about this.

Continuous Delivery

Through the approach of continuous delivery, Jenkins automatically uploads successful Windows shipping and development builds to Steam and push these to separate branches. This ensures we always have the latest build available on our machines with Steam keeping it updated automatically.

Crash Reporting

I've been responsible for setting up the Unreal Engine crash reporter to post crash reports to my Sentry server. This allows us to see when and why the game crashes and aids us in improving the game.

Sentry Logo
Sentry
Swarm Reviews

I've been responsible for setting up the Swarm review processes that the team follows. The process is set up in a way that allows us to enforce continuous delivery, by always having a stable build ready to deploy to Steam.

Swarm Review

Tech Lead

During the second half of the project, I took the role of tech lead. This included some of the following tasks;

  • Presenting progress of the team to the project stakeholders.
  • Setting goals for every sprint for the programmers in the team.
  • Organizing stand downs at the end of the day with the programmers to give each other progress updates.
  • Making sure everyone on the team is happy.

You have picked up the role as lead programmer very well. Honestly you are the best tech lead I have come across. You take your role very seriously and are actively involved in many sections of the project, not only tech. Your behavior and communication is very professional.

Arthur Kuylaars - teammember on this project