Pixel Tennis Progress

Announcements and updates regarding Pixel Tennis' development
Locked
User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Pixel Tennis Progress

Post by WongKit » Sun Jan 28, 2018 7:14 pm

Although I cannot give you a release date, I want to provide "some" transparency regarding the development of Pixel Tennis.

Below, you can see a very basic progress chart. The blue bars indicate, how far (in %) I am to complete the game. The grey bars indicate the remaining effort required for releasing Milestone 1.

That's right, there will be milestone releases for you to test. Consider them as early alpha versions or technical demos. The reason for that is very simple. Before finalizing the game, a lot of work needs to be done - a lot of work that I am planning to invest in my free time. With Milestone 1 (or even before), I am able to see how many people like and/or support my work. Depending on this, Pixel Tennis's future will be decided.

I hope you understand that there is no motivation if there is nobody that is interested in this project

pixeltennis-progress-20190106.png
pixeltennis-progress-20190106.png (4.34 KiB) Viewed 671 times

Btw, the category order of the chart has nothing to do with priority. My LibreOffice just wanted to mix them randomly at a certain time.

Website / Forum
As you can see, there is a website / forum. pixeltennis.de is located on a German paid hoster with SSL support and more than enough capacity.

Database
The game uses an SQL database hosted at pixeltennis.de

Networking P2P
Unity's networking system works out of the box for local connections. If you want to connect via internet, they only offer a paid method which costs per connected user which is too expensive for me.
As an alternative, Pixel Tennis currently uses a one-time-fee third party library that tries to establish a peer to peer connection. It greatly reduces server load, but can also fail in 5-10% of certain system configurations. P2P also means, that the whole multiplayer logic is handled by the clients alone.
As announced on 03/2019, it is planned to switch from peer to peer connections to a semi authoritive server instead.

Network Gameserver
The main gameserver is hosted on a dedicated Linux machine at a paid hoster. It keeps track of accounts and ingame progress. The user account login is handled by an external interface that verifies against your forum login.
The current version already can provide character data, chats and control creating and joining rooms.
As announced on 03/2019, the game server will also handle multiplayer logic in the future.

Animation
Beside basic animations like rotating a smash circle or giving the ball a nice trailing effect, nothing is done. Things like character animation or certain camera scenes will be done much later.

Shop
Nothing to see here. Btw, there will be no pay to win gatcha coins - never :)

Item System
I know, collecting items is a very motivating part of the game, but Milestone 1 will not have anything like this at first.

Bots
Not even started. I only have basic ideas on how to achieve this.

3D Modeling
3D Modeling is a very big topic which will require much time and effort. Luckily, a prototype can also be made of basic shapes.

Character Design
Same as for 3D Modeling. The current player model of Pixel Tennis just looks like Pikachu (without face, ears, arms, legs and tail...)
As posted in Your opinion on Pixel Tennis future art style, Pixel Tennis will most likely get a pixel art style to greatly reduce 3D modeling and animation work. I am still looking for a 3D artist in Searching someone for 3D modeling and animation.

Leveling System
Important as well, but not on my priority list. Will not be in Milestone 1.

UI
A very basic user interface is can be seen in [devblog] Pixel Tennis – menu & online gameplay.

Gameplay
Running, Charging and hitting a ball (Stroke, Lob) works in network mode, even special shots are available. The camera follows the player.
Btw, the court position logic (which player stays where in 1on1 or 2on2 at which state) was awful to implement...


//Note: You cannot reply to this topic, because it is only intended to work as a kind of changelog :)
Somehow related to an online tennis game.

Mister Ad
Google Advertising

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Fri Feb 09, 2018 10:27 pm

Database
Verified a way to use the forum account credentials to log into the gameserver.

Networking P2P
Revised player state synchronization to reduce delays on the local client.

Gameplay
Score system implemented which determines points for the certain player. The score is currently handled internally and not visible as there is no UI. Fixed serve-ball-hit-ground-target-position
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Wed Feb 21, 2018 6:52 am

Database
Created SQL database model

Gameplay
Added advanced moves and skillshots (see viewtopic.php?f=2&p=162)
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Sat Mar 31, 2018 4:47 pm

UI
Menu system for login and character selection added. Lobby and Room system basics implemented.
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Sun Apr 01, 2018 3:55 pm

Networking P2P
More tests on P2P networking - fails on my system when UPnP is disabled. Error handling and fallback connections required.

Network Gameserver
First test with externally hosted gameserver made. Success!
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Mon Apr 30, 2018 4:53 pm

Networking P2P
Revised P2P networking to check connectivity before actually loading the match. Makes sure that all clients successfully loaded the match scene before starting it.
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Sat May 12, 2018 1:17 pm

Network Gameserver
Added ingame chat (lobby, room, room team)

UI
Added room team chat
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Tue May 22, 2018 5:53 am

3D Modeling and animation
Added basic (really basic) player animations for running and jumping towards ball
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Sun Jul 15, 2018 8:50 pm

Database
Interface implementation for main functions like reading character data and item handling by BoneD.
Added account verification based on forum login
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Mon Sep 10, 2018 7:03 pm

Networking P2P
Improved exception handling on connection loss.

Network Gameserver
Rewriting complete server/client logic to make it independant from Unity core for performance and resource usage reasons on server side.
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Sun Oct 28, 2018 12:41 pm

UI
Fixed player states (ready, master) when room changes (player switch slots, room details updated etc).
Return to room after match ends.

Network Gameserver
Rewriting database validation and replaced engine for better performance
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Tue Nov 27, 2018 7:37 pm

Gameplay
Added sound for ball hit and miss
Added music to menu and courts
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Fri Mar 01, 2019 7:16 pm

Network Gameserver
Complete network communication protocol rewritten. All changes lead to a 4x performance increase at about 1/10th of data usage!

The old logic worked still good enough for the game server, but...

Networking P2P
... Pixel Tennis multiplayer will switch from UNet peer to peer to a semi authoritative server. This means, that the server needs to process a lot more data making the mentioned network optimizations mandatory. You can read the reason for the switch here.
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Mon Mar 18, 2019 5:56 am

Networking P2P
Starting to develop custom replacement methods for UNet's build in functions. This includes, object spawn handling, message handling on object base and smooth player position synchronization across a match hosted on the semi authoritative server.

Although, this does not have any visual effect, it requires a lot work and refactoring (more than 500 lines of code added/changed in the past 2 weeks). Thanks Unity's UNET deprecation...
Somehow related to an online tennis game.

User avatar
WongKit
Pixel Tennis Developer
Posts: 95
Joined: Sat Jan 27, 2018 3:07 pm

Re: Pixel Tennis Progress

Post by WongKit » Sun Mar 24, 2019 7:26 pm

Networking P2P Gameplay
Switch from UNet peer to peer to a custom network implementation is mostly done. Pixel Tennis' match networking logic will now run through a dedicated server located in Germany.

Pros:
- Increased network compatibility as no direct connection (port forwarding + firewall madness) is required anymore
- Better protection against client manipulation
- Restored compatibility to future Unity Engine versions

Cons:
- Increased server load
- Players connecting far away from the server location will experience higher pings as before. However, additional dedicated servers at different countries can be established later if required.

Pixel Tennis Dedicated Server.png
Pixel Tennis Dedicated Server.png (41.68 KiB) Viewed 432 times

I learned very much about message handling, serialization and networking in general. Although this task required so much work and did not bring new features, it was still a very important step towards Pixel Tennis' future.
Somehow related to an online tennis game.

Locked

Who is online

Users browsing this forum: No registered users and 1 guest