Rivalry cover
Rivalry screenshot
Linux PC Mac Steam
Genre: Fighting, Simulator, Strategy, Indie

Rivalry

Rivalry Status Update #42 - Network Rematching

It was difficult to get any work done during both last and this week as I am now in the middle of my assessment period. However I did manage to get some work done on networking with the development of rematching. I have created a new “Rematching UI” that will get triggered if anyone at the end of a game presses the rematch button.



This allows people to vote to either leave the game entirely or restart the existing game with the same players. People who vote to leave the game will still get the chance to see how other players are voting allowing them to change their vote. Or they can then click continue they will instantly leave the game. If a player votes to rematch and then presses continue they will jump to the player and weapon selection screen for the rematched game. If after this not enough people vote for a rematch the game will become public again allowing other new players to join.



I underestimated the complexity of the issue and found that it will be even more complicated than joining a game as it involves people who could be looking at different screens like the game over screen, share screen or they could be rendering a video. So then it needs to gather everyone up to vote on whether they want to prolong the game session or leave it. The Network protocol is still very slow and there is still lots of bugs that need to be fixed. My goal is to get things feature complete before I start tidying and optimising

Rivalry Status Update #41 - Work on Network Blood and Replay - New Version 0.41 Released

This week I worked on getting blood and the replay/social media sharing feature working after a network battle. Previously the client machine could not see any blood while in a network fight while the host machine could. So now I have made blood information from the host’s machine get sent to and displayed by the clients machine. There were issues with blood emitter location translations and certain blood values were not being sent because of their type incompatibility with the network protocol. However it now seems to work perfectly so message me if you see anything strange while using networking in the Beta.

I also managed to get the replay feature working after a network game. So now after a network game you can view and share a replay of the fight. However there are still a few edge cases and issues that haven’t been fixed. For example when you are in the replay UI and someone leaves the game it will kick you out of replay UI, but it’s still technically on in the background, meaning when you have another fight the replay UI will be overlayed over top of your current fight ending in utter chaos. There are also other edge cases, like when rendering a video the other players cursors are shown live moving around the screen instead of being played back.

https://www.youtube.com/watch?v=fz2HwS9SXWk

Also if someone cancels a game while you’re rendering a video, your replay will be rudely interrupted by the network game canceled warning.

https://www.youtube.com/watch?v=VnneSNgpSu4

It is still pretty broken as there are many interactions between players and network games that shouldn’t be happening. Next I will work more on fixing edge cases just like these and will go on to work on the network logic behind rematching a network game.

Rivalry Status Update #40 - Working Online Multiplayer, Weapon Impacting and New Version!

Finally after many months of work you can play a game of Rivalry with someone else over a network! If you wish to test it out the feature is currently available on the Rivalry beta. The networking protocol is still very inefficient and there are many features still missing but you can now at last fight and complete a game

This week I finally enabled multiple limbs to be selected and dragged at the same time in networking. I then changed the network protocol so clients can send mouse clicks and dragging information to the host, allowing the selected limb to move towards the client's mouse location. This process means clients can finally move limbs and respond to a host's movement. So it is now possible to have a complete fight.

Another feature which is now functional is having multiple people’s cursors controlling the limbs of the same player at once. So far I have played a 2 vs 2 game which was functional but did suffer from slow response speeds. Currently the largest match you can have is a 4 vs 4, and although it should work in theory, I still have not yet tested it and am not sure how fast the response times will be with the added players and network traffic. I still welcome people to try it and see how they do.

https://youtu.be/2GsJDiS3W4k

However, there are still many network features that need to be completed. Currently, blood information from the host is not being sent to the client. Meaning the host can see the blood (because the host runs the game physics), but the client can not.


(Host side)

The client can still see limbs being torn off or made floppy but that is about all the damage feedback they get.


(Client side)

This early version of networking is also quite slow because of the format I am using to send information. I am planning to change it to a much simpler Binary format which will hopefully speed up response times. There are also various features like replay and rematches that don't yet work not to mention many bugs that still need to be fixed.

During this week I also got to work further on weapon pushing. I experimented with how impacts should travel through the player's body using dividing factors that recursively travel through all limbs. This created some.. weird.. effects.

For example the ability to flick and rotate players into the air (which I am still contemplating how I could possibly use this.)

https://www.youtube.com/watch?v=6luGsXSEKl8

I was wondering if this should be a possible physics option when if I add customisable games, or if this effect could be exclusively for heavy weapons.

I am also wondering if weapon impacting should be used exclusively by heavy weapons like the sledgehammer and battleaxe. It would be incredibly helpful to get If your thoughts on these ideas, so if you have any you can post them in the comments below.

Currently I have disabled weapon pushing as there are too many bugs that need to fixed

Next week I will be working on getting networking features like blood and game over options like replay and rematching working as well as fixing bugs and edge-cases throughout networking.