Game
Project Sky Conquerors
7 years ago

Connection between players.


Hello everyone and welcome to the second (and my first) dev blog! My name is Kevin and I work on Sky Conquerors as a programmer. My main focus is game networking but you will probably see me write about non-network specific programming stuff a lot, since there are only 2 programmers in the group.

So far the group have been working on the project for 2 weeks, so we’ve mostly been planning on the game mechanics, gameplay, basically how the game should look when it’s finished. With account to this we have been working out on which tasks that will be required to do.

The first task assigned to me were to create the player character’s aerial movement mechanics for early development testing. As of now the player can eject up in the air with a constant speed for a couple of seconds, or until the player releases the jump button. This mechanic will be changed when the fuel system is implemented.

Now over to my favourite part, networking.
Since finishing the aerial movement (testing) mechanics, I’ve been working on connections. What I’ve done so far is implementing an early stage server browser, which currently only works with LAN. As well as connection through IP, which also works over the internet.

5d0a9e6f62484.gif
5d0a9e74b088c.gif

However there is a problem with the current connection “design”, and that is that the server is also a client. The reason why this is a problem is that the server is the one telling all the clients what’s happening. In other words the host holds the maximum allowed movement speed, players health, damage, positions, etc. If the host can also participate in the game he/she can easily cheat by using speedhack, teleport, or even by telling all the clients that they’ve been killed.

To fix this, the host should be a dedicated server, which means it can’t participate. This will both greatly prevent cheating (but not completely) and allow the server to be running on a separate computer from all the clients. Which means that the one who would need to host the game, wouldn’t require as much processing power for both hosting and playing.

However the connection design currently works for testing purposes so this will be worked on when other necessary tasks are done.

This week I will start working on the lobby. It isn’t clear yet how the lobby will look on the day of the game’s first release, but I’ll start by doing a temporary (and probably ugly) lobby menu, just to get something to test the lobby on.

My goal is to implement:

  • Player information
    Such as how many players there are in the lobby as well as their names.

  • Map selection
    Option to vote for which map to play next.

  • Leave buttons
    This should be obvious but players probably should have the option to leave without force quitting the game.

Some things that might need to be implemented in the future are:

  • Player interaction
    Such as muting a player, view his/hers account stats, add as friend, etc. If we implement any similar feature to the game.

  • Settings
    Option to change most of the settings available in main menu’s settings.

That’s all I have to say this time. Be sure to read my blog next tuesday to get more info about to progress of the lobby.



0 comments

Loading...

Next up

Smile! Here, take some happy pills! ✨💊 #Blender #3DModelling #3DArt Buy me a Ko-fi: https://ko-fi.com/barbarafb_

Fan art for Foolish I'm feeling kinda better so I drew this

I was bored, so... ManutKat.

Updated the chest in the maze, adding sound, particles and better animation. But what's in the chest?

Werehog transformation process. #sonicunleashed

The whole squad is here!

Interested? Follow me!

A Shiny Mega Gengar 🌟 For @ManutkArt 's #ThreeColorsChallenge!

Showing off player 2 😎

What do you think?

I worked so hard to get all four of them to the end safely, but then...

brung back my old oc plus a new one

...they don`t have names yet tho