There are a lot of misconceptions about zero-sum games being bandied about.
A futures contract (commodities, wheat, currency, etc) is a zero-sum game. This means when a contract is opened one person takes the long side and another takes the short side. Of every contract! If the price goes up (or down) one person loses exactly as much as the other person gains. If the contract changes hands along the way, it makes no difference. All the gains on that contract exactly match all the losses. That’s what makes it “zero-sum”, when you add up all the gains and losses you get zero. And you are competing against professionals, experts, who have direct lines to the wheat exchanges and weather stations in the wheat growing areas etc. They will make money. That means you will lose money.
An options contract (put or call, etc) is a zero-sum game. This means when a contract is opened one person takes the long side and another takes the short side. If you sell a call, someone else is buying it. When it finally expires or is closed the whatever one side has gained the other side has lost, and vice versa. And again, you are competing against professionals. (That doesn’t mean you can’t use options for other purposes, like hedging or insurance, but don’t kid yourself that you are going to make money in the long term (unless you are an expert yourself)).
Playing roulette or betting on sports events are definitely not zero sum games. The house gets a cut and in the long run bettors, on average, lose money.
The stock market is not a zero-sum game. When the price of a stock goes up, everyone invested in the stock makes money. When it goes down, everyone invested in the stock loses money. BUT, on average, the stock market goes up, so, on average, people who invest in the stock market make money. Note how this is different than a futures contract, for instance. When you buy a stock, in general the person selling it isn’t short it, they are out of it. They no longer care if it goes up or down. If it goes up, they don’t lose money as they would if they had sold a futures contract that was going up. A stock is not zero sum because there is no balancing short side of every long contract.
Hope this helps.