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.
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