I would track everyone's working hours. Pay them every month if I have the cash. If I do not have the cash to pay the team every month I would create agreement with them to pay after the game does some actual profit.
The agreement would go something like this.
Team member gets paid percentage of the net income of the game until something like 600,000 and the percentage is equal to the team members working hours percentage of the whole teams working hours.
So if I had 5 team members who worked together for 9,600 hours. One guy worked 1,200 hours. This guy would get 12.5% of the net income cash until something like 600,000 dollars. Which is actually 75,000 for the guy. Now another guy worked 2,240 hours so 23.3% of 600,000 is 139,800 dollars for him.
This to me seems quite equal to me. Though you can always go the way of the royalties and pay something for each asset of the game to those who created them, but with royalties you have to pay them as long as you keep selling the game and new update additions to your game would not bring any more money to your company.
I wouldn't put a cap on it if they don't get paid up front, anyone working for free is taking a significant financial risk and should get a share based on the risk they've taken, reducing the size of that share if things go well is extremely unfair since you're not increasing it if things go poorly.
If anyone brings in existing assets to the team you can discuss that on a case by case basis, if you get exclusive ownership of the assets you should pay for the time spent making them, for non exclusive licenses you pay far less.
Most successful indie teams pay everyone a salary though, it is very rare for the revenue/profit share hobbyists to get anywhere.