I wanted to come here to get quick round of suggestions.
1. The game I'm working on starts off with a fixed, static town screen(think King's Quest) in which the character can't move and he must use the cursor to mouse over a hotspot to 'talk to a person', 'visit a home', 'shop at the market'. The perspective is first person, and again, the scene is static; the play is restricted from moving and can only use the mouse to make selections.
2. After leaving town, the field is 3D, just like in Mount and Blade or an old school JRP. It is meant to be overhead like Mount and Blade or an Old School style JRP. There are random encounters which impede progress, but essentially, I switch from 2.5D/first person to 3D/third person upon load scene.
3. My random encounter is a fixed 2.5D screen, but as of now, I do not have the combat system hooked up to Adventure Creator. The only reason I would have to hook the scene up to adventure creator is because I have persistent game objects, like Gold(currency) to be acquired during the battle and then upon leaving the scene, added to the adventure creator inventory. Does anyone know if I must make this an adventure creator scene, or a way to add/subtract an item from adventure creator inventory using a non-adventure creator scene? I assume it's not possible.
My biggest question in regarding this design doc is: how do I account for changing point of view and changing from point and click at some points in the game? And how can I utilize my battle system with adventure creator --- as in, my variables I need to carry to the next scene, such as experience, or money earned during battle?
The screens below capture the design direction of the game camera and controller-wise:
A first person town/interior screen that is point and click/disallows player movement.
See the man on the horse and the 3D world view?
And here, below, is the way battle scenes will look. I'm not working with 2D sprites at any point, just to be clear. Mine is using 3D models with a fixed camera in some places.
Comments
All of AC's variables and settings can be accessed via script. It would be quite simple to add/subtract currency to an AC inventory item. Right-click on the item's Quantity on start field in the Inventory Manager (temporarily enable Carry on start? if it's not showing) and you'll be able to copy the API reference to it to the text buffer, e.g.:
You can then use that in a custom script to read/write the amount of an inventory currently being held (assuming it is held by the player).
The same can be done with AC's Global Variables. See the scripting guide for more.
Bear in mind that AC also allows for the use of local player prefabs. If a Player object is present in the scene file itself, then that Player will be used instead of the "default" Player prefab in the Settings Manager for the duration of that scene. Therefore, you could avoid the need to switch players by simply having the correct Player placed locally in each scene.
Using the Engine: Manage systems and Player: Constrain Actions to change gameplay between scenes is perfectly valid.
Even with AC, you're going to have to resort to a custom script to detect if the player is moving or not. Rather than checking for the Input, it's better to check for the player's charState variable:
if (AC.KickStarter.player.charState == AC.CharState.Moving)
{
// Player is moving
}
public int encounter;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
encounter = Random.Range (1, 2500);
if (AC.KickStarter.player.charState == AC.CharState.Move) {
if (encounter <= 40){
Application.LoadLevel ("BattleTemplate");
}
}