I share the thought that the first impression looks promising. Now we have to wait and see. For "family gamers", which I believe is still Nintendo's primary target group, it looks like a nice next step.
Those are interesting questions. I will just give some general but related thoughts to get you started:
- many games have tutorials to learn the basic gameplay. Use them
- A.C games have a story driven main mission line and numbers of additional quest (which are optional). If you like hunting down treasures or slaying people (in game), go ahead if you want, but it's not mandatory to finish the main story/missions (this type of game is calles a open world RPG style)
- most games allow the player tp slip cutscenes, just try the buttons on the controller (there arent many ), sometimes you do it through the game menu
@Hodgman: really appreciated, your input is like clockwork/ my morning alarm clock
I can start implementing now, will also take the 'VS only' situation in consideration.
Also Fastcall gave me the advice to think about 'unions', but I've never used them so far. From what I've read, this could be a solution where can have 1 shader class, either having a VS, PS or other one. So I'll skip that thought for now.
I understand that this design works like a charm and gives flexibility, but on the other hand, it's not something I could create in my sparse spare time. So let's try to draw some conclusions/ answers out of your design, which might help me in taking the next small step (with maybe a system like you described as a long term goal):
- it's not useful/ worth it to handle a VS and PS as a completely different object
- in practice you should 'author' an 'Effect'(shader) which consists of a passes, a vertex shader, pixel shader, maybe a geometry shader and more
-- the effect can have many/ multiple permutations (like the ubershader principle)
- a VS should always be linked to some PS and the other way around;
-- chances that you'll be mixing VS/PS combinations in runtime, independent from the assets/ content you load.
- this also means that there should be a balance in codebase/ design flexibility and assumptions on the pipeline/ content generation.
They cannot live separately..
From this I conclude it might be actually better to create 1 class for an 'effect', for now having just a VS and PS.