Notorious Duo


This is a game very similar to those special agents’ invading operations in movies. And it requires the cooperation of two players on two PCs.

Player 1 plays the role of field agent, whose mission is to explore the scene and try to reach the final target room. Player 2 plays the role of hacker, whose mission is to unlock the doors so player 1 can go through, or to give instructions on the best routes that player 1 should take.

My thoughts

This is the first game I made in a game engine (Unity 3D). It also made by my roommates and me. Compare to our first game, the whole mechanic was all designed by myself. In the Mr.Gulp game, we just tried to make a game, so we took the main mechanic which was similar to lots of existing games. (Big fish eat small fish game) We only changed some parts like adding new skills to the player and adding a new mode like time-limited mode to the game. However, for this game, we were trying to design something new. So the initial idea of this game is that I want to make a game for couples. Based on my experience, I thought that generally male and female prefer a different kind of games. For male players maybe they would like to choose action games with a tenser environment or including more fights, kills, and requiring more skills to pass the game. However, for female players sometimes they are more likely to choose a game like a puzzle solving game that provides a relaxing environment without that much violent or tense elements. (It’s not gender bias and it just my personal opinion based on my experience) So I wonder if we can combine these two kinds of games into one game. I was watching Agent of Shield at that time and after I discussed in our group we suddenly realized that our game theme can be about the agents. There is always field agents take actions and office agents that offer back up. That also satisfied my idea about merging different mechanic in one game. We could add action elements to the ‘field agent’ and puzzle solving elements to the ‘office agents’. So we finally decided to make this game.

Challenge and what I learned:

The challenge of this game is mostly on the programming part, we have never used Unity or set up a server before, and no one in our group has ever built 3D models. But we love this idea (Although people said don’t fall in love with your ideas) and we really want to implement it into a real game. So we decided to take this challenge! I spent three weeks learning about Unity and Photon Server and finally figured how it works. My dear friend Issac made those gorgeous models and implemented the basic movement function while Jason worked on multiple small games on the 2D scene and Issac’s girlfriend helped us on the database and the documentation. Compare to the first project, this time we have more clear tasks for everyone. I think that helped a lot to improve the teamwork efficiency. Everyone has a task on what they want to do and what they good at really helped a lot. (If you ask me to make a model, I will take a year) This time we also limited our scale, we wanted to make one complex single level rather than multiple simple levels. However, we still had some problems if look back from now. We didn’t use Github or some other online sharing repository software to manage our code and version, and the scale of this game is still too big for us. We didn’t have enough time to design and implement more complex 2D games to make those interactions more sensible and interesting. So this project is basically a demo for the mechanic and it shows that what can we do. As a game, I think we still need to develop more interesting and relative interactions between 3D and 2D players.

Anyway, I enjoyed the time making this game. It felt amazing when you learned something and use it to create your own stuff, and I would like to share a moment of a discussion about this game between Issac and me although it might look dumb now.

(I was trying to figure out how to transmit the 3D coordinates and transform it to a 2D map in real time for a week but I still couldn’t find a way to do that)

Issac: Okay, so we almost finished the 3D scene, how is that coordinates stuff going?

I: No idea man, this photon plugin only offered method that synchronizes 3D position in two scenes. I was trying to look at the source code to get the actual coordinates but it seems packaged in multiple methods and I have no idea about how to match the 3D coordinate to a 2D map.

Issac: That’s the main function in our game, if we can’t do that, it will change the whole game, and you know I am also struggling about drawing a 2D map, it’s difficult to make it exactly same.

I: Yes, I know, but for now I just know how to synchronize 3D position. Do you think there is another way to do that?

(Silence for a while)

( Issac is rotating the camera in Unity randomly, and I am watching the scene and suddenly an idea come to my mind)

I:Hey! Wait! How about…

Issac: Yes! We can use 3D scenes for both and we just change the camera position. We give them top-down view so that it will looks like a 2D map.

I: Yes! We even don’t need to make a 2D map, because the top-down view is a 2D map!

Issac: Perfect! How about the different layer in the castle?

I: We can just change the camera position………..

We finally used this idea solved the problem, the thing I found is that the more time you have spent and the more struggled you were on the problem, the more pleasure you will get by solving it, especially when you are doing something you love. 😀

  • Worked as a Programmer and Game Designer in a three-person Team
  • Assigned the Task and Arranged our Group Weekly Meeting
  • Designed the Game Mechanic and Narrative 
  • Realized Network Data Transmission and Completed the Client Related Functions
  • Personally Deployed Server and Implemented real-time Voice Transmission
  • Made the Video 😀