I'm working on a game that is using a first-person navigation. It's like skyrim in style, NOT IN SCOPE (before anyone decides to re-direct me to a different ambition). The core gameplay and mechanics are similar, such as NPC companions that direct the player to point A, then point B, then leave the player. The world areas are reasonably large, but unlike Skyrim, they are not massive. I'm not using procedural loading so instead of a massive open-world, I have meaningful areas with connectivity. It's a little more like Dragon Age Inquisition in that way, for those who've played. What I want to discuss today is some of my technical ideas and my approach to making aspects of this game. I would like to see what impression the community might have, and take any advice or ideas about workflow using AC.
Collection and Crafting:
In terms of AC, I am using hotspots for harvestables that can be collected one-time only. I don't know how to use hotspots with a time of something like, say, 6 real-time played hours. Should I consider using a timed-node?
Instead of a crafting station, I wanted to do something like - allow player to give BlacksmithNPC a red rock and a green rock, and that interactive Blacksmith NPC returns to the player inventory an item: festive holiday orb, for example. Something like that should be possible, right?
Mecanim/Animation retrieval:
I want to allow my player to block damage with his shield using an animation, in addition to using attack and other animations. Can I just set up a mecanim controller and call this action at a certain time? If t here is a tutorial for this, I would love to see it but I have really only watched the tutorials on controlling simple movement in conjunction to hotspot inspection. Basically, I want to make a controller so my player can enter combat, play animations for fishing and chopping, ect.., so can I provide a controller to allow for that?
I already have an AI system in place, with behavior such as fleeing from the player or attacking the player. The AI system uses it's own controller. The r eason I have to ask about the player's controller is that all AC Players have the paths and other scripts attached, thus I must integrate my custom animation events on the player with that of the default navigation.
I will have more questions over time, I have no doubt. But for now, I wanted to start this thread to see what people might think or get any advice regarding using AC for this project. Thanks!
Comments
1. I don't know how to use hotspots with a time of something like, say, 6 real-time played hours. Should I consider using a timed-node?
In the case of collection, for example - when you pick up an item, you could send a message / call a function you have on a custom script attached to the Hotspot that begins an internal countdown, which then resets and re-enables the Hotspot when it elapses. To ensure this all works within the save system, you'll need to write a custom Remember script that saves/restores the timer's current value - but it's pretty simple and is covered in this general tutorial here.
For crafting, AC's Crafting system is basically just a grid that you can lay down inventory items within to get a new item depending on the combination/layout - so you could re-style the Menu to make it look like an NPC's inventory, but the principle is the same. If you don't need to actually "drop in" each item onto the NPC's inventory grid, and using each item on the NPC hotspot is enough, you can just use standard interactions.
As far as player animation goes, so long as you're using Mecanim things should be straightforward. AC will control the parameters that define it, but nothing more - so if you create a boolean paramater that, when checked, prevents things like your MoveSpeed float parameter from having an effect, then AC won't be able to control it. You would certainly benefit from some custom scripting/separate asset to implement a proper combat system, however.