Every semsester we have to develop a game in a group. This semester I was the programmer for a game called Virus. Virus is a puzzle game where you play a virus which has to unlock firwalls.
These firewalls have different keyplatforms with different shapes. So the player can change his shape to three different shapes: circle, triangle and square. WIth these shapes the player has to enter the keys with the correct symbol. To unlock firewalls with more keyplatforms the player can clone himself. Now you can control two viruses by clicking them. Each virus can change his shape or can clone hisself again.
At the beginning of the development process we decided to develop the game for Tablets and that we want to create worlds which are devided in levels. So I started to thinking about what kind of tools I can develop for the designers to do the development process faster. I notice me the importent features and talk with the level designer to fit the tools for his imagination. And these are the results:
1. Firewall Tool
One of the key features were the firwalls. The firewalls follows a particular logic which is shown with the green lines from keyplatform to keyplatfrom. The player has to unlock the keyplatforms by order. So I wanted that the level designer can see the order to have always the overview. Furthermore I implemented visual buttons into the Editor for more visuality. With the button "new key platform" and the dropdown menu below the level designer can create fast different key platforms without leaving the Editor. The designer hasn't think about scripts or anything else. When they start the game the firewall is working directly. This allows to build fast bigger puzzle logics and more complex levels.
2. Keyplatform Tool
For cloning and switching shape we have specific platforms. So I wanted that the level designer can decide which kind of platform he needs in a fast way. For this I created the keyplatform tool where you can change the platform type and what they have to clone or to switch. First of all the designer could decide between a platform type. We have two: Clone platform and Switch platform. After that you can decide what kind of shape this platform should clone or switch. WIth the counter below you can set how often this platform allows to clone/switch. And while the designer is changing in the inspector the image of the platform in the editor fits his sprite. We had different sprites for each platform type. With this the designer has always the overview which platform type is currently selected.
3. Laser tool
One of the enemys in Virus was the Laser. We wanted different lasers which have different beahviors. I wanted again that the designer can adjust these different behaviors in one component in the editor. So the designer could change between three Types of Lasers: Static, Rotate, Rotate on action. The designer could change the behavior with the DropDown menu "Type" in the inspector. Again while the designer is changing the behavior the object in the Inspector is changing it's behaviors too. If the designer is setting up "Rotate on action" there appears gizmos. With this gizmos you can set up the angle where the laser should rotate when player ist entering the platforms. Furthermore the platforms always know which rotation they have to trigger. For the overview I mark up the platforms and the gizmos which are a pair with a number. So the designer knows that platform 1 triggers the blue gizmo 1. With a visual button the designer can create fast new rotation point. Finally you have to click only on play and the system knows which kind of Laser you have. For example if the behavior of the laser is "Rotation on action" you can add as many rotation points as you want the system knows dynamically how many points this laser has.
Final work flow: