Cyberpunk 2077 official page: cyberpunk.net
Company: CD PROJEKT RED (Krakow)
Engine: REDengine 4
Role: Scenes Programmer
Work Period: May 2018 – July 2020 (2 years, 3 months)
I was part of the team working on the Scene Editor, the tool used to create interactive scenes (dialogues/cinematics); and the Scene System, which is in charge of running the scenes in the game.
While working on the Scene System I also worked and refactored code related to other systems of the game. Giving me a broader view of the project and learning about other fields like AI and Gameplay.
My main focus while developing the Scene Editor was to develop intuitive and easy to use features so that content creators could work in the most productive way possible.
Summary of my work:
- Designed, pitched and implemented a more intuitive pipeline to build interactive cinematics that integrated gameplay and narrative.
- Communicated with editor users to develop features in the most suitable way for them to work.
- Implemented part of the pipeline used to create the interactive cinematics of the game.
- Collaborated with different departments to develop features and fix bugs.
- Implemented small changes and fixed bugs on a weekly basis to improve the editor UX and stability.
- Parallelized specific editor operations to speed up iteration time.
- Helped content creators understand and solve content bugs to allow them to work more efficiently in the future.
- Refactored and worked in gameplay systems outside the Scenes (i.e. AI and Gampleay).
- Traveled sporadically to the main studio in Warsaw to discuss ideas and develop features in collaboration with other programmers.
More info about the Scene System and Scene Editor
Although the tool used for Cyberpunk 2077 is based on the one used in The Witcher 3, is good to note that CP uses a different engine to TW3 and that the perspective of the game is different (first person in CP; third person in TW3). Those details made the development of the tool for CP different in some ways and created some new challenges to be solved.