For a personal project, I wanted to recreate rollback netcode(details below)
https://en.wikipedia.org/wiki/GGPO
I run into a problem with trying to get peers to connect with each other. If I run two instances of my program on the same machine, they connect just fine, but if I run two instances of the program on two different machines on the same router or different routers, they fail to connect. It seems that the problem has to do with NAT. A lot of my searches show that peer to peer solutions often use a relay server to get around this problem, but I wanted to know if it was possible to do peer to peer with out a relay server. Is this even possible and how?
Any help would be appreciated.