Witches Craft is a role-playing adventure game, in which the player may cast spells by combining elements to fight against enemies and solve various kind of riddles.
This game is structured by the three types of scenes: the novel-styled narrative part, the puzzle part and the battle part. In the latter two parts, the player may opens the Spell Book to cast spells or check the spells library.
Each type of the game scenes has specific operations and functionalities.
For example, the narrative part requires the function of proceeding texts by a tap/click with changing character-faces and playing audio effects. The background music also alters along with the phases in the story so that the player may get involved more easily and deeply.
The puzzles receive the player’s spell-input and compare if it matches with the correct solution or not. The player may try again and again until find out the solution, listening to the helper character and referring to the spells library.
The battle scenes accept the player’s input and call automatic actions of non-playable characters and enemies afterwards, which may differ simply by the values of healths. The player needs to retry again from the recent save file (the start scene in prototype ver.) if lost the battle once.
I chose Unity for the game engine, since it would be the most applicable tool for me to build up those three factors of gameplay in Witches Craft.
In this game, nothing is based on the physics engine excepts colliders for the OnMouseDown functions, so I considered other engines as well as Unity in the beginning, such as Tyrano Builder and RPG Maker MV.
Tyrano Builder is originally designed for novel-styled games but possible to handle visual operation like tapping/clicking pictures to input and calculate variables to make a battle scene if you understand Tyrano script which is a quite simple language to learn. As I have used this engine to make novel games before, I thought it could also be a good tool for Witches Craft development. However, in the end I did not choose it because learning Tyrano scripts to create the RPG-ish battle system would take me more time than just using C# on Unity which I had already learnt.
RPG Maker MV is the recent one from the popular series of RPG Maker, which provides not only a more-than-enough basis for the RPG battle system but also an enough infrastructure for the narrative and the puzzle scenes. Those factors are, however, actually the reason why I would not use this engine. In a way I had a bias that the functionalities in RPG Maker games are already firmly built up and they are not flexible to modify along with the game design ideas so that the game may easily lose its originality. Also, I was more familiar with C# language than the language used in RPG Maker MV, so I felt using this engine is like entering a foreign country where I could not communicate well enough to find the best way.
Unity, the one I have chosen, does not usually specify the genre of game. At first I was a bit anxious about building the narrative system on Unity, since the Update function, which is the core of Unity scripts and called every single frame, might not work well with novel-styled games. Nevertheless, I had already got ideas how to programme puzzles and battles and I thought my understandings on C# language would be okay to create narrative scenes as well. I did not even use any assets from the store, as introducing someone other’s scripts would require more effort than I myself create one from zero.
Therefore, Unity was the easiest choice in those three options, and I think I would build the game differently if I had time to learn about another engine.