During my time at Ubisoft Reflections, I helped to develop the game Driver: San Francisco in two ways:
- As a Tools Programmer
- As a Mission Scripter
Tools Programmer
As part of the Tools Programming team, we are tasked to maintain the in-house toolchain in use for asset development for the titles in production. This included:
- Troubleshooting user problems with the tools
- Developing solutions to bugs that arise in the tools
- Develop new solutions and new tools to meet the requirements of the users as assets are developed
This involved working within a scrum team, working on a specific amount of tasks during a scrum iteration, and then pulling in new tasks for each next iteration.
The toolchain consisted of tools developed in C/C++, C# .Net, Python, and a mixture of all 3, some of which also interface with the scripting language of Lua.
Mission Scripter
As part of the Mission Scripting team, we are tasked to maintain and add to the collection of in-game missions for the titles in production. This included:
- Troubleshooting user problems with the missions
- Developing solutions to bugs that arise in the missions
- Implement new missions designed by game designers
This involved working within a scrum team, as before.
The scripting work involved working with C/C++ for the game executable, and Lua for the missions.
Near the end of my internship, I was tasked with helping develop a User Interface to allow non-scripters and non-programmers to create missions for the game with no scripting required, as the mission scripts would be generated from the tool itself. This required working in C/C++, C# .Net, and Lua simultaneously. By the end of the internship, the tool developed was working and could generate missions and playtest them all from the UI of the tool.