General guidance and Advice for a mobile Mafia-werewolf game

Hello there ! This is a call for guidance in a very broad and general sense. I am trying to create a game similar to werewolf where the game/app would be acting as the game moderator. I am a complete newbie to godot and game dev in general and all I have is a quite basic knowledge of programming (quite quite basic).

Game overview:
Team based game where the majority of players do not know who are the 2 secret bad/werewolf players. Each player has a unique character with a unique ability that gives them some type of information or action, for example:

  • One player might start the game knowing another player’s role/character.
  • One player can choose and kill another player every Night
  • One player might choose 2 players every night and learn if any is a werewolf.

Players cycle through a series of days and nights where people die or are executed by the group in a democratic vote until only 2 players are left or the bad guys have died.

This is meant for IRL play with 5-6 humans in the same room passing out a phone/tablet to play the game. At “night” The app would ask to pass the phone to a specific player before secretly revealing some information or requesting player input (depending on player’s character) and this would keep going until all players had the phone in their hands. During the day players can choose to vote by using the phone as a voting tool and register who they decided to kill. The entire game is purely UI based and will be composed of basic screens with buttons for player choices , voting and moving the game forward. It’s basically like going through presentation slides with some slides having just text some slides having just one button and some slides having multiple choice.

Where I need help:

So I coded most of the basic game logic so far, the different variables needed and some functions to resolve special character abilities. And I can pretty much run each character’s special ability in the console with the correct output. So I needed help to put things together in a structured way in godot so it becomes a playable game/app.

My first question this very general one:

How should I go about structuring this as a game in godot?

Should I create One main scene and a game manager node and then toggle visibility of different UI child nodes blocks/cards?
Should I create one scene per “slide/UI flows” and then switch scenes by relying on singleton scripts for tracking global game variables (who’s alive, dead etc…).
Some special abilities require the same UI/interaction like [choose a player] but the outcome is different, should these be the same scene or 2 completely different scenes. I am not even sure which nodes to use and how to structure them for something like this. Most tutorials cover character movement, tiles, sprites, enemies etc but it’s not really what I am trying to do here.

Basically I am not sure what a good approach would be here overall.

My second question is around using multitouch as a way to vote:

What I would like to do is to use the phone’s multi touch feature to create a timed voting system where the phone registers who has their finger on the phone at the end of the countdown. Each player would have a designated colour and area on the phone when voting happens. I have no idea how that would be done. Is it as simple as listening to simultaneous events with 6 buttons?

Let’s start with all that but then I am also happy to share the current godot project file I have if needed.

Thanks for reading anyways ! :smiley: