Hi Chris and everyone,
I'm new to Unity (coming from Unreal Engine, mostly the cinematic side), and I'm currently evaluating Adventure Creator for a detective adventure game.
One of the core mechanics is a camera that the player can use to photograph clues, evidence, and anything they want to remember. Some objects can't be picked up, so taking a photo is how the player "collects" that information.
The system I'm imagining would work something like this:
- The player equips a camera and enters a photo mode.
- They can take photos of objects or scenes.
- The photos are stored in a photo album that the player can browse later.
- Certain photos are considered evidence and are used later in the story (for example, during an interrogation or trial where the player presents photographic evidence to determine the outcome).
- The game needs to know whether the player has taken specific important photos, while also allowing optional "memory" photos that don't affect gameplay.
My questions are:
- Is this something that Adventure Creator is designed to support, using its existing systems (Variables, Inventory, Menus, ActionLists, etc.), or would this require a significant amount of custom scripting?
- Would you recommend treating important photos as inventory items, variables, documents, or some other AC feature?
- Has anyone integrated a camera/photo asset with Adventure Creator successfully?
- I'm looking at the "Dynamic Photo Camera: In-Game Interactive Photos" asset from the Unity Asset Store. Does anyone know if it integrates well with Adventure Creator, or if there are any recommended alternatives?
- Would Playmaker be a good way to connect a photo plugin with Adventure Creator, or is it simpler to do this directly with AC and a small amount of C#?
My goal is to stay as close as possible to Adventure Creator's workflow and avoid reinventing systems that AC already provides.
I'd appreciate any advice on what architecture you'd recommend before I start building this feature.
Thanks!
Comments
Welcome to the community, @BigusManus.
If the game is only recognising photos of specific objects, then I'd say you could likely handle this by using Inventory items - with each Item representing a photo of a specific object. That way, you can reference it in Hotspots / Interactions as you would any regular Inventory item, and keep a record of it in AC's Menus without any extra hassle.
When the player takes a photo, you'd then just need a custom script to work out what they're photographing, and add the relevant item to their Inventory.
If you want the player's actual photo to appear, and not a pre-set texture, then you'd need to store that data separately. It may be enough to convert the photo texture into a string, and then store that string as a Property of the Item. Items can have properties associated with them, and their data can be updated through script at runtime, with such changes being stored in save-games.
You'd need more custom code to handle this conversion progress, but I'd say that'd be a secondary step to adding the correct Item in the Inventory based on what the player is photographing.