Tiantian Hunter
Jul 2015 to May 2016
MMORPG with a side-scrolling battle system on mobile platforms. Player act as a character who is learning about battle in the Demon Hunting School. We use Unity 3D and C# in this game.
Overview
- Role: Front-end Programmer
- Team: 16 People, 4399.com
- Tools: Unity 3D, C#
- Platforms: Android, iOS, Windows
Responsibilities
- Story Scene System
- Windows PC version
- Activity System
- Clan System
- Weapon Upgrade System
- Pet Equipment System
Cutscene System
Cutscene System system is the most challenging task I finished in this project. My task was to design and implement Cutscene System System which moves camera and characters to film scenes, and display dialogues during the playback.
Problems
- Entirely new system, no similar system before
- Complex logic of playback sequence
- Nontechnical user (User is the designers)
Solutions
- Discussed with designers to understand the requirement. To put it simply, we need support for character movement, character animation, character talking and camera movement, and play these clips in a “reasonable” sequence. Dialogues were driven by user clicking, and motions plays at a fixed time. And user clicking can only affect the story playback speed within a certain range.
- Find a program procedures correspond to the logic of Cutscene System steps. I decided to divide these clips into 2 type, motion clip and dialogue clip. And also divide scene into stages. In each stage of the scene, two types of clips are played independently, but they wait for each other until they both finish. When both type of clips are finished, the scene enter the next stage.
- Designed a configuration to control the camera movement and scene change. I put those configuration in a XML file. Dialogues is wrote in it step by step. Motion sequence is wrote with specific position, angle, start time, duration, speed and animation.
- Taught designers and solve new problems. I modified the program if I found any difficulties for nontechnical people to use. For example, I used the camera position and camera target position to define camera movement at first, but later I found that It was not easy to understand without solid knowledge of space geometry. So I modified the program to use camera position and camera rotation as parameters, which were much easier to obtain.
Result
- Successfully created a powerful system which was easy to use and works well.
- Cutscene System System Screenshots