Preparing for Greenlight was great for getting us on track, and in the process we learned a lot about what really isn't quite right about our game. We went crazy brainstorming, then pulled back a bit on the scope, and now we're in a good place. All that's preventing us from moving forward and becoming the best game is how well we can implement what we have planned, and this week I decided to work on that in any way I can so the following weeks are full of productivity and impressive leaps forward.
Our game is definitely shaping up to be really great. There's a lot of good going on when people are playing, and in just looking around at the levels from the scene view. That said, looking at anything else from behind the scenes reveals a lot of grossness we've been pushing back and adding to. I figured that the best way for us to easily move forward would be to do some major cleanup on what we have now. The two main issues were file structure, and the player's main script. The files we have in Assets are organized into folders based on file type, but that's generally where the folders end. Every scene, script, and most other non-art files are just chucked into their respective folder without any more organization. The first way we're improving this is by adding folders for each area into the scenes folder, so we know which scenes are for the build, for us to mess around and test with freely, and where they are in the game. Each scene's hierarchy has similar issues, and many gameobjects need to be renamed or moved around to make editing scenes a simpler task.
In terms of the player's script, there's a lot that needs improvement. It's very difficult to add anything to it because it has so much of its functionality hard coded in a way that stops everything else from working. Entering a cutscene disables nearly all actions, but it's in a way that we can't properly account for nested cutscenes. Movement is heavily restricted so that all actions can be performed individually, but adding a new movement ability, or tweaking an existing one, requires us to reverse engineer a lot of systems they bleed into (often combat related). Everything needs to be decoupled a bit better so we can quickly iterate on the player moving forward.
Additionally, with all of the cool movement and combat abilities we've planned out this semester (not to mention the frogs!), having a more accessible and flexible player script will allow us to implement these abilities quickly. If done well enough, anyone with basic prototyping skills can test their own custom abilities too! At the moment, however, this is impossible because of how muddled the script has become.
As always, I need to improve upon the NPC/event tool. If I do enough work on this, we will have an extremely easy way to implement our narrative in every corner of the world. It also can support other tasks unrelated to the narrative, like managing data in a way that's designer and artist friendly (i.e. unlocking frogs and abilities), so knocking out a few more events on this will be critical to our level of polish by senior show.