I am currently working on a Mystery Game, where the player has to evolve in a small hamlet and find clues to solve a mystery.
The game is a first person view and the feel is going to be somewhere between the Myst series and a horror game.
I am currently in the early prototyping phase and looking at an efficient way to design my clues. Most of my clues will be in the forms of notes scattered around the game.
I need to design items in unity3d which can therefore:
- have a physical presence in the game world as 3D objects.
- be subjected to close-ups (either to read or inspect).
- be stored in an inventory for the player to consult whenever.
So far I have taken the approach of having the notes fly toward the camera when the player picks them up. I will then have to figure out a way of handling those with an inventory system.
So one could say I have the first two points sorted out, but I'm struggling to see how I could easily stash notes in an inventory.
For the sake of simplicity I will not allow the player to drop items back into the world.
I was thinking of maybe having an "inventory_item" script attached to the game world items and on that script a UI compatible image, so that when the player wants to look up an item again it can see this image as a UI image rather than the physical game object like it has the first time it pick it up.
Alternatively, I could have an inventory script attached to the player with all the UI images already in it associated with an id (say the list index to make things simple). When the player picks up an item, a script on the item, sends a message to the inventory script on the player and adds the id of that item to a another list called "items in bag" on the inventory script. Then the inventory would also have a method which displays in the UI only the UI images of the items for which the id is in "items in bag".
Any suggestions welcome.