So, about four months ago, I started working on a secondary player. Then I tried a few different types of network communication, TCP, UDP, etc. But finally, I found Rottnet, a user library that uses UDP to send and receive messages efficiently. So, I tried it, then I raged a lot, and now I have working net play 3 players,(Although, the animation is f***ed for the third player).The following video shows what I've been doing lately, but the main thing has been online play:
So, here's a brief description of how the online play works; essentially, you can turn on and off animation, rotation, and XYZ value sending. And how it sends the XYZ values, and the rotation values, is through a timer. Whenever you change position, or turn, it then adds to their own respective timers. When the timer is greater than the limit, it sends the message, then goes to 0. And whenever your animation changes, it sends, it then changes on the other person's end. This is done to compensate for slower internet connections, like SonicFreak94's. But I'd say it looks pretty nice for his internet connection, and what his timer limits were at, plus his ping was normal.
So besides online play, what has been created/fixed is/are: Bubbles, Falling platforms, The random monitor, Drowning, Auto-camera mode, A pushable box, Chaos emeralds, An option for a more SA1 styled spindash, An option to change your configuration file before the game starts, A rejoin feature for online play, The badnik partly, Sonic's cell-shaded effect, And character abilities i.e. Jumpdash, Flying, Gliding, etc.