PicoLock
My Roles
Programmer, Gameplay Design, Level Design, Sound
Project Description
Gameplay:
PicoLock gameplay is mouse-control only.
Player will use mouse to:
navigate main character
select cards, and apply cards on objects to change their properties
interact with UI
Levels:
PicoLock has 3 levels in total, which is about 30~40 mins experience.
Level1: classic ciphers theme, drawing inspiration from the Caesar Cipher and the Spartan Cipher.
Level2: RSA theme, drawing inspiration from the public key and private key.
Level3: More difficult RSA, introduce the difficulty to use brute-force strategy in deciphering RSA.
My Roles
Responsible for designing and developing:
Core game mechanics
4 cards functionalities: Translate (Move), Rotate, Modify (Change shape), Scale (Change size)
Level 1 Puzzles and mechanics
Interactable Object Effects Implementation
Interactable objects have different effects based on the card player applied to them.
Objects in the scene with specific InteractableBase responds to a specific card type (eg. the ones with IB_Translate will move to next translate slot when player uses Translate Card on it).
Object Model for Script
Inspector for Making Level Design Easier
To make the level design easier, every interactable objects are designed to be easily produced by draging corresponding scripts and assigning data.
Eg. Make an object that can be modified
drag IB_Modify
assign SO_ModifyObjects to set the sequence of object shape change.
Level 1 Puzzle Answer Check Implementations
All puzzles in level 1 require players to change objects to match a specific target, which means we need some answer checkers to check the current status of interactable objects.
The checker logic is listed below, with hierarchy: CipherTarget > IB_CheckerManager > Sub Checkers
Tech Implementation
Use Unity as the platform, and use WebGL to support web-based experience, and use plugins provided by PicoCTF to build on their website.
Our final build is on PicoCTF's Official Website, which requires an account signing up. In this final version, students can save/load their progress under their account.